{"version":3,"sources":["../node_modules/oidc-client/src/Log.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react/index.js","../node_modules/redux-thunk/es/index.js","../../src/isPlainObject.ts","../../src/getDefaultMiddleware.ts","../../src/configureStore.ts","../../src/createAction.ts","../../src/mapBuilders.ts","../../src/createReducer.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/tslib/tslib.es6.js","../../src/internal/Observable.ts","../../src/internal/util/toSubscriber.ts","../../src/internal/util/canReportError.ts","../../src/internal/Subscriber.ts","../node_modules/lodash-es/isArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../src/internal/util/UnsubscriptionError.ts","../../src/internal/Subscription.ts","../node_modules/reselect/es/index.js","../node_modules/redux/es/redux.js","../node_modules/lodash-es/_root.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../src/internal/innerSubscribe.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_getNative.js","../../src/internal/config.ts","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/@imaginelearning/caliper-ts/dist/caliper-ts.esm.js","../../src/lib/units.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/core-js/internals/global.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/lodash-es/isArrayLike.js","../../src/internal/symbol/observable.ts","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../../src/internal/operators/map.ts","../node_modules/webpack/buildin/global.js","../../src/parse.ts","../node_modules/lodash-es/isSymbol.js","../../src/internal/util/hostReportError.ts","../node_modules/lodash-es/_toSource.js","../node_modules/redux-observable/lib/esm/operators.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/_toKey.js","../../src/internal/symbol/iterator.ts","../node_modules/lodash-es/identity.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_Set.js","../node_modules/prop-types/index.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/connect.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/has.js","../node_modules/oidc-client/jsrsasign/dist/jsrsasign.js","../node_modules/jsonschema/lib/helpers.js","../node_modules/lodash-es/isBuffer.js","../../src/internal/symbol/rxSubscriber.ts","../../src/internal/util/isFunction.ts","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_MapCache.js","../../src/internal/scheduled/scheduled.ts","../../src/internal/util/isInteropObservable.ts","../../src/internal/scheduled/scheduleObservable.ts","../../src/internal/scheduled/schedulePromise.ts","../../src/internal/util/isIterable.ts","../../src/internal/scheduled/scheduleIterable.ts","../../src/internal/observable/from.ts","../../src/internal/operators/switchMap.ts","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/is-object.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/eq.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/lodash-es/isLength.js","../../src/internal/scheduled/scheduleArray.ts","../node_modules/lodash-es/_setToArray.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/_isKey.js","../node_modules/lodash-es/_baseGet.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_Stack.js","../../src/internal/util/subscribeTo.ts","../../src/internal/util/subscribeToObservable.ts","../../src/internal/util/subscribeToPromise.ts","../../src/internal/util/subscribeToIterable.ts","../../src/internal/Scheduler.ts","../../src/internal/scheduler/AsyncScheduler.ts","../../src/internal/scheduler/AsyncAction.ts","../../src/internal/scheduler/Action.ts","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/isTypedArray.js","../../src/internal/Observer.ts","../../src/internal/observable/of.ts","../node_modules/react-dom/index.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/@babel/runtime/helpers/inheritsLoose.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../src/internal/observable/throwError.ts","../node_modules/lodash-es/_isIterateeCall.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/redux-persist/es/constants.js","../node_modules/redux-persist/es/stateReconciler/autoMergeLevel1.js","../node_modules/redux-persist/es/createPersistoid.js","../node_modules/redux-persist/es/getStoredState.js","../node_modules/redux-persist/es/purgeStoredState.js","../node_modules/redux-persist/es/persistReducer.js","../node_modules/redux-persist/es/persistStore.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../src/internal/operators/catchError.ts","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/_isPrototype.js","../../src/toUnit.ts","../../src/negate.ts","../../src/common.js","../../src/scope.js","../../src/es5.js","../../src/proxy.js","../../src/patches.js","../../src/immer.js","../../src/index.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_equalArrays.js","../node_modules/lodash-es/_mapToArray.js","../node_modules/lodash-es/_equalByTag.js","../node_modules/lodash-es/_equalObjects.js","../node_modules/lodash-es/_baseIsEqualDeep.js","../node_modules/lodash-es/_baseIsEqual.js","../node_modules/lodash-es/isFunction.js","../node_modules/lodash-es/_freeGlobal.js","../../src/internal/util/isArray.ts","../../src/internal/util/isObject.ts","../../src/internal/util/identity.ts","../../src/internal/util/isArrayLike.ts","../../src/internal/util/subscribeToArray.ts","../../src/internal/util/isPromise.ts","../../src/internal/observable/empty.ts","../node_modules/lodash-es/_cacheHas.js","../node_modules/lodash-es/_arraySome.js","../node_modules/lodash-es/_castPath.js","../../src/internal/util/isScheduler.ts","../../src/internal/observable/fromArray.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/lodash-es/_baseIsMatch.js","../node_modules/lodash-es/_isStrictComparable.js","../node_modules/lodash-es/_getMatchData.js","../node_modules/lodash-es/_matchesStrictComparable.js","../node_modules/lodash-es/_baseMatches.js","../node_modules/lodash-es/_baseHasIn.js","../node_modules/lodash-es/_hasPath.js","../node_modules/lodash-es/hasIn.js","../node_modules/lodash-es/_baseMatchesProperty.js","../node_modules/lodash-es/_baseProperty.js","../node_modules/lodash-es/_basePropertyDeep.js","../node_modules/lodash-es/property.js","../node_modules/lodash-es/_baseIteratee.js","../node_modules/lodash-es/_createBaseFor.js","../node_modules/lodash-es/_baseFor.js","../node_modules/lodash-es/_baseForOwn.js","../node_modules/lodash-es/_createBaseEach.js","../node_modules/lodash-es/_baseEach.js","../node_modules/lodash-es/_setCacheAdd.js","../node_modules/lodash-es/_setCacheHas.js","../node_modules/lodash-es/_SetCache.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../../src/index.ts","../node_modules/lodash-es/_baseSome.js","../node_modules/lodash-es/some.js","../../src/internal/OuterSubscriber.ts","../../src/internal/InnerSubscriber.ts","../../src/internal/util/subscribeToResult.ts","../../src/internal/operators/withLatestFrom.ts","../node_modules/webpack/buildin/harmony-module.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/set-global.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/to-integer.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/array-method-uses-to-length.js","../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/url-parse/index.js","../node_modules/url/url.js","../node_modules/jsonschema/lib/scan.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/symbol-observable/es/index.js","../node_modules/lodash-es/isEmpty.js","../node_modules/path-to-regexp/index.js","../node_modules/react-device-detect/dist/lib.js","../node_modules/redux-persist/lib/storage/index.js","../node_modules/oidc-client/src/ClockService.js","../node_modules/oidc-client/src/Global.js","../node_modules/oidc-client/src/WebStorageStateStore.js","../node_modules/oidc-client/src/JsonService.js","../node_modules/oidc-client/src/MetadataService.js","../node_modules/oidc-client/src/JoseUtil.js","../node_modules/oidc-client/src/JoseUtilImpl.js","../node_modules/oidc-client/src/crypto/jsrsasign.js","../node_modules/oidc-client/src/UserInfoService.js","../node_modules/oidc-client/src/TokenClient.js","../node_modules/oidc-client/src/ErrorResponse.js","../node_modules/oidc-client/src/ResponseValidator.js","../node_modules/oidc-client/src/OidcClientSettings.js","../node_modules/oidc-client/src/UrlUtility.js","../node_modules/oidc-client/src/random.js","../node_modules/oidc-client/src/State.js","../node_modules/oidc-client/src/SigninState.js","../node_modules/oidc-client/src/SigninRequest.js","../node_modules/oidc-client/src/SigninResponse.js","../node_modules/oidc-client/src/SignoutRequest.js","../node_modules/oidc-client/src/SignoutResponse.js","../node_modules/oidc-client/src/OidcClient.js","../node_modules/oidc-client/src/RedirectNavigator.js","../node_modules/oidc-client/src/PopupWindow.js","../node_modules/oidc-client/src/PopupNavigator.js","../node_modules/oidc-client/src/IFrameWindow.js","../node_modules/oidc-client/src/IFrameNavigator.js","../node_modules/oidc-client/src/UserManagerSettings.js","../node_modules/oidc-client/src/User.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/oidc-client/src/Event.js","../node_modules/oidc-client/src/Timer.js","../node_modules/oidc-client/src/UserManagerEvents.js","../node_modules/oidc-client/src/AccessTokenEvents.js","../node_modules/oidc-client/src/SilentRenewService.js","../node_modules/oidc-client/src/CheckSessionIFrame.js","../node_modules/oidc-client/src/SessionMonitor.js","../node_modules/oidc-client/src/TokenRevocationClient.js","../node_modules/oidc-client/src/UserManager.js","../node_modules/classnames/index.js","../node_modules/mini-create-react-context/dist/esm/index.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/generatePath.js","../../modules/Redirect.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/withRouter.js","../../modules/hooks.js","../node_modules/lodash-es/get.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/toString.js","../node_modules/js-cookie/src/js.cookie.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/is-pure.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/internals/native-symbol.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-to-array.js","../node_modules/object-assign/index.js","../node_modules/react-modal/lib/index.js","../node_modules/react-modal/lib/helpers/tabbable.js","../node_modules/react-modal/lib/helpers/ariaAppHider.js","../node_modules/lodash-es/_overArg.js","../../src/internal/util/pipe.ts","../node_modules/jwt-decode/lib/index.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/stubArray.js","../../src/isNegative.ts","../../src/apply.ts","../../src/between.ts","../../src/isZero.ts","../../src/sum.ts","../node_modules/ky/index.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/symbol-observable/es/ponyfill.js","../node_modules/redux-persist/es/integration/react.js","../node_modules/react-spinners/PulseLoader.js","../node_modules/lodash-es/stubFalse.js","../node_modules/redux-devtools-extension/index.js","../node_modules/gud/index.js","../node_modules/bowser/es5.js","../node_modules/jsonschema/lib/index.js","../../src/internal/operators/mergeAll.ts","../../src/internal/operators/mergeMap.ts","../node_modules/lodash-es/_isFlattenable.js","../node_modules/lodash-es/_baseFlatten.js","../node_modules/lodash-es/_baseMap.js","../node_modules/lodash-es/_baseSortBy.js","../node_modules/lodash-es/_compareAscending.js","../node_modules/lodash-es/_compareMultiple.js","../node_modules/lodash-es/_baseOrderBy.js","../node_modules/lodash-es/_apply.js","../node_modules/lodash-es/_overRest.js","../node_modules/lodash-es/constant.js","../node_modules/lodash-es/_baseSetToString.js","../node_modules/lodash-es/_shortOut.js","../node_modules/lodash-es/_setToString.js","../node_modules/lodash-es/_baseRest.js","../node_modules/lodash-es/sortBy.js","../node_modules/lodash-es/_baseFindIndex.js","../node_modules/lodash-es/_baseIsNaN.js","../node_modules/lodash-es/_strictIndexOf.js","../node_modules/lodash-es/_baseIndexOf.js","../node_modules/lodash-es/_arrayIncludes.js","../node_modules/lodash-es/_arrayIncludesWith.js","../node_modules/lodash-es/noop.js","../node_modules/lodash-es/_createSet.js","../node_modules/lodash-es/_baseUniq.js","../node_modules/lodash-es/uniq.js","../../src/internal/operators/tap.ts","../node_modules/webpack/buildin/module.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/buffer/index.js","../node_modules/core-js/modules/es.array.find.js","../node_modules/core-js/internals/redefine.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/native-weak-map.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/path.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/a-function.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/modules/es.array.find-index.js","../node_modules/core-js/modules/es.array.includes.js","../node_modules/core-js/modules/es.object.entries.js","../node_modules/core-js/modules/es.object.values.js","../node_modules/core-js/modules/es.string.repeat.js","../node_modules/core-js/internals/string-repeat.js","../node_modules/core-js/modules/es.string.starts-with.js","../node_modules/core-js/internals/not-a-regexp.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/internals/correct-is-regexp-logic.js","../node_modules/whatwg-fetch/fetch.js","../node_modules/abortcontroller-polyfill/dist/umd-polyfill.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react-modal/lib/components/Modal.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-modal/lib/components/ModalPortal.js","../node_modules/react-modal/lib/helpers/focusManager.js","../node_modules/react-modal/lib/helpers/scopeTab.js","../node_modules/warning/warning.js","../node_modules/exenv/index.js","../node_modules/react-modal/lib/helpers/classList.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-spinners/helpers/index.js","../node_modules/react-spinners/helpers/proptypes.js","../node_modules/react-spinners/helpers/colors.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/process/browser.js","../node_modules/redux-immutable-state-invariant/dist/index.js","../node_modules/invariant/browser.js","../node_modules/json-stringify-safe/stringify.js","../node_modules/redux-immutable-state-invariant/dist/isImmutable.js","../node_modules/redux-immutable-state-invariant/dist/trackForMutations.js","../node_modules/jwt-decode/lib/base64_url_decode.js","../node_modules/jwt-decode/lib/atob.js","../node_modules/requires-port/index.js","../node_modules/querystringify/index.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/react-is/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/buffer/node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/react-device-detect/node_modules/ua-parser-js/dist/ua-parser.min.js","../node_modules/webpack/buildin/amd-options.js","../node_modules/redux-persist/lib/storage/createWebStorage.js","../node_modules/redux-persist/lib/storage/getStorage.js","../../src/abs.ts","../../src/lib/parseISODuration.ts","../../src/lib/numberUtils.ts","../../src/lib/validate.ts","../../src/lib/cleanDurationObject.ts","../../src/lib/dateUtils.ts","../../src/normalize.ts","../../src/subtract.ts","../../src/toString.ts","../../src/lib/getUnitCount.ts","../node_modules/jsonschema/lib/validator.js","../node_modules/node-libs-browser/node_modules/punycode/punycode.js","../node_modules/url/util.js","../node_modules/querystring-es3/index.js","../node_modules/querystring-es3/decode.js","../node_modules/querystring-es3/encode.js","../node_modules/jsonschema/lib/attribute.js","../node_modules/@emotion/sheet/dist/sheet.browser.esm.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/cache/dist/cache.browser.esm.js","../node_modules/@emotion/utils/dist/utils.browser.esm.js","../node_modules/@emotion/hash/dist/hash.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/serialize/dist/serialize.browser.esm.js","../node_modules/@emotion/css/dist/css.browser.esm.js","../node_modules/react-spinners/node_modules/@emotion/core/dist/core.browser.esm.js","../../src/internal/observable/dom/fetch.ts","../../src/internal/operators/filter.ts","../../src/internal/operators/finalize.ts","../../src/internal/Notification.ts","../../src/internal/scheduler/QueueAction.ts","../../src/internal/scheduler/queue.ts","../../src/internal/scheduler/QueueScheduler.ts","../../src/internal/util/ObjectUnsubscribedError.ts","../../src/internal/SubjectSubscription.ts","../../src/internal/Subject.ts","../../src/internal/operators/observeOn.ts","../../src/internal/util/Immediate.ts","../../src/internal/scheduler/AsapAction.ts","../../src/internal/scheduler/asap.ts","../../src/internal/scheduler/AsapScheduler.ts","../../src/internal/observable/SubscribeOnObservable.ts","../../src/internal/util/isNumeric.ts","../../src/internal/operators/subscribeOn.ts","../node_modules/redux-observable/lib/esm/ActionsObservable.js","../node_modules/redux-observable/lib/esm/StateObservable.js","../node_modules/redux-observable/lib/esm/createEpicMiddleware.js","../../src/internal/scheduler/async.ts","../../src/internal/util/TimeoutError.ts","../../src/internal/operators/timeoutWith.ts","../../src/internal/util/isDate.ts","../../src/internal/operators/timeout.ts","../../src/internal/observable/merge.ts","../node_modules/redux-observable/lib/esm/combineEpics.js"],"names":["logger","level","nopLogger","debug","info","warn","error","Log","args","apply","Array","from","value","Error","reset","_defineProperty","obj","key","Object","defineProperty","enumerable","configurable","writable","module","exports","require","createThunkMiddleware","extraArgument","_ref","dispatch","getState","next","action","thunk","withExtraArgument","isPlainObject","proto","getDefaultMiddleware","options","middlewareArray","immutableCheck","serializableCheck","thunkMiddleware","configureStore","reducer","undefined","middleware","devTools","preloadedState","enhancers","rootReducer","combineReducers","middlewareEnhancer","applyMiddleware","finalCompose","composeWithDevTools","trace","storeEnhancers","composedEnhancer","createStore","createAction","type","prepareAction","prepared","payload","meta","actionCreator","executeReducerBuilderCallback","builderCallback","actionsMap","builder","addCase","typeOrActionCreator","createReducer","initialState","mapOrBuilderCallback","state","createNextState","caseReducer","draft","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","prototype","extendStatics","d","b","setPrototypeOf","__proto__","p","hasOwnProperty","__extends","__","this","constructor","create","__assign","assign","t","s","n","call","__rest","e","indexOf","propertyIsEnumerable","SafeSubscriber","_parentSubscriber","isArray","_extends","sub","defaultEqualityCheck","a","areArgumentsShallowlyEqual","equalityCheck","prev","getDependencies","funcs","dependencies","every","dep","dependencyTypes","map","join","createSelector","memoize","_len","memoizeOptions","_key","_len2","_key2","recomputations","resultFunc","pop","memoizedResultFunc","concat","selector","params","resetRecomputations","createSelectorCreator","func","lastArgs","lastResult","randomString","Math","random","toString","substring","split","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","getPrototypeOf","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","slice","subscribe","listener","isSubscribed","index","splice","listeners","replaceReducer","nextReducer","observable","outerSubscribe","observer","observeState","unsubscribe","$$observable","getUndefinedStateErrorMessage","actionType","String","reducers","reducerKeys","finalReducers","process","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","nextState","_i","previousStateForKey","nextStateForKey","errorMessage","bindActionCreator","bindActionCreators","actionCreators","boundActionCreators","compose","arg","reduce","middlewares","store","_dispatch","middlewareAPI","chain","freeSelf","self","root","freeGlobal","Function","_slicedToArray","arr","Symbol","iterator","_arr","_n","_d","_e","_s","done","err","unsupportedIterableToArray","asyncGeneratorStep","gen","resolve","reject","_next","_throw","Promise","then","_asyncToGenerator","fn","_inherits","subClass","superClass","_typeof","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","result","Super","isNativeReflectConstruct","NewTarget","Reflect","construct","coreJsData","maskSrcKey","uid","exec","IE_PROTO","isMasked","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","RegExp","replace","baseIsNative","isObject","isFunction","test","toSource","getValue","getNative","getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","validate","uuid","REGEX","byteToHex","substr","stringify","offset","toLowerCase","v4","EntityType","buf","rnds","settings","formatDuration","_ref3","years","months","weeks","days","hours","minutes","suffix","formattedSeconds","seconds","milliseconds","text","Caliper","guid","urn","nid","nss","edApp","_temp","id","applicationUri","SoftwareApplication","timestamp","date","Date","parse","now","toISOString","duration","startedAtTime","endedAtTime","start","end","normalize","between","durationMilliseconds","CredentialType","AcademicSessionStatus","AcademicSessionType","CaliperMetric","LessonStatus","LtiMessageType","Role","SelectorType","Status","CaliperAction","EventType","createCommonjsModule","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","method","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","undefined$1","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","name","mark","awrap","async","iter","reverse","skipTempReset","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","createInstructor","Instructor","createSoftwareApplication","createStudent","Student","createUser","User","AssignableActivatedEventSchema","title","required","properties","items","actor","oneOf","$ref","generated","allOf","pattern","eventTime","profile","group","membership","federatedSession","session","referrer","extensions","additionalProperties","definitions","permissions","firstName","lastName","email","description","dateCreated","dateModified","otherIdentifiers","status","Uri","SystemIdentifier","identifierType","identifier","SystemIdentifierType","host","ipAddress","userAgent","version","IPAddress","AssignableDigitalResource","dateToActivate","dateToShow","dateToStartOn","dateToSubmit","maxAttempts","maxSubmits","maxScore","isPartOf","learningObjectives","keywords","creators","mediaType","datePublished","storageName","CourseOffering","courseNumber","academicSession","subOrganizationOf","preferredName","accountManager","professionalDevSpecialist","externalSalesRep","insideSalesRep","territory","Organization","DigitalResourceCollection","DigitalResource","Entity","LearningObjective","Agent","Assessment","AssessmentItem","isTimeDependent","Lesson","domain","gradeLevel","domainOrder","lessonOrder","isAssigned","language","Domain","code","standard","Attempt","assignable","assignee","count","Person","individualEducationPlan","englishLanguageLearner","spanishLanguage","textToSpeech","languageTranslationTools","ProfileType","Membership","member","organization","roles","School","Group","subjects","Class","academicTerm","LtiSession","messageParameters","user","client","Session","UserSession","login","AuthorizationClaims","localTimestamp","loginType","credentialTypes","scopes","LoginType","AssignableCompletedEventSchema","AssignableDeactivatedEventSchema","AssignableReviewedEventSchema","AssignableStartedEventSchema","AssignableSubmittedEventSchema","AssignableUsedEventSchema","BenchmarkEventSchema","Score","scoreGiven","attempt","comment","scoredBy","ConfigurationEventSchema","Configuration","serviceToConfigure","configurationData","ConfigurationData","formatVersion","dataVersion","dataObject","GroupCreatedEventSchema","AcademicSession","dateLastModified","startDate","endDate","schoolYear","AcademicSessionReference","GroupDeletedEventSchema","GroupUpdatedEventSchema","IlpActivatedEventSchema","IndividualizedLearningPath","student","subject","highestGradeLevel","lowestPlacementGrade","lessons","academicSessionId","placementId","IlpDeactivatedEventSchema","IlpIdentifiedEventSchema","InstitutionType","IlpRetrievedEventSchema","createSessionEvent","SessionEvent","None","LessonActivatedEventSchema","LessonCompletedEventSchema","LessonGradedEventSchema","MasteryScore","passThreshold","lessonStatus","LessonResetEventSchema","LessonSkippedEventSchema","LessonStartedEventSchema","LoginFailedEventSchema","LoginSuccessEventSchema","LoginMembership","LogoutEventSchema","MembershipCreatedEventSchema","MembershipDeletedEventSchema","MembershipUpdatedEventSchema","MotivationEventSchema","Collection","AudioObject","volumeMin","volumeMax","volumeLevel","muted","Chapter","Document","Forum","Thread","Message","replyTo","body","attachments","Frame","ImageObject","LtiLink","messageType","MediaLocation","currentTime","MediaObject","Page","Questionnaire","QuestionnaireItem","question","categories","weight","Question","questionPosed","SurveyInvitation","sentCount","dateSent","rater","survey","Survey","VideoObject","WebPage","Award","amount","NavigationEventSchema","NWEABenchmarkEventSchema","OrganizationActivatedEventSchema","District","OrganizationCreatedEventSchema","timezone","institutionType","academicSessions","OrganizationDeactivatedEventSchema","OrganizationDeletedEventSchema","OrganizationUpdatedEventSchema","PlacementActivatedEventSchema","Placement","PlacementDeactivatedEventSchema","PlacementGradedEventSchema","PlacementScore","placementGrade","PlacementModifiedEventSchema","RenaissanceBenchmarkEventSchema","SearchEventSchema","SearchResponse","query","searchProvider","searchTarget","searchResultsItemCount","searchResults","Query","creator","searchTerms","SessionContinuedEventSchema","SessionEndedEventSchema","SessionTimedOutEventSchema","UserActivatedEventSchema","UserCreatedEventSchema","UserDeactivatedEventSchema","UserDeletedEventSchema","_schemas","UserUpdatedEventSchema","_jsonldContext","JsonLdContextVersion","schemas","DEFAULT_CONFIG","dataFormat","V1P1","dateTimeFormat","jsonldContext","feedback","resourceManagement","search","toolLaunch","toolUse","V2P2","uuidVersion","getJsonLdContext","config","subVersion","event","schema","getSchema","_validateSchema","validate$1","errors","valid","stack","Sensor","_ref$validationEnable","validationEnabled","_ref$clients","clients","_proto","createEnvelope","_options$sensor","_options$sendTime","_options$dataVersion","data","sendTime","sensor","createEvent","eventFactory","getClient","getClients","getEdApp","getId","registerClient","sendToClient","envelope","httpClient","validationError","validateEvents","message","queueDeadletterMessage","send","sendToClients","_this","all","unregisterClient","events","isValid","validationErrors","_getPrototypeOf","o","isObjectLike","nativeObjectToString","symToStringTag","getRawTag","isOwn","tag","unmasked","objectToString","baseGetTag","check","it","globalThis","window","global","_objectWithoutPropertiesLoose","excluded","sourceKeys","isArrayLike","isLength","invariant","condition","isAbsolute","pathname","spliceOne","list","k","resolvePathname","to","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","last","up","part","unshift","valueOf","valueEqual","item","aValue","bValue","addLeadingSlash","path","stripLeadingSlash","stripBasename","prefix","hasBasename","stripTrailingSlash","createPath","location","hash","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","locationsAreEqual","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","callback","appendListener","isActive","notifyListeners","canUseDOM","document","createElement","getConfirmation","confirm","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","ua","navigator","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","transitionManager","setState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","url","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","nextIndex","nextEntries","canGo","g","isSymbol","keyHasType","ofType","pipe","len","toKey","identity","listCacheClear","__data__","size","assocIndexOf","array","eq","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","clear","set","get","has","baseIsArguments","isArguments","Map","Set","ReactReduxContext","React","createContext","batch","nullListeners","notify","createListenerCollection","first","Subscription","parentSub","handleChangeWrapper","addNestedSub","trySubscribe","notifyNestedSubs","onStateChange","Boolean","tryUnsubscribe","Provider","children","contextValue","useMemo","subscription","previousState","useEffect","useIsomorphicLayoutEffect","useLayoutEffect","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","updateCount","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","actualChildProps","childPropsFromStoreUpdate","current","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","forceComponentUpdateDispatch","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","initStateUpdates","connectAdvanced","selectorFactory","_ref2$getDisplayName","getDisplayName","_ref2$methodName","methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","_ref2$storeKey","storeKey","_ref2$forwardRef","withRef","forwardRef","_ref2$context","connectOptions","WrappedComponent","wrappedComponentName","selectorFactoryOptions","pure","usePureOnlyMemo","ConnectFunction","_useMemo","forwardedRef","propsContext","ContextToUse","Consumer","isContextConsumer","useContext","didStoreComeFromProps","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","useReducer","previousStateUpdateResult","useRef","renderedWrappedComponent","ref","Connect","memo","forwarded","hoistStatics","is","x","y","shallowEqual","objA","objB","keysA","keysB","wrapMapToPropsConstant","getConstant","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","ownProps","mapDispatchToProps","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","match","factories","strictEqual","createConnect","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","defaultMapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","defaultMapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","defaultMergePropsFactories","_ref$selectorFactory","defaultSelectorFactory","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","useReduxContext","createStoreHook","useDefaultReduxContext","useStore","createDispatchHook","useDefaultStore","useDispatch","refEquality","createSelectorHook","equalityFn","_useReduxContext","contextSub","selectedState","forceRender","latestSubscriptionCallbackError","latestSelector","latestSelectedState","newSelectedState","useSelectorWithStoreAndSubscription","newBatch","useSelector","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","fails","YAHOO","lang","extend","h","superclass","c","j","l","CryptoJS","lib","Base","mixIn","init","$super","clone","WordArray","words","sigBytes","q","r","ceil","m","enc","Hex","parseInt","Latin1","fromCharCode","charCodeAt","Utf8","decodeURIComponent","escape","unescape","encodeURIComponent","BufferedBlockAlgorithm","_data","_nDataBytes","_append","_process","w","blockSize","u","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","x64","Word","high","low","toX32","Base64","_map","v","sqrt","pow","SHA256","_hash","floor","HmacSHA256","T","ea","SHA512","F","G","H","I","J","X","K","Y","L","Z","M","$","N","aa","O","ba","P","ca","Q","z","A","U","B","R","C","S","D","V","E","W","fa","da","HmacSHA512","SHA384","HmacSHA384","dbits","b64map","hex2b64","b64tohex","int2char","BigInteger","fromNumber","fromString","nbi","appName","am","DB","DM","DV","FV","F1","F2","rr","vv","BI_RC","intAt","nbv","fromInt","nbits","Classic","Montgomery","mp","invDigit","mpl","mph","um","mt2","op_and","op_or","op_xor","op_andnot","lbit","cbit","NullExp","nNop","Barrett","r2","q3","ONE","dlShiftTo","mu","divide","convert","compareTo","mod","revert","divRemTo","mulTo","multiplyTo","sqrTo","squareTo","abs","ZERO","subTo","copyTo","drShiftTo","fromRadix","lShiftTo","rShiftTo","isEven","exp","negate","toRadix","bitLength","modPowInt","multiplyUpperTo","multiplyLowerTo","dAddOffset","lowprimes","lplim","Arcfour","chunkSize","LN2","log","signum","intValue","dMultiply","testBit","bitwiseTo","shiftLeft","isProbablePrime","nextBytes","changeBit","addTo","modInt","millerRabin","subtract","getLowestSetBit","shiftRight","modPow","byteValue","shortValue","toByteArray","equals","and","or","xor","andNot","not","bitCount","setBit","clearBit","flipBit","add","multiply","remainder","divideAndRemainder","modInverse","gcd","square","rng_state","rng_pool","rng_pptr","rng_seed_time","getTime","appVersion","rng_get_byte","SecureRandom","parseBigInt","oaep_mgf1_arr","RSAKey","dmp1","dmq1","coeff","ECFieldElementFp","ECPointFp","curve","zinv","ECCurveFp","fromBigInteger","infinity","doPublic","setPublic","isPublic","isPrivate","encrypt","pkcs1pad2","encryptOAEP","KJUR","MessageDigest","Util","getCanonicalAlgName","getHashLength","hextorstr","hashHex","rstrtohex","oaep_pad","toBigInteger","getX","getY","isInfinity","twice","getInfinity","multiplyTwo","getQ","getA","getB","decodePointHex","getByteLength","getEncoded","toByteArrayUnsigned","decodeFrom","decodeFromHex","add2D","twice2D","multiply2D","isOnCurve","jsonParse","shift","asn1","ASN1Util","integerToByteHex","bigIntToMinTwosComplementsHex","getPEMStringFromHex","hextopem","newObject","ASN1Object","DERBoolean","DERInteger","DERBitString","DEROctetString","DERNull","DERObjectIdentifier","DEREnumerated","DERUTF8String","DERNumericString","DERPrintableString","DERTeletexString","DERIA5String","DERUTCTime","DERGeneralizedTime","DERVisibleString","DERBMPString","DERSequence","DERSet","DERTaggedObject","explicit","jsonToASN1HEX","getEncodedHex","oidHexToInt","oidIntToHex","getLengthHexFromValue","hV","hTLV","isModified","getFreshValueHex","hL","hT","getValueHex","setByParam","tlv","DERAbstractString","getString","setString","utf8tohex","setStringHex","str","hex","DERAbstractTime","localDateToUTC","getTimezoneOffset","formatDate","zeroPadding","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","stohex","setByDateValue","UTC","setByDate","DERAbstractStructured","setByASN1ObjectArray","asn1Array","appendASN1Object","setByBigInteger","setByInteger","setValueHex","bigint","setHexValueIncludingUnusedBits","setUnusedBitsAndHexValue","setByBinaryString","setByBooleanArray","newFalseArray","bin","setValueOidString","oidtohex","setValueName","x509","OID","name2oid","setValueNameOrOid","oid","withMillis","millis","sortFlag","sort","sortflag","isExplicit","asn1Object","setASN1Object","tage","tagi","utf8tob64u","b64utoutf8","ASN1HEX","BAtohex","stoBA","b64tob64u","b64utob64","hextob64u","b64utohex","uricmptohex","encodeURIComponentAll","hextoutf8","hextouricmp","hextob64nl","hextob64","pemtohex","b64nltohex","zulutomsec","hextoip","hextoipv6","ishex","hextoposhex","getLblen","getL","getVblen","getVidx","getV","getTLV","getTLVblen","getNextSiblingIdx","getChildIdx","getNthChildIdx","getIdxbyList","getIdxbyListEx","isContextTag","getTLVbyList","getTLVbyListEx","getVbyList","getVbyListEx","getInt","bitstrtoint","getOID","strpad","hextooid","getOIDName","oid2name","hextooidstr","dump","ommit_long_octet","isASN1HEX","oidname","JSON","x509ExtName","checkStrictDER","isHex","Buffer","isInteger","isBase64","isBase64URL","isIntegerArray","isPrintable","isIA5","isMail","DIGESTINFOHEAD","sha1","sha224","sha256","sha384","sha512","md2","md5","ripemd160","DEFAULTPROVIDER","hmacmd5","hmacsha1","hmacsha224","hmacsha256","hmacsha384","hmacsha512","hmacripemd160","MD5withRSA","SHA1withRSA","SHA224withRSA","SHA256withRSA","SHA384withRSA","SHA512withRSA","RIPEMD160withRSA","MD5withECDSA","SHA1withECDSA","SHA224withECDSA","SHA256withECDSA","SHA384withECDSA","SHA512withECDSA","RIPEMD160withECDSA","SHA1withDSA","SHA224withDSA","SHA256withDSA","MD5withRSAandMGF1","SHAwithRSAandMGF1","SHA1withRSAandMGF1","SHA224withRSAandMGF1","SHA256withRSAandMGF1","SHA384withRSAandMGF1","SHA512withRSAandMGF1","RIPEMD160withRSAandMGF1","CRYPTOJSMESSAGEDIGESTNAME","MD5","SHA1","SHA224","RIPEMD160","getDigestInfoHex","getPaddedDigestInfoHex","hashString","alg","digestString","digestHex","sha256Hex","sha512Hex","isKey","DSA","ECDSA","prov","SECURERANDOMGEN","getRandomHexOfNbytes","getRandomBigIntegerOfNbytes","getRandomHexOfNbits","getRandomBigIntegerOfNbits","getRandomBigIntegerZeroToMax","getRandomBigIntegerMinToMax","setAlgAndProvider","md","updateString","updateHex","digest","sjcl","codec","toBits","fromBits","algName","provName","HASHLENGTH","Mac","algProv","mac","pass","doFinal","doFinalString","doFinalHex","setPassword","utf8","rstr","b64","b64u","Signature","_setAlgNames","mdAlgName","pubkeyAlgName","_zeroPaddingOfSignature","KEYUTIL","getKey","prvKey","pubKey","sign","sHashHex","ecprvhex","eccurvename","prv","hSign","signWithMessageHashPSS","pssSaltLen","signWithMessageHash","signString","signHex","verify","ecpubhex","pub","verifyWithMessageHashPSS","verifyWithMessageHash","algProvName","initParams","psssaltlen","prvkeypem","prvkeypas","Cipher","getAlgByKeyAndName","decrypt","decryptOAEP","oidhex2name","ECParameterDB","getName","getBigRandom","setNamedCurve","ecparams","getByName","prvKeyHex","pubKeyHex","curveName","setPrivateKeyHex","setPublicKeyHex","getPublicKeyXYHex","keylen","getShortNISTPCurveName","generateKeyPairHex","biRSSigToASN1Sig","fromByteArrayUnsigned","serializeSig","verifyHex","parseSigHex","verifyRaw","Bitcoin","parseSig","toByteArraySigned","parseSigCompact","readPKCS5PrvKeyHex","readPKCS8PrvKeyHex","readPKCS8PubKeyHex","readCertPubKeyHex","parseSigHexInHexRS","asn1SigToConcatSig","concatSigToASN1Sig","hexRSSigToASN1Sig","regist","AES","iv","ciphertext","proc","eproc","ivlen","TripleDES","DES","cipher","ivsalt","keyhex","ivhex","parsePKCS5PEM","getKeyAndUnusedIvByPasscodeAndIvsalt","decryptKeyB64","getDecryptedKeyHex","getEncryptedPKCS5PEMFromPrvKeyHex","toUpperCase","parseHexOfEncryptedPKCS8","encryptionSchemeAlg","encryptionSchemeIV","pbkdf2Salt","pbkdf2Iter","getPBKDF2KeyHexFromParam","PBKDF2","keySize","iterations","_getPlainPKCS8HexFromEncryptedPKCS8PEM","getKeyFromEncryptedPKCS8PEM","getKeyFromPlainPrivatePKCS8Hex","parsePlainPrivatePKCS8Hex","algoid","algparam","keyidx","getKeyFromPlainPrivatePKCS8PEM","_getKeyFromPublicPKCS8Hex","parsePublicRawRSAKeyHex","parsePublicPKCS8Hex","xy","kty","dp","dq","co","qi","setPrivateEx","setPrivate","crv","X509","getPublicKeyFromCertHex","getPublicKeyFromCertPEM","generateKeypair","generate","prvKeyObj","pubKeyObj","getPEM","SubjectPublicKeyInfo","seq","octstr","bitstr","getKeyFromCSRPEM","getKeyFromCSRHex","parseCSRHex","p8pubkeyhex","getKeyID","getJWKFromKey","getPosArrayOfChildrenFromHex","getHexValueArrayOfChildrenFromHex","readPrivateKeyFromPEMString","readPKCS5PubKeyHex","readCertHex","getPublicKeyHex","_RE_HEXDECONLY","pss_mgf1_str","_rsasign_getAlgNameAndHashFromHexDisgestInfo","AlgorithmIdentifier","PSSNAME2ASN1TLV","HEX2STAG","foffset","aExtInfo","getVersion","getSerialNumberHex","getSignatureAlgorithmField","getAlgorithmIdentifierName","getIssuer","getX500Name","getIssuerHex","getIssuerString","hex2dn","getSubject","getSubjectHex","getSubjectString","getNotBefore","getNotAfter","getPublicKeyIdx","getPublicKeyContentIdx","getPublicKey","getSignatureAlgorithmName","getSignatureValueHex","verifySignature","parseExt","critical","vidx","getExtInfo","getExtBasicConstraints","extname","cA","pathLen","getExtKeyUsage","names","getExtKeyUsageString","getExtKeyUsageBin","KEYUSAGE_NAME","getExtSubjectKeyIdentifier","kid","getExtAuthorityKeyIdentifier","getGeneralNames","issuer","sn","getExtExtKeyUsage","getExtExtKeyUsageName","getExtSubjectAltName","getExtIssuerAltName","getGeneralName","rfc822","dns","uri","ip","dn","getExtSubjectAltName2","getExtCRLDistributionPoints","getDistributionPoint","dpname","getDistributionPointName","full","getExtCRLDistributionPointsURI","getExtAIAInfo","ocsp","caissuer","getExtAuthorityInfoAccess","getExtCertificatePolicies","getPolicyInformation","policyoid","getPolicyQualifierInfo","cps","unotice","getUserNotice","exptext","getDisplayText","getExtCRLNumber","num","getExtCRLReason","getExtOcspNonce","getExtOcspNoCheck","getExtAdobeTimeStamp","reqauth","getX500NameRule","ds","getX500NameArray","dnarraytostr","getRDN","getAttrTypeAndValue","oid2atype","readCertPEM","getParam","serial","sigalg","notbefore","notafter","sbjpubkey","ext","getExtParamArray","sighex","getExtParam","extn","findExt","updateExtCDPFullURI","updateExtAIAOCSP","updateExtAIACAIssuer","getInfo","dname","doPrivate","signPSS","verifyPSS","SALT_LEN_HLEN","SALT_LEN_MAX","SALT_LEN_RECOVER","hex2rdn","hex2attrTypeValue","getPublicKeyInfoPropOfCertPEM","jws","JWS","isSafeJSONString","parseJWS","parsedJWS","sigvalH","headB64U","payloadB64U","sigvalB64U","si","sigvalBI","headS","payloadS","readSafeJSONString","jwsalg2sigalg","headerObj","payloadObj","headerPP","payloadPP","sigHex","verifyJWT","inArray","includedArray","iss","aud","IntDate","getNow","verifyAt","gracePeriod","nbf","iat","jti","HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","PS256","PS384","PS512","none","getEncodedSignatureValueFromJWS","getJWKthumbprint","getZulu","zulutosec","intDate2UTCString","toUTCString","intDate2Zulu","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","EDSA","_crypto","ValidationError","argument","property","sum","makeSuffix","$id","ValidatorResult","ctx","propertyPath","throwError","throwFirst","throwAll","disableFormat","stringizer","ValidatorResultError","captureStackTrace","addError","detail","importErrors","res","validatorType","SchemaError","msg","SchemaContext","base","makeChild","propertyName","FORMAT_REGEXPS","input","parseFloat","regexp","regex","ipv4","isFormat","format","validator","customFormats","deepMerger","dst","deepMerge","copyist","src","copyistWithDeepMerge","pathEncoder","deepCompareStrict","aKeys","bKeys","objectGetPath","parts","getDecimalPlaces","number","decimalPlaces","Number","decimalParts","isSchema","val","freeExports","nodeType","freeModule","isBuffer","stubFalse","_inheritsLoose","nativeCreate","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","mapCacheClear","isKeyable","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","arrayLikeKeys","baseKeys","other","_unsupportedIterableToArray","minLen","setToArray","reIsUint","isIndex","reIsDeepProp","reIsPlainProp","baseGet","castPath","arrayMap","iteratee","_setPrototypeOf","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","LARGE_ARRAY_SIZE","Stack","typedArrayTags","baseIsTypedArray","nodeIsTypedArray","nodeUtil","isTypedArray","baseUnary","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","DataView","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ArrayBuffer","Ctor","ctorString","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","_arrayLikeToArray","arr2","isIterateeCall","_assertThisInitialized","ReferenceError","_createForOfIteratorHelper","normalCompletion","didErr","step","_e2","REHYDRATE","REGISTER","autoMergeLevel1","inboundState","originalState","reducedState","newState","_objectSpread","createPersistoid","serialize","whitelist","transforms","throttle","storageKey","keyPrefix","storage","defaultSerialize","writeFailHandler","lastState","stagedState","keysToProcess","timeIterator","writePromise","processNextKey","clearInterval","endState","subState","transformer","in","setItem","catch","onWriteFail","passWhitelistBlacklist","setInterval","flush","getStoredState","deserialize","defaultDeserialize","getItem","serialized","rawState","reduceRight","out","warnIfRemoveError","_objectWithoutProperties","sourceSymbolKeys","persistReducer","baseReducer","stateReconciler","defaultGetStoredState","timeout","_persistoid","_purge","_paused","conditionalUpdate","_persist","rehydrated","restState","_sealed","_rehydrate","rehydrate","setTimeout","register","restoredState","migrate","migratedState","migrateErr","removeItem","purgeStoredState","_newState","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","registry","bootstrapped","persistorReducer","firstIndex","persistStore","cb","boostrappedCb","_pStore","rehydrateAction","persistor","purge","results","purgeResult","flushResult","pause","persist","manualPersist","arrayLikeToArray","Parent","_cache","Wrapper","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","IE8_DOM_DEFINE","anObject","toPrimitive","nativeDefineProperty","Attributes","shared","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","isPrototype","_a","NOTHING","DRAFTABLE","DRAFT_STATE","const","let","desc","isDraftable","cloned","isDraft","deepFreeze","ImmerScope","usePatches","revoke","leave","descriptors","clonePotentialDraft","each","prop","assertUnrevoked","peek","prepareCopy","createProxy","markChanged","proxyProperty","isEnumerable","scope","parent","modified","finalizing","finalized","assigned","copy","revoked","shallowCopy","drafts","hasArrayChanges","hasObjectChanges","baseValue","markChangesSweep","markChangesRecursively","Proxy","objectTraps","owner","arrayTraps","patches","inversePatches","basePath","op","replaceCount","generateArrayPatches","origValue","generateObjectPatches","applyPatches","patch","configDefaults","useProxies","autoFreeze","verifyMinified","onAssign","onDelete","onCopy","Immer","produce","defaultBase","recipe","patchListener","hasError","produceWithPatches","arg1","createDraft","finishDraft","setAutoFreeze","setUseProxies","processResult","baseDraft","isReplaced","generatePatches","finalizeTree","needPatches","finalizeProperty","isDraftProp","rootPath","maybeFreeze","immer","arrayPush","equalArrays","bitmask","customizer","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","SetCache","arrValue","othValue","compared","arraySome","othIndex","cacheHas","mapToArray","symbolProto","symbolValueOf","equalByTag","byteLength","byteOffset","buffer","stacked","equalObjects","objProps","getAllKeys","objLength","objStacked","skipCtor","objValue","objCtor","othCtor","objectTag","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","baseIsEqual","cache","predicate","stringToPath","_isNativeReflectConstruct","baseIsMatch","matchData","noCustomizer","srcValue","COMPARE_PARTIAL_FLAG","isStrictComparable","getMatchData","matchesStrictComparable","baseMatches","baseHasIn","hasPath","hasFunc","hasIn","baseMatchesProperty","baseProperty","basePropertyDeep","baseIteratee","createBaseFor","baseFor","fromRight","keysFunc","baseForOwn","createBaseEach","baseEach","eachFunc","collection","setCacheAdd","setCacheHas","nativeKeys","overArg","baseSome","some","guard","InnerSubscriber","originalModule","webpackPolyfill","propertyIsEnumerableModule","toIndexedObject","nativeGetOwnPropertyDescriptor","toInteger","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","thrower","METHOD_NAME","ACCESSORS","argument0","argument1","_exenv","EE","__esModule","default","SafeHTMLElement","HTMLElement","freeProcess","types","binding","qs","CRHTLF","slashes","protocolre","windowsDriveLetter","whitespace","trimLeft","rules","address","isSpecial","protocol","NaN","ignore","lolcation","finaldestination","Url","scheme","extractProtocol","rest","forwardSlashes","otherSlashes","slashesCount","parser","relative","extracted","instruction","instructions","port","hostname","username","password","auth","origin","char","ins","punycode","util","urlParse","resolveObject","isString","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","trim","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","toASCII","ae","esc","qm","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","urilib","helpers","SchemaScanResult","found","scan","scanSchema","baseuri","resolvedUri","ourBase","scanArray","extends","additionalItems","scanObject","patternProperties","disallow","anyOf","baseGetAllKeys","getSymbols","ponyfill","isEmpty","isarray","pathToRegexp","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","escaped","capture","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","matches","flags","opts","encode","pretty","token","segment","attachKeys","re","sensitive","strict","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","ex","React__default","UAParser","ClientUAInstance","browser","getBrowser","cpu","getCPU","device","getDevice","engine","getEngine","os","getOS","getUA","setUa","userAgentString","setUA","parseUserAgent","UserAgentInstance","UA","setUserAgent","UAHelper","freeze","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","DeviceTypes","BrowserTypes","Chrome","Firefox","Opera","Yandex","Safari","InternetExplorer","Edge","Chromium","Ie","MobileSafari","EdgeChromium","MIUI","SamsungBrowser","OsTypes","IOS","Android","WindowsPhone","Windows","MAC_OS","InitialDeviceTypes","isMobile","isTablet","isBrowser","isSmartTV","isConsole","isWearable","setDefaults","getNavigatorInstance","isIOS13Check","nav","platform","maxTouchPoints","MSStream","mobilePayload","vendor","model","osVersion","isMobileType","isTabletType","isMobileAndTabletType","isSmartTVType","_ref4","isBrowserType","_ref5","isWearableType","_ref6","isConsoleType","_ref7","isEmbeddedType","_ref8","getMobileVendor","_ref9","getMobileModel","_ref10","getDeviceType","_ref11","isAndroidType","_ref12","isWindowsType","_ref13","isMacOsType","_ref14","isWinPhoneType","_ref15","isIOSType","_ref16","getOsVersion","_ref17","getOsName","_ref18","isChromeType","_ref19","isFirefoxType","_ref20","isChromiumType","_ref21","isEdgeType","_ref22","isYandexType","_ref23","isSafariType","_ref24","isMobileSafariType","_ref25","isOperaType","_ref26","isIEType","_ref27","isMIUIType","_ref28","isSamsungBrowserType","_ref29","getBrowserFullVersion","_ref30","getBrowserVersion","_ref31","major","getBrowserName","_ref32","getEngineName","_ref33","getEngineVersion","_ref34","isElectronType","isEdgeChromiumType","getIOS13","getIPad13","getIphone13","getIPod13","getUseragent","userAg","buildSelectorsObject","isEmbedded","isMobileSafari","isChromium","isMobileOnly","isDesktop","isAndroid","isWinPhone","isIOS","isChrome","isFirefox","isSafari","isOpera","isIE","osName","fullBrowserVersion","browserVersion","browserName","mobileVendor","mobileModel","engineName","engineVersion","isEdge","isYandex","deviceType","isIOS13","isIPad13","isIPhone13","isIPod13","isElectron","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","isMIUI","isSamsungBrowser","useDeviceData","hookUserAgent","AndroidView","renderWithFragment","Fragment","BrowserView","ConsoleView","CustomView","viewClassName","style","IEView","IOSView","MobileOnlyView","MobileView","SmartTVView","TabletView","WearableView","WinPhoneView","deviceDetect","checkDeviceType","browserMajorVersion","browserFullVersion","browserPayload","smartTvPayload","consolePayload","wearablePayload","embeddedPayload","getSelectorsByUserAgent","_UAHelper$parseUserAg","useDeviceSelectors","deviceData","useMobileOrientation","_useState2","useState","orientation","innerWidth","innerHeight","isPortrait","isLandscape","handleOrientationChange","useCallback","withOrientationChange","_React$Component","_class","isEventListenerAdded","onOrientationChange","onPageLoad","Component","_default","ClockService","timer","testing","request","Global","newRequest","localStorage","sessionStorage","XMLHttpRequest","WebStorageStateStore","_store","_prefix","JsonService","additionalContentTypes","XMLHttpRequestCtor","jwtHandler","_contentTypes","_XMLHttpRequest","_jwtHandler","req","open","allowedContentTypes","onload","contentType","getResponseHeader","find","startsWith","responseText","statusText","onerror","setRequestHeader","basicAuth","btoa","MetadataService","JsonServiceCtor","_settings","_jsonService","signingKeys","metadata","metadataUrl","getJson","seed","metadataSeed","_getMetadataProperty","getMetadata","jwks_uri","keySet","_metadataUrl","authority","JoseUtil","KeyUtil","AllowedSigningAlgs","jwt","header","audience","clockSkew","timeInsensitive","x5c","_validateJwt","parseJwt","azp","lowerNow","upperNow","validateJwtAttributes","getJoseUtil","UserInfoService","MetadataServiceCtor","joseUtil","_getClaimsFromJwt","_metadataService","_joseUtil","getUserInfoEndpoint","claims","issuerPromise","userInfoJwtIssuer","getSigningKeys","_filterByAlg","client_id","clockSkewInSeconds","validateJwt","TokenClient","grant_type","client_secret","redirect_uri","client_authentication","_client_authentication","code_verifier","getTokenEndpoint","postForm","response","refresh_token","ErrorResponse","error_description","error_uri","session_state","ProtocolClaims","ResponseValidator","UserInfoServiceCtor","TokenClientCtor","_userInfoService","_tokenClient","_processSigninParams","_validateTokens","_processClaims","nonce","id_token","isOpenIdConnect","_filterProtocolClaims","skipUserInfo","loadUserInfo","access_token","getClaims","_mergeClaims","claims1","claims2","mergeClaims","_processCode","_validateIdTokenAndAccessToken","_validateIdToken","extraTokenParams","exchangeCode","tokenResponse","_validateIdTokenAttributes","getEpochTime","_validateAccessToken","_getSigningKeyForJwt","resetSigningKeys","_getSigningKeyForJwtWithSingleRetry","at_hash","hashAlg","hashBits","sha","left","left_b64u","hexToBase64Url","OidcClientSettings","response_type","post_logout_redirect_uri","display","max_age","ui_locales","acr_values","resource","response_mode","filterProtocolClaims","staleStateAge","clockService","stateStore","ResponseValidatorCtor","extraQueryParams","_authority","_metadata","_metadataSeed","_signingKeys","_client_id","_client_secret","_response_type","_scope","_redirect_uri","_post_logout_redirect_uri","_prompt","_display","_max_age","_ui_locales","_acr_values","_resource","_response_mode","_loadUserInfo","_staleStateAge","_clockSkew","_clockService","_userInfoJwtIssuer","_stateStore","_validator","_extraQueryParams","_extraTokenParams","UrlUtility","idx","counter","_cryptoUuidv4","_uuidv4","State","created","request_type","_id","_created","_request_type","storageString","age","cutoff","promises","remove","fromStorageString","SigninState","_nonce","_code_verifier","_code_challenge","_skipUserInfo","SigninRequest","id_token_hint","login_hint","request_uri","oidc","isOidc","isCode","addQueryParam","code_challenge","SigninResponse","parseUrlFragment","token_type","expires_in","expires_at","SignoutRequest","SignoutResponse","OidcClient","getAuthorizationEndpoint","signinRequest","signinState","toStorageString","removeState","useQuery","stateApi","storedStateString","readSigninResponseState","validateSigninResponse","getEndSessionEndpoint","signoutState","stateKey","readSignoutResponseState","validateSignoutResponse","clearStaleState","metadataService","RedirectNavigator","useReplaceToNavigate","PopupWindow","_promise","_resolve","_reject","popupWindowTarget","features","popupWindowFeatures","_popup","_checkForPopupClosedTimer","_checkForPopupClosed","_callback","focus","_error","promise","_cleanup","keepOpen","close","closed","_success","opener","PopupNavigator","popup","notifyOpener","IFrameWindow","_boundMessageEvent","_message","_frame","visibility","position","width","height","appendChild","silentRequestTimeout","_timer","_timeout","clearTimeout","removeChild","_origin","contentWindow","postMessage","IFrameNavigator","frame","notifyParent","UserManagerSettings","popup_redirect_uri","popup_post_logout_redirect_uri","silent_redirect_uri","automaticSilentRenew","validateSubOnSilentRenew","includeIdTokenInSilentRenew","monitorSession","monitorAnonymousSession","checkSessionInterval","stopCheckSessionOnError","query_status_response_type","revokeAccessTokenOnSignout","accessTokenExpiringNotificationTime","redirectNavigator","popupNavigator","iframeNavigator","userStore","_popup_redirect_uri","_popup_post_logout_redirect_uri","_popupWindowFeatures","_popupWindowTarget","_silent_redirect_uri","_silentRequestTimeout","_automaticSilentRenew","_validateSubOnSilentRenew","_includeIdTokenInSilentRenew","_accessTokenExpiringNotificationTime","_monitorSession","_monitorAnonymousSession","_checkSessionInterval","_stopCheckSessionOnError","_query_status_response_type","_revokeAccessTokenOnSignout","_redirectNavigator","_popupNavigator","_iframeNavigator","_userStore","receiver","Event","_name","_callbacks","findIndex","Timer","nowFunc","_nowFunc","expiration","_timerHandle","cancel","_expiration","timerDuration","diff","UserManagerEvents","_userLoaded","_userUnloaded","_silentRenewError","_userSignedIn","_userSignedOut","_userSessionChanged","raiseEvent","raise","addHandler","removeHandler","accessTokenExpiringTimer","accessTokenExpiredTimer","_accessTokenExpiring","_accessTokenExpired","container","expiring","expired","SilentRenewService","userManager","_userManager","_tokenExpiring","addAccessTokenExpiring","getUser","removeAccessTokenExpiring","signinSilent","_raiseSilentRenewError","CheckSessionIFrame","interval","stopOnError","_url","_interval","_stopOnError","_frame_origin","_session_state","SessionMonitor","CheckSessionIFrameCtor","_CheckSessionIFrameCtor","addUserLoaded","_start","addUserUnloaded","_stop","querySessionStatus","tmpUser","sid","_sub","_sid","_checkSessionIFrame","getCheckSessionIframe","load","timerHandle","_raiseUserSessionChanged","_raiseUserSignedOut","_raiseUserSignedIn","TokenRevocationClient","_XMLHttpRequestCtor","getRevocationEndpoint","_revoke","xhr","UserManager","SilentRenewServiceCtor","SessionMonitorCtor","TokenRevocationClientCtor","_events","_silentRenewService","startSilentRenew","_sessionMonitor","_tokenRevocationClient","_loadUser","storeUser","unload","navParams","_signinStart","_signinEnd","_signin","startUrl","_signinCallback","_useRefreshToken","current_sub","_signinSilentIframe","exchangeRefreshToken","idTokenValidation","_validateIdTokenFromTokenRefreshToken","auth_time","signinRedirectCallback","signinPopupCallback","signinSilentCallback","signoutRedirectCallback","signoutPopupCallback","navResponse","processSigninResponse","signinResponse","navigatorParams","prepare","createSigninRequest","navigate","postLogoutRedirectUri","_signoutStart","_signoutEnd","_signout","_revokeInternal","removeUser","createSignoutRequest","signoutRequest","processSignoutResponse","signoutResponse","success","_revokeAccessTokenInternal","atSuccess","_revokeRefreshTokenInternal","rtSuccess","_userStoreKey","classNames","classes","argType","inner","createEventEmitter","handlers","on","handler","off","newValue","changedBits","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","gud","_Component","emitter","getChildContext","componentWillReceiveProps","nextProps","oldValue","PropTypes","isRequired","_Component2","_this2","onUpdate","observedBits","_proto2","componentDidMount","componentWillUnmount","createNamedContext","Router","computeRootMatch","isExact","_pendingLocation","RouterContext","staticContext","Lifecycle","onMount","componentDidUpdate","prevProps","onUnmount","cacheCount","generatePath","compilePath","Redirect","computedMatch","matchPath","exact","matched","cacheKey","pathCache","Route","createURL","staticHandler","noop","Switch","child","element","withRouter","wrappedComponentRef","remainingProps","symbolToString","baseToString","factory","OldCookies","Cookies","api","noConflict","attributes","decode","converter","defaults","expires","write","stringifiedAttributes","attributeName","cookie","json","jar","cookies","read","getJSON","withConverter","arrayFilter","resIndex","nativeGetSymbols","symbol","stubArray","nativePropertyIsEnumerable","NASHORN_BUG","1","bitmap","classof","PREFERRED_STRING","EXISTS","functionToString","inspectSource","IS_PURE","mode","copyright","postfix","aFunction","variable","namespace","hiddenKeys","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","includes","toObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","that","specificCreate","boundFunction","internalObjectKeys","enumBugKeys","objectKeys","TO_ENTRIES","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","_Modal","_Modal2","querySelectorAll","tabbable","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","innerHTML","getComputedStyle","getPropertyValue","scrollWidth","scrollHeight","focusable","isTabIndexNotNaN","nodeName","disabled","parentElement","parentNode","visible","tabIndex","isTabIndexNaN","assertNodeList","setElement","useElement","_safeHTMLElement","globalElement","validateElement","hide","appElement","setAttribute","show","removeAttribute","documentNotReadyOrSSRTesting","resetForTesting","_warning","_warning2","nodeList","transform","base64_url_decode","InvalidTokenError","pos","symbolsFunc","globals","globalObject","getGlobal","supportsAbortController","AbortController","supportsStreams","ReadableStream","supportsFormData","FormData","mergeHeaders","source1","source2","Headers","isHeadersInstance","delete","returnValue","headers","sources","requestMethods","responseTypes","formData","arrayBuffer","blob","retryAfterStatusCodes","HTTPError","TimeoutError","delay","ms","abortController","timeoutID","abort","fetch","normalizeRequestMethod","defaultRetryOptions","limit","methods","statusCodes","afterStatusCodes","normalizeRetryOptions","retry","Ky","_retryCount","_input","_options","credentials","hooks","beforeRequest","beforeRetry","afterResponse","prefixUrl","throwHttpErrors","URL","Request","endsWith","signal","searchParams","URLSearchParams","RangeError","_fetch","hook","modifiedResponse","Response","onDownloadProgress","_stream","parseJson","isRetriableMethod","_retry","mimeType","retryAfter","after","maxRetryAfter","_calculateRetryDelay","retryCount","totalBytes","transferredBytes","controller","reader","getReader","percent","enqueue","validateAndMerge","createInstance","ky","newDefaults","resolver","memoized","Cache","memoizeCapped","rePropName","reEscapeChar","string","quote","subString","baseTimes","inherited","isArr","isArg","isBuff","isType","skipIndexes","symbolObservablePonyfill","PersistGate","_PureComponent","_getPrototypeOf2","onBeforeLift","finally","_unsubscribe","handlePersistorState","loading","PureComponent","__makeTemplateObject","cooked","raw","__importStar","templateObject_1","templateObject_2","core_1","helpers_1","pulse","keyframes","Loader","_super","color","sizeUnit","margin","css","jsx","sizeMarginDefaults","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","devToolsEnhancer","__REDUX_DEVTOOLS_EXTENSION__","17","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","getAndroidVersionName","getVersionPrecision","compareVersions","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","18","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Electron","Epiphany","Focus","Generic","Googlebot","Maxthon","PhantomJS","Puffin","QupZilla","QQ","QQLite","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","chrome","chromium","electron","epiphany","firefox","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","MacOS","iOS","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","90","getParser","getResult","91","_ua","parsedResult","parseBrowser","describe","parseOS","getOSName","getOSVersion","getPlatform","parsePlatform","getPlatformType","parseEngine","satisfies","isOS","isPlatform","compareVersion","isEngine","92","93","versionName","94","95","Validator","spreadableSymbol","isConcatSpreadable","isFlattenable","baseFlatten","depth","isStrict","baseMap","baseSortBy","comparer","compareAscending","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","compareMultiple","orders","objCriteria","criteria","othCriteria","ordersLength","baseOrderBy","iteratees","thisArg","nativeMax","overRest","otherArgs","baseSetToString","nativeNow","shortOut","setToString","lastCalled","stamp","remaining","baseRest","sortBy","baseFindIndex","baseIsNaN","strictIndexOf","baseIndexOf","arrayIncludes","arrayIncludesWith","comparator","createSet","baseUniq","isCommon","outer","computed","seenIndex","uniq","deprecate","paths","componentWillMount","prevState","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayLike","fromArrayBuffer","encoding","isEncoding","actual","checked","fromObject","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","valLength","readUInt16BE","foundIndex","hexWrite","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","isFinite","toJSON","ret","toHex","bytes","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","Infinity","leadSurrogate","stringtrim","base64clean","$find","addToUnscopables","arrayMethodUsesToLength","SKIPS_HOLES","USES_TO_LENGTH","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","NATIVE_WEAK_MAP","objectHas","sharedKey","wmget","wmhas","wmset","STATE","getterFor","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","integer","replacement","feature","detection","POLYFILL","NATIVE","SPECIES","originalArray","activeXDocument","html","documentCreateElement","EmptyConstructor","scriptTag","content","LT","NullProtoObject","ActiveXObject","temp","parentWindow","NullProtoObjectViaActiveX","iframeDocument","iframe","NullProtoObjectViaIFrame","Properties","$findIndex","$includes","$entries","$values","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","searchString","isRegExp","MATCH","support","Blob","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","append","consumed","bodyUsed","fileReaderReady","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","view","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","_bodyFormData","_bodyArrayBuffer","rejected","readAsText","readBlobAsText","chars","readArrayBufferAsText","upcased","normalizeMethod","form","parseHeaders","rawHeaders","line","bodyInit","redirectStatuses","redirect","DOMException","aborted","abortXhr","getAllResponseHeaders","responseURL","ontimeout","onabort","withCredentials","responseType","onreadystatechange","readyState","_get","_superPropBase","Emitter","debounce","defaultPrevented","AbortSignal","_Emitter","initEvent","createEventObject","bubbles","cancelable","dispatchEvent","polyfillNeeded","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","_abortableFetch","patchTargets","_patchTargets","_patchTargets$Request","NativeRequest","NativeAbortController","_patchTargets$__FORCE","realFetch","abortError","cancellation","_","once","race","abortableFetchDecorator","for","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","forceUpdate","isPureReactComponent","__self","__source","$$typeof","_owner","Children","toArray","only","createRef","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","_context","lazy","_ctor","_status","_result","useImperativeHandle","useDebugValue","Profiler","StrictMode","Suspense","cloneElement","createFactory","isValidElement","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","extractEvents","eventTypes","phasedRegistrationNames","ha","registrationName","ia","ja","ka","onError","la","ma","na","oa","pa","qa","sa","va","wa","currentTarget","ra","xa","ya","za","Aa","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","Ba","Ca","injectEventPluginOrder","injectEventPluginsByName","Da","stateNode","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Wa","Xa","_debugOwner","_debugSource","fileName","lineNumber","return","Ya","Za","$a","ab","bb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","sb","tb","ub","vb","qb","rb","pb","setAttributeNS","wb","yb","_valueTracker","setValue","stopTracking","xb","zb","Ab","defaultChecked","_wrapperState","initialChecked","Bb","initialValue","controlled","Cb","Eb","Fb","Gb","ownerDocument","activeElement","Ib","Hb","Jb","selected","defaultSelected","Kb","dangerouslySetInnerHTML","Lb","Mb","Nb","textContent","xlinkHref","Ob","Pb","Qb","Rb","Sb","MSApp","execUnsafeLocalFunction","namespaceURI","firstChild","Tb","lastChild","nodeValue","Ub","Vb","animationend","animationiteration","animationstart","transitionend","Wb","Xb","Yb","animation","transition","Zb","$b","ac","bc","cc","ec","alternate","effectTag","fc","memoizedState","dehydrated","gc","ic","sibling","hc","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","vc","zc","blockedOn","topLevelType","eventSystemFlags","nativeEvent","Ac","pointerId","Bc","Cc","Ec","Fc","unstable_runWithPriority","priority","hydrate","containerInfo","Gc","Hc","Ic","Jc","Kc","unstable_scheduleCallback","unstable_NormalPriority","Lc","Mc","srcElement","correspondingUseElement","Nc","Oc","dispatchConfig","Pc","_targetInst","Qc","Rc","Sc","Tc","Uc","Interface","isDefaultPrevented","Wc","eventPool","Xc","destructor","Vc","getPooled","preventDefault","stopPropagation","cancelBubble","eventPhase","timeStamp","isTrusted","Yc","animationName","elapsedTime","pseudoElement","Zc","clipboardData","$c","ad","relatedTarget","bd","keyCode","charCode","cd","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","dd","8","9","12","13","16","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","ed","Alt","Control","Meta","Shift","gd","getModifierState","hd","ctrlKey","shiftKey","altKey","metaKey","locale","which","jd","kd","ld","nd","screenX","screenY","clientX","clientY","pageX","pageY","button","buttons","fromElement","toElement","movementX","movementY","od","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","pd","dataTransfer","qd","touches","targetTouches","changedTouches","rd","sd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","td","ud","vd","wd","yd","zd","Ad","Bd","Cd","Dd","bubbled","captured","eventPriority","Ed","getEventPriority","Fd","unstable_UserBlockingPriority","Gd","Hd","Jd","Kd","targetInst","ancestors","Ld","Md","Nd","Od","Pd","Qd","Dc","Rd","Sd","xc","yc","Td","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Ud","Vd","Wd","setProperty","Xd","menuitem","area","br","col","embed","hr","img","keygen","link","param","track","wbr","Yd","Zd","$d","be","ce","de","node","nextSibling","fe","HTMLIFrameElement","ge","contentEditable","le","me","ne","autoFocus","oe","__html","pe","qe","se","previousSibling","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","documentMode","Je","Ke","Le","beforeInput","compositionEnd","compositionStart","compositionUpdate","Me","Ne","Oe","Pe","Se","Qe","Re","Te","datetime","month","range","tel","time","week","Ue","Ve","change","We","Xe","Ye","Ze","$e","af","bf","cf","detachEvent","df","ef","attachEvent","ff","gf","hf","lf","jf","_isInputEventSupported","kf","mouseEnter","mouseLeave","pointerEnter","pointerLeave","mf","defaultView","of","pf","qf","rf","sf","select","tf","uf","vf","wf","xf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","yf","onSelect","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","unstable_cancelCallback","Of","unstable_shouldYield","Pf","unstable_requestPaint","Qf","unstable_now","Rf","unstable_getCurrentPriorityLevel","Sf","unstable_ImmediatePriority","Tf","Uf","Vf","unstable_LowPriority","Wf","unstable_IdlePriority","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","childExpirationTime","vg","firstContext","expirationTime","wg","xg","responders","yg","zg","baseState","firstUpdate","lastUpdate","firstCapturedUpdate","lastCapturedUpdate","firstEffect","lastEffect","firstCapturedEffect","lastCapturedEffect","Ag","Bg","suspenseConfig","nextEffect","Cg","Dg","updateQueue","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Sg","_reactInternalFiber","Pg","Qg","Rg","Tg","shouldComponentUpdate","Ug","Vg","Wg","Xg","Yg","_stringRef","Zg","$g","ah","bh","elementType","ch","implementation","dh","eh","ta","fh","gh","hh","ih","jh","kh","lh","mh","documentElement","tagName","nh","oh","ph","qh","memoizedProps","revealOrder","rh","responder","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","queue","baseUpdate","Oh","Ph","Qh","lastRenderedReducer","lastRenderedState","eagerReducer","eagerState","Rh","Sh","Th","Uh","destroy","deps","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","readContext","useResponder","useDeferredValue","useTransition","unstable_next","ci","di","ei","fi","gi","pendingProps","ii","ji","ki","li","mi","ni","oi","pi","ri","ti","ui","vi","wi","pendingContext","Hi","Ji","Ki","xi","retryTime","yi","fallback","unstable_avoidThisFallback","zi","Ai","isBackwards","rendering","tail","tailExpiration","tailMode","Bi","Ci","Li","Mi","Ni","onClick","onclick","Oi","WeakSet","Pi","Si","Ri","Ti","Ui","__reactInternalSnapshotBeforeUpdate","Vi","Wi","Qi","Xi","Yi","Zi","$i","insertBefore","_reactRootContainer","aj","wasMultiple","multiple","bj","cj","dj","ej","fj","gj","hj","ij","componentDidCatch","jj","componentStack","gk","kj","lj","mj","wj","xj","yj","zj","Aj","Bj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","timeoutMs","Kj","Lj","Mj","Nj","Oj","lastExpiredTime","Pj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Qj","Rj","Sj","Tj","Uj","Vj","Wj","finishedWork","finishedExpirationTime","lastSuspendedTime","Xj","timeoutHandle","Yj","busyMinDurationMs","busyDelayMs","Zj","bk","ck","pingCache","dk","ek","fk","createElementNS","createTextNode","ik","firstSuspendedTime","rangeCount","Db","focusedElem","selectionRange","jk","ee","contains","compareDocumentPosition","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","top","scrollTop","Dh","dc","fd","hk","Eh","Fh","xk","Di","Ei","Fi","xd","Gi","kk","lk","mk","hidden","Va","nk","unstable_observedBits","pk","pendingChildren","qk","sk","uk","vk","wc","_internalRoot","wk","zk","hasAttribute","yk","Ak","Bk","unmount","ak","Ck","createPortal","findDOMNode","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","flushSync","Events","findFiberByHostInstance","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","Dk","Ek","MessageChannel","unstable_forceFrameRate","performance","cancelAnimationFrame","requestAnimationFrame","port2","port1","onmessage","sortIndex","startTime","priorityLevel","unstable_wrapCallback","unstable_continueExecution","unstable_pauseExecution","unstable_getFirstCallbackNode","unstable_Profiling","bodyOpenClassName","portalClassName","_react","_react2","_interopRequireDefault","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","newObj","_interopRequireWildcard","_safeHTMLElement2","_reactLifecyclesCompat","isReact16","getCreatePortal","getParentElement","parentSelector","Modal","removePortal","portalRef","portal","renderPortal","defaultStyles","className","prevParent","nextParent","isOpen","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","bool","shape","overlay","htmlOpenClassName","oneOfType","afterOpen","overlayClassName","instanceOf","onAfterOpen","onRequestClose","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","aria","role","contentLabel","shouldCloseOnEsc","overlayRef","contentRef","right","bottom","backgroundColor","border","background","overflow","WebkitOverflowScrolling","borderRadius","outline","padding","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","propFullName","secret","getShim","ReactPropTypes","any","arrayOf","objectOf","checkPropTypes","focusManager","_scopeTab2","classList","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","getElementsByTagName","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","beforeOpen","closeTimer","setupScopedFocus","markForFocusLater","overlayEl","contentEl","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","buildClassName","additional","attributesFromObject","acc","moveFromContentToOverlay","_props2","contentStyles","overlayStyles","onMouseDown","onKeyDown","onMouseUp","testId","handleBlur","handleFocus","focusLaterElements","toFocus","modalElement","_tabbable","_tabbable2","needToFocus","head","checkSafari","warning","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","dumpClassLists","htmlClassList","docBodyClassList","classString","classListRef","poll","incrementReference","decrementReference","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","isAsyncMode","isConcurrentMode","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","__export","commonValues","sizeDefaults","sizeValue","sizeValues","heightWidthDefaults","heightWidthValues","heightWidthRadiusDefaults","radius","BasicColors","calculateRgba","res_1","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","nextTick","env","argv","versions","addListener","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","cwd","chdir","umask","_options$isImmutable","isImmutable","_isImmutable2","_trackForMutations2","tracker","detectMutations","_invariant2","wasMutated","BETWEEN_DISPATCHES_MESSAGE","dispatchedAction","INSIDE_DISPATCH_MESSAGE","_jsonStringifySafe2","argIndex","framesToPop","serializer","replacer","cycleReplacer","thisPos","spaces","getSerialize","trackedProperties","trackProperties","tracked","childPath","_detectMutations","trackedProperty","sameParentRef","prevObj","sameRef","keysToDetect","atob","output","b64DecodeUnicode","InvalidCharacterError","bs","undef","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","MODEL","NAME","VENDOR","VERSION","MOBILE","TABLET","SMARTTV","enumerize","enums","str1","str2","lowerize","rgxMapper","arrays","strMapper","windowsVersionMap","ME","XP","Vista","7","8.1","10","RT","regexes","OPERA","FIREFOX","SAMSUNG","CHROME","1.2","1.3","APPLE","EDGE","_navigator","_uach","userAgentData","_rgxmap","mergedRegexes","_isSelfNav","_browser","brave","isBrave","_cpu","_device","standalone","_engine","_os","BROWSER","CPU","DEVICE","ENGINE","OS","jQuery","Zepto","__webpack_amd_options__","_getStorage","storageType","testKey","hasStorage","noopStorage","lastDayOfMonth","attribute","unresolvedRefs","validators","shouldResolve","addSchema","ourUri","addSubSchemaArray","addSubSchema","addSubSchemaObject","setSchemas","sch","validateSchema","schemaobj","schemaTraverser","superResolve","switchSchema","resolved","subctx","subschema","skipAttributes","ignoreProperties","validatorErr","allowUnknownAttributes","rewrite","fragment","testType","boolean","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","ucs2decode","extra","ucs2encode","digitToBasic","digit","flag","adapt","numPoints","firstTime","baseMinusTMin","basic","oldi","baseMinusT","inputLength","bias","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","sep","maxKeys","kstr","vstr","xs","stringifyPrimitive","ks","testSchemaNoThrow","getEnumerableProperty","testAdditionalProperty","preValidateProperty","nestedErrors","if","ifValid","else","propertyNames","minProperties","maxProperties","minimum","exclusiveMinimum","maximum","exclusiveMaximum","validateMultipleOfOrDivisbleBy","validationType","validationArgument","instanceDecimals","divisorDecimals","maxDecimals","multiplier","round","testArrays","multipleOf","divisibleBy","minLength","hsp","maxLength","minItems","maxItems","uniqueItems","childContext","notTypes","schemaId","StyleSheet","isSpeedy","speedy","tags","ctr","before","insert","rule","_tag","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","isImportRule","insertRule","cssRules","stylis_min","use","toSheet","Sheet","ruleSheet","selectors","parents","column","ns","at","createCache","stylisOptions","stylis","Stylis","inserted","_insert","nodes","stylisPlugins","shouldCache","styles","registered","getRegisteredStyles","registeredStyles","rawClassName","insertStyles","isStringTag","murmurhash2_32_gc","unitlessKeys","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","interpolation","couldBeSelectorInterpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","lastIndex","identifierName","EmotionCacheContext","ThemeContext","CacheProvider","withEmotionCache","typePropName","theme","cssProp","newProps","Emotion","argsLength","createElementArgArray","InnerGlobal","nextElementSibling","insertable","classnames","cls","toAdd","merge","ClassNames","cx","ele","Subject","ActionsObservable","_Observable","actionsSubject","_of","actions","scheduler","_from","operator","_ofType","Observable","StateObservable","stateSubject","subscriber","__notifier","__subscription","createEpicMiddleware","QueueScheduler","queueScheduler","uniqueQueueScheduler","SchedulerAction","epic$","epicMiddleware","actionSubject$","observeOn","stateSubject$","action$","state$","epic","output$","mergeMap","subscribeOn","rootEpic","combineEpics","epics","merger"],"mappings":"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KAAM,uBACL,CACDN,MAAO,cACPM,KAAM,6BACL,CACDN,MAAO,UACPM,KAAM,yBACL,CACDN,MAAO,gBACPM,KAAM,+BACL,CACDN,MAAO,cACPM,KAAM,6BACL,CACDN,MAAO,UACPM,KAAM,yBACL,CACDN,MAAO,OACPM,KAAM,sBACL,CACDN,MAAO,gBACPM,KAAM,+BACL,CACDN,MAAO,oBACPM,KAAM,mCACL,CACDN,MAAO,mBACPM,KAAM,kCACL,CACDN,MAAO,SACPM,KAAM,wBACL,CACDN,MAAO,cACPM,KAAM,6BACL,CACDN,MAAO,UACPM,KAAM,2BAGVU,SAAU,CACRf,SAAU,CAAC,KAAM,QACjBI,MAAO,CAAC,CACNL,MAAO,kBACPM,KAAM,iCACL,CACDN,MAAO,cACPM,KAAM,6BACL,CACDN,MAAO,aACPM,KAAM,4BACL,CACDN,MAAO,iBACPM,KAAM,gCACL,CACDN,MAAO,4BACPM,KAAM,2CACL,CACDN,MAAO,UACPM,KAAM,yBACL,CACDN,MAAO,4BACPM,KAAM,2CACL,CACDN,MAAO,WACPM,KAAM,0BACL,CACDN,MAAO,QACPM,KAAM,uBACL,CACDN,MAAO,QACPM,KAAM,uBACL,CACDN,MAAO,cACPM,KAAM,6BACL,CACDN,MAAO,UACPM,KAAM,yBACL,CACDN,MAAO,gBACPM,KAAM,+BACL,CACDN,MAAO,cACPM,KAAM,6BACL,CACDN,MAAO,UACPM,KAAM,yBACL,CACDN,MAAO,OACPM,KAAM,sBACL,CACDN,MAAO,gBACPM,KAAM,+BACL,CACDN,MAAO,oBACPM,KAAM,mCACL,CACDN,MAAO,mBACPM,KAAM,kCACL,CACDN,MAAO,SACPM,KAAM,wBACL,CACDN,MAAO,cACPM,KAAM,6BACL,CACDN,MAAO,UACPM,KAAM,yBACL,CACDN,MAAO,sBACPM,KAAM,uCAGVvI,GAAI,CACF/Q,KAAM,SACNyZ,QAAS,oDAEXC,UAAW,CACT1Z,KAAM,SACNyZ,QAAS,8DAEX5I,MAAO,CACLmI,MAAO,sBACPQ,MAAO,CAAC,CACNP,SAAU,CAAC,OAAQ,OAClB,CACDD,MAAO,sBACP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AAG,CAACjlC,EAAE,WAAW,YAAYA,EAAE,WAAW,WAAWA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,UAAU,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,WAAWA,EAAE,WAAW,WAChfA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,WAAWA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,WAAWA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,UAAU,YAAYA,EAAE,UAAU,WAAWA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAC5e,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,WAAWA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,WAAWA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,UAAU,WAAWA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAC3eA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,WAAWA,EAAE,WAAW,WAAWA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,WAAW,WAAWA,EAAE,WAAW,YAAYA,EAAE,WAAW,YAAYA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,UAAU,WAAWA,EAAE,UAAU,WAAWA,EAAE,UAAU,YAAYA,E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","file":"static/js/7.14add08f.chunk.js","sourcesContent":["// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nlet nopLogger = {\r\n debug(){},\r\n info(){},\r\n warn(){},\r\n error(){}\r\n};\r\n\r\nconst NONE = 0;\r\nconst ERROR = 1;\r\nconst WARN = 2;\r\nconst INFO = 3;\r\nconst DEBUG = 4;\r\n\r\nlet logger;\r\nlet level;\r\n\r\nexport class Log {\r\n static get NONE() {return NONE};\r\n static get ERROR() {return ERROR};\r\n static get WARN() {return WARN};\r\n static get INFO() {return INFO};\r\n static get DEBUG() {return DEBUG};\r\n \r\n static reset(){\r\n level = INFO;\r\n logger = nopLogger;\r\n }\r\n \r\n static get level(){\r\n return level;\r\n }\r\n static set level(value){\r\n if (NONE <= value && value <= DEBUG){\r\n level = value;\r\n }\r\n else {\r\n throw new Error(\"Invalid log level\");\r\n }\r\n }\r\n \r\n static get logger(){\r\n return logger;\r\n }\r\n static set logger(value){\r\n if (!value.debug && value.info) {\r\n // just to stay backwards compat. can remove in 2.0\r\n value.debug = value.info;\r\n }\r\n\r\n if (value.debug && value.info && value.warn && value.error){\r\n logger = value;\r\n }\r\n else {\r\n throw new Error(\"Invalid logger\");\r\n }\r\n }\r\n \r\n static debug(...args){\r\n if (level >= DEBUG){\r\n logger.debug.apply(logger, Array.from(args));\r\n }\r\n }\r\n static info(...args){\r\n if (level >= INFO){\r\n logger.info.apply(logger, Array.from(args));\r\n }\r\n }\r\n static warn(...args){\r\n if (level >= WARN){\r\n logger.warn.apply(logger, Array.from(args));\r\n }\r\n }\r\n static error(...args){\r\n if (level >= ERROR){\r\n logger.error.apply(logger, Array.from(args));\r\n }\r\n }\r\n}\r\n\r\nLog.reset();\r\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","/**\r\n * Returns true if the passed value is \"plain\" object, i.e. an object whose\r\n * protoype is the root `Object.prototype`. This includes objects created\r\n * using object literals, but not for instance for class instances.\r\n *\r\n * @param {any} value The value to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n */\r\nexport default function isPlainObject(value: unknown): value is object {\r\n if (typeof value !== 'object' || value === null) return false\r\n\r\n let proto = value\r\n while (Object.getPrototypeOf(proto) !== null) {\r\n proto = Object.getPrototypeOf(proto)\r\n }\r\n\r\n return Object.getPrototypeOf(value) === proto\r\n}\r\n","import { Middleware, AnyAction } from 'redux'\r\nimport thunkMiddleware, { ThunkMiddleware } from 'redux-thunk'\r\n/* PROD_START_REMOVE_UMD */\r\nimport createImmutableStateInvariantMiddleware from 'redux-immutable-state-invariant'\r\n/* PROD_STOP_REMOVE_UMD */\r\n\r\nimport {\r\n createSerializableStateInvariantMiddleware,\r\n SerializableStateInvariantMiddlewareOptions\r\n} from './serializableStateInvariantMiddleware'\r\n\r\nfunction isBoolean(x: any): x is boolean {\r\n return typeof x === 'boolean'\r\n}\r\n\r\ninterface ThunkOptions {\r\n extraArgument: E\r\n}\r\n\r\ninterface ImmutableStateInvariantMiddlewareOptions {\r\n isImmutable?: (value: any) => boolean\r\n ignore?: string[]\r\n}\r\n\r\ninterface GetDefaultMiddlewareOptions {\r\n thunk?: boolean | ThunkOptions\r\n immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions\r\n serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions\r\n}\r\n\r\nexport type ThunkMiddlewareFor<\r\n S,\r\n O extends GetDefaultMiddlewareOptions = {}\r\n> = O extends {\r\n thunk: false\r\n}\r\n ? never\r\n : O extends { thunk: { extraArgument: infer E } }\r\n ? ThunkMiddleware\r\n :\r\n | ThunkMiddleware //The ThunkMiddleware with a `null` ExtraArgument is here to provide backwards-compatibility.\r\n | ThunkMiddleware\r\n\r\n/**\r\n * Returns any array containing the default middleware installed by\r\n * `configureStore()`. Useful if you want to configure your store with a custom\r\n * `middleware` array but still keep the default set.\r\n *\r\n * @return The default middleware used by `configureStore()`.\r\n *\r\n * @public\r\n */\r\nexport function getDefaultMiddleware<\r\n S = any,\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(options: O = {} as O): Array | ThunkMiddlewareFor> {\r\n const {\r\n thunk = true,\r\n immutableCheck = true,\r\n serializableCheck = true\r\n } = options\r\n\r\n let middlewareArray: Middleware<{}, S>[] = []\r\n\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware)\r\n } else {\r\n middlewareArray.push(\r\n thunkMiddleware.withExtraArgument(thunk.extraArgument)\r\n )\r\n }\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (immutableCheck) {\r\n /* PROD_START_REMOVE_UMD */\r\n let immutableOptions: ImmutableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createImmutableStateInvariantMiddleware(immutableOptions)\r\n )\r\n /* PROD_STOP_REMOVE_UMD */\r\n }\r\n\r\n if (serializableCheck) {\r\n let serializableOptions: SerializableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck\r\n }\r\n\r\n middlewareArray.push(\r\n createSerializableStateInvariantMiddleware(serializableOptions)\r\n )\r\n }\r\n }\r\n\r\n return middlewareArray as any\r\n}\r\n","import {\r\n createStore,\r\n compose,\r\n applyMiddleware,\r\n combineReducers,\r\n Reducer,\r\n ReducersMapObject,\r\n Middleware,\r\n Action,\r\n AnyAction,\r\n StoreEnhancer,\r\n Store,\r\n DeepPartial,\r\n Dispatch\r\n} from 'redux'\r\nimport {\r\n composeWithDevTools,\r\n EnhancerOptions as DevToolsOptions\r\n} from 'redux-devtools-extension'\r\n\r\nimport isPlainObject from './isPlainObject'\r\nimport {\r\n getDefaultMiddleware,\r\n ThunkMiddlewareFor\r\n} from './getDefaultMiddleware'\r\nimport { DispatchForMiddlewares } from './tsHelpers'\r\n\r\nconst IS_PRODUCTION = process.env.NODE_ENV === 'production'\r\n\r\n/**\r\n * Callback function type, to be used in `ConfigureStoreOptions.enhancers`\r\n *\r\n * @public\r\n */\r\nexport type ConfigureEnhancersCallback = (\r\n defaultEnhancers: StoreEnhancer[]\r\n) => StoreEnhancer[]\r\n\r\n/**\r\n * Options for `configureStore()`.\r\n *\r\n * @public\r\n */\r\nexport interface ConfigureStoreOptions<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares\r\n> {\r\n /**\r\n * A single reducer function that will be used as the root reducer, or an\r\n * object of slice reducers that will be passed to `combineReducers()`.\r\n */\r\n reducer: Reducer | ReducersMapObject\r\n\r\n /**\r\n * An array of Redux middleware to install. If not supplied, defaults to\r\n * the set of middleware returned by `getDefaultMiddleware()`.\r\n */\r\n middleware?: M\r\n\r\n /**\r\n * Whether to enable Redux DevTools integration. Defaults to `true`.\r\n *\r\n * Additional configuration can be done by passing Redux DevTools options\r\n */\r\n devTools?: boolean | DevToolsOptions\r\n\r\n /**\r\n * The initial state, same as Redux's createStore.\r\n * You may optionally specify it to hydrate the state\r\n * from the server in universal apps, or to restore a previously serialized\r\n * user session. If you use `combineReducers()` to produce the root reducer\r\n * function (either directly or indirectly by passing an object as `reducer`),\r\n * this must be an object with the same shape as the reducer map keys.\r\n */\r\n // NOTE: The needlessly complicated `S extends any ? S : S` instead of just\r\n // `S` ensures that the TypeScript compiler doesn't attempt to infer `S`\r\n // based on the value passed as `preloadedState`, which might be a partial\r\n // state rather than the full thing.\r\n preloadedState?: DeepPartial\r\n\r\n /**\r\n * The store enhancers to apply. See Redux's `createStore()`.\r\n * All enhancers will be included before the DevTools Extension enhancer.\r\n * If you need to customize the order of enhancers, supply a callback\r\n * function that will receive the original array (ie, `[applyMiddleware]`),\r\n * and should return a new array (such as `[applyMiddleware, offline]`).\r\n * If you only need to add middleware, you can use the `middleware` parameter instaead.\r\n */\r\n enhancers?: StoreEnhancer[] | ConfigureEnhancersCallback\r\n}\r\n\r\ntype Middlewares = ReadonlyArray>\r\n\r\n/**\r\n * A Redux store returned by `configureStore()`. Supports dispatching\r\n * side-effectful _thunks_ in addition to plain actions.\r\n *\r\n * @public\r\n */\r\nexport interface EnhancedStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares\r\n> extends Store {\r\n /**\r\n * The `dispatch` method of your store, enhanced by all it's middlewares.\r\n *\r\n * @inheritdoc\r\n */\r\n dispatch: DispatchForMiddlewares & Dispatch\r\n}\r\n\r\n/**\r\n * A friendly abstraction over the standard Redux `createStore()` function.\r\n *\r\n * @param config The store configuration.\r\n * @returns A configured Redux store.\r\n *\r\n * @public\r\n */\r\nexport function configureStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = [ThunkMiddlewareFor]\r\n>(options: ConfigureStoreOptions): EnhancedStore {\r\n const {\r\n reducer = undefined,\r\n middleware = getDefaultMiddleware(),\r\n devTools = true,\r\n preloadedState = undefined,\r\n enhancers = undefined\r\n } = options || {}\r\n\r\n let rootReducer: Reducer\r\n\r\n if (typeof reducer === 'function') {\r\n rootReducer = reducer\r\n } else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer)\r\n } else {\r\n throw new Error(\r\n '\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'\r\n )\r\n }\r\n\r\n const middlewareEnhancer = applyMiddleware(...middleware)\r\n\r\n let finalCompose = compose\r\n\r\n if (devTools) {\r\n finalCompose = composeWithDevTools({\r\n // Enable capture of stack traces for dispatched Redux actions\r\n trace: !IS_PRODUCTION,\r\n ...(typeof devTools === 'object' && devTools)\r\n })\r\n }\r\n\r\n let storeEnhancers: StoreEnhancer[] = [middlewareEnhancer]\r\n\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = [middlewareEnhancer, ...enhancers]\r\n } else if (typeof enhancers === 'function') {\r\n storeEnhancers = enhancers(storeEnhancers)\r\n }\r\n\r\n const composedEnhancer = finalCompose(...storeEnhancers) as any\r\n\r\n return createStore(\r\n rootReducer,\r\n preloadedState as DeepPartial,\r\n composedEnhancer\r\n )\r\n}\r\n","import { Action } from 'redux'\r\nimport {\r\n IsUnknownOrNonInferrable,\r\n IfMaybeUndefined,\r\n IfVoid,\r\n IsAny\r\n} from './tsHelpers'\r\n\r\n/**\r\n * An action with a string type and an associated payload. This is the\r\n * type of action returned by `createAction()` action creators.\r\n *\r\n * @template P The type of the action's payload.\r\n * @template T the type used for the action type.\r\n * @template M The type of the action's meta (optional)\r\n * @template E The type of the action's error (optional)\r\n *\r\n * @public\r\n */\r\nexport type PayloadAction<\r\n P = void,\r\n T extends string = string,\r\n M = never,\r\n E = never\r\n> = {\r\n payload: P\r\n type: T\r\n} & ([M] extends [never]\r\n ? {}\r\n : {\r\n meta: M\r\n }) &\r\n ([E] extends [never]\r\n ? {}\r\n : {\r\n error: E\r\n })\r\n\r\n/**\r\n * A \"prepare\" method to be used as the second parameter of `createAction`.\r\n * Takes any number of arguments and returns a Flux Standard Action without\r\n * type (will be added later) that *must* contain a payload (might be undefined).\r\n *\r\n * @public\r\n */\r\nexport type PrepareAction

=\r\n | ((...args: any[]) => { payload: P })\r\n | ((...args: any[]) => { payload: P; meta: any })\r\n | ((...args: any[]) => { payload: P; error: any })\r\n | ((...args: any[]) => { payload: P; meta: any; error: any })\r\n\r\n/**\r\n * Internal version of `ActionCreatorWithPreparedPayload`. Not to be used externally.\r\n *\r\n * @internal\r\n */\r\nexport type _ActionCreatorWithPreparedPayload<\r\n PA extends PrepareAction | void,\r\n T extends string = string\r\n> = PA extends PrepareAction\r\n ? ActionCreatorWithPreparedPayload<\r\n Parameters,\r\n P,\r\n T,\r\n ReturnType extends {\r\n error: infer E\r\n }\r\n ? E\r\n : never,\r\n ReturnType extends {\r\n meta: infer M\r\n }\r\n ? M\r\n : never\r\n >\r\n : void\r\n\r\n/**\r\n * Basic type for all action creators.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n */\r\ninterface BaseActionCreator {\r\n type: T\r\n match(action: Action): action is PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that takes multiple arguments that are passed\r\n * to a `PrepareAction` method to create the final Action.\r\n * @typeParam Args arguments for the action creator function\r\n * @typeParam P `payload` type\r\n * @typeParam T `type` name\r\n * @typeParam E optional `error` type\r\n * @typeParam M optional `meta` type\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPreparedPayload<\r\n Args extends unknown[],\r\n P,\r\n T extends string = string,\r\n E = never,\r\n M = never\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with `Args` will return\r\n * an Action with a payload of type `P` and (depending on the `PrepareAction`\r\n * method used) a `meta`- and `error` property of types `M` and `E` respectively.\r\n */\r\n (...args: Args): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes an optional payload of type `P`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithOptionalPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} without arguments will\r\n * return a {@link PayloadAction} of type `T` with a payload of `undefined`\r\n */\r\n (payload?: undefined): PayloadAction\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`\r\n */\r\n >(payload?: PT): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes no payload.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithoutPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} will\r\n * return a {@link PayloadAction} of type `T` with a payload of `undefined`\r\n */\r\n (): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that requires a payload of type P.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`\r\n * If possible, `P` will be narrowed down to the exact type of the payload argument.\r\n */\r\n (payload: PT): PayloadAction\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`\r\n */\r\n (payload: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` whose `payload` type could not be inferred. Accepts everything as `payload`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithNonInferrablePayload<\r\n T extends string = string\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload\r\n * of exactly the type of the argument.\r\n */\r\n (payload: PT): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that produces actions with a `payload` attribute.\r\n *\r\n * @typeParam P the `payload` type\r\n * @typeParam T the `type` of the resulting action\r\n * @typeParam PA if the resulting action is preprocessed by a `prepare` method, the signature of said method.\r\n *\r\n * @public\r\n */\r\nexport type PayloadActionCreator<\r\n P = void,\r\n T extends string = string,\r\n PA extends PrepareAction

| void = void\r\n> = IfPrepareActionMethodProvided<\r\n PA,\r\n _ActionCreatorWithPreparedPayload,\r\n // else\r\n IsAny<\r\n P,\r\n ActionCreatorWithPayload,\r\n IsUnknownOrNonInferrable<\r\n P,\r\n ActionCreatorWithNonInferrablePayload,\r\n // else\r\n IfVoid<\r\n P,\r\n ActionCreatorWithoutPayload,\r\n // else\r\n IfMaybeUndefined<\r\n P,\r\n ActionCreatorWithOptionalPayload,\r\n // else\r\n ActionCreatorWithPayload\r\n >\r\n >\r\n >\r\n >\r\n>\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass it's arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction

(\r\n type: T\r\n): PayloadActionCreator\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass it's arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction<\r\n PA extends PrepareAction,\r\n T extends string = string\r\n>(\r\n type: T,\r\n prepareAction: PA\r\n): PayloadActionCreator['payload'], T, PA>\r\n\r\nexport function createAction(type: string, prepareAction?: Function): any {\r\n function actionCreator(...args: any[]) {\r\n if (prepareAction) {\r\n let prepared = prepareAction(...args)\r\n if (!prepared) {\r\n throw new Error('prepareAction did not return an object')\r\n }\r\n\r\n return {\r\n type,\r\n payload: prepared.payload,\r\n ...('meta' in prepared && { meta: prepared.meta }),\r\n ...('error' in prepared && { error: prepared.error })\r\n }\r\n }\r\n return { type, payload: args[0] }\r\n }\r\n\r\n actionCreator.toString = () => `${type}`\r\n\r\n actionCreator.type = type\r\n\r\n actionCreator.match = (action: Action): action is PayloadAction =>\r\n action.type === type\r\n\r\n return actionCreator\r\n}\r\n\r\n/**\r\n * Returns the action type of the actions created by the passed\r\n * `createAction()`-generated action creator (arbitrary action creators\r\n * are not supported).\r\n *\r\n * @param action The action creator whose action type to get.\r\n * @returns The action type used by the action creator.\r\n *\r\n * @public\r\n */\r\nexport function getType(\r\n actionCreator: PayloadActionCreator\r\n): T {\r\n return `${actionCreator}` as T\r\n}\r\n\r\n// helper types for more readable typings\r\n\r\ntype Diff = T extends U ? never : T\r\n\r\ntype IfPrepareActionMethodProvided<\r\n PA extends PrepareAction | void,\r\n True,\r\n False\r\n> = PA extends (...args: any[]) => any ? True : False\r\n","import { Action } from 'redux'\r\nimport { CaseReducer, CaseReducers } from './createReducer'\r\n\r\nexport interface TypedActionCreator {\r\n (...args: any[]): Action\r\n type: Type\r\n}\r\n\r\n/**\r\n * A builder for an action <-> reducer map.\r\n *\r\n * @public\r\n */\r\nexport interface ActionReducerMapBuilder {\r\n /**\r\n * Add a case reducer for actions created by this action creator.\r\n * @param actionCreator\r\n * @param reducer\r\n */\r\n addCase>(\r\n actionCreator: ActionCreator,\r\n reducer: CaseReducer>\r\n ): ActionReducerMapBuilder\r\n /**\r\n * Add a case reducer for actions with the specified type.\r\n * @param type\r\n * @param reducer\r\n */\r\n addCase>(\r\n type: Type,\r\n reducer: CaseReducer\r\n ): ActionReducerMapBuilder\r\n}\r\n\r\nexport function executeReducerBuilderCallback(\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): CaseReducers {\r\n const actionsMap: CaseReducers = {}\r\n const builder = {\r\n addCase(\r\n typeOrActionCreator: string | TypedActionCreator,\r\n reducer: CaseReducer\r\n ) {\r\n const type =\r\n typeof typeOrActionCreator === 'string'\r\n ? typeOrActionCreator\r\n : typeOrActionCreator.type\r\n if (type in actionsMap) {\r\n throw new Error(\r\n 'addCase cannot be called with two reducers for the same action type'\r\n )\r\n }\r\n actionsMap[type] = reducer\r\n return builder\r\n }\r\n }\r\n builderCallback(builder)\r\n return actionsMap\r\n}\r\n","import createNextState, { Draft } from 'immer'\r\nimport { AnyAction, Action, Reducer } from 'redux'\r\nimport {\r\n executeReducerBuilderCallback,\r\n ActionReducerMapBuilder\r\n} from './mapBuilders'\r\n\r\n/**\r\n * Defines a mapping from action types to corresponding action object shapes.\r\n *\r\n * @deprecated This should not be used manually - it is only used for internal\r\n * inference purposes and should not have any further value.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type Actions = Record\r\n\r\n/**\r\n * An *case reducer* is a reducer function for a specific action type. Case\r\n * reducers can be composed to full reducers using `createReducer()`.\r\n *\r\n * Unlike a normal Redux reducer, a case reducer is never called with an\r\n * `undefined` state to determine the initial state. Instead, the initial\r\n * state is explicitly specified as an argument to `createReducer()`.\r\n *\r\n * In addition, a case reducer can choose to mutate the passed-in `state`\r\n * value directly instead of returning a new state. This does not actually\r\n * cause the store state to be mutated directly; instead, thanks to\r\n * [immer](https://github.com/mweststrate/immer), the mutations are\r\n * translated to copy operations that result in a new state.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducer = (\r\n state: Draft,\r\n action: A\r\n) => S | void\r\n\r\n/**\r\n * A mapping from action types to case reducers for `createReducer()`.\r\n *\r\n * @deprecated This should not be used manually - it is only used\r\n * for internal inference purposes and using it manually\r\n * would lead to type erasure.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type CaseReducers = {\r\n [T in keyof AS]: AS[T] extends Action ? CaseReducer : void\r\n}\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n *\r\n * @param initialState The initial state to be returned by the reducer.\r\n * @param actionsMap A mapping from action types to action-type-specific\r\n * case reducers.\r\n *\r\n * @public\r\n */\r\nexport function createReducer<\r\n S,\r\n CR extends CaseReducers = CaseReducers\r\n>(initialState: S, actionsMap: CR): Reducer\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n * @param initialState The initial state to be returned by the reducer.\r\n * @param builderCallback A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n *\r\n * @public\r\n */\r\nexport function createReducer(\r\n initialState: S,\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): Reducer\r\n\r\nexport function createReducer(\r\n initialState: S,\r\n mapOrBuilderCallback:\r\n | CaseReducers\r\n | ((builder: ActionReducerMapBuilder) => void)\r\n): Reducer {\r\n let actionsMap =\r\n typeof mapOrBuilderCallback === 'function'\r\n ? executeReducerBuilderCallback(mapOrBuilderCallback)\r\n : mapOrBuilderCallback\r\n\r\n return function(state = initialState, action): S {\r\n // @ts-ignore createNextState() produces an Immutable> rather\r\n // than an Immutable, and TypeScript cannot find out how to reconcile\r\n // these two types.\r\n return createNextState(state, (draft: Draft) => {\r\n const caseReducer = actionsMap[action.type]\r\n return caseReducer ? caseReducer(draft, action) : undefined\r\n })\r\n }\r\n}\r\n","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","module.exports = require(\"regenerator-runtime\");\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","function defaultEqualityCheck(a, b) {\n return a === b;\n}\n\nfunction areArgumentsShallowlyEqual(equalityCheck, prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n\n // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n var length = prev.length;\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function defaultMemoize(func) {\n var equalityCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultEqualityCheck;\n\n var lastArgs = null;\n var lastResult = null;\n // we reference arguments instead of spreading them for performance reasons\n return function () {\n if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\n // apply arguments instead of spreading for performance.\n lastResult = func.apply(null, arguments);\n }\n\n lastArgs = arguments;\n return lastResult;\n };\n}\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep;\n }).join(', ');\n throw new Error('Selector creators expect all input-selectors to be functions, ' + ('instead received the following types: [' + dependencyTypes + ']'));\n }\n\n return dependencies;\n}\n\nexport function createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptions = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptions[_key - 1] = arguments[_key];\n }\n\n return function () {\n for (var _len2 = arguments.length, funcs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var recomputations = 0;\n var resultFunc = funcs.pop();\n var dependencies = getDependencies(funcs);\n\n var memoizedResultFunc = memoize.apply(undefined, [function () {\n recomputations++;\n // apply arguments instead of spreading for performance.\n return resultFunc.apply(null, arguments);\n }].concat(memoizeOptions));\n\n // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n var selector = memoize(function () {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n params.push(dependencies[i].apply(null, arguments));\n }\n\n // apply arguments instead of spreading for performance.\n return memoizedResultFunc.apply(null, params);\n });\n\n selector.resultFunc = resultFunc;\n selector.dependencies = dependencies;\n selector.recomputations = function () {\n return recomputations;\n };\n selector.resetRecomputations = function () {\n return recomputations = 0;\n };\n return selector;\n };\n}\n\nexport var createSelector = createSelectorCreator(defaultMemoize);\n\nexport function createStructuredSelector(selectors) {\n var selectorCreator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : createSelector;\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + ('where each property is a selector, instead received a ' + typeof selectors));\n }\n var objectKeys = Object.keys(selectors);\n return selectorCreator(objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n}","import $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n keys.push.apply(keys, Object.getOwnPropertySymbols(object));\n }\n\n if (enumerableOnly) keys = keys.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread2({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_util_subscribeTo PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nimport { Observable } from './Observable';\nimport { subscribeTo } from './util/subscribeTo';\nvar SimpleInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleInnerSubscriber, _super);\n function SimpleInnerSubscriber(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n SimpleInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(value);\n };\n SimpleInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n SimpleInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete();\n this.unsubscribe();\n };\n return SimpleInnerSubscriber;\n}(Subscriber));\nexport { SimpleInnerSubscriber };\nvar ComplexInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexInnerSubscriber, _super);\n function ComplexInnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n return _this;\n }\n ComplexInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n };\n ComplexInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n ComplexInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return ComplexInnerSubscriber;\n}(Subscriber));\nexport { ComplexInnerSubscriber };\nvar SimpleOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleOuterSubscriber, _super);\n function SimpleOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleOuterSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n SimpleOuterSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n SimpleOuterSubscriber.prototype.notifyComplete = function () {\n this.destination.complete();\n };\n return SimpleOuterSubscriber;\n}(Subscriber));\nexport { SimpleOuterSubscriber };\nvar ComplexOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexOuterSubscriber, _super);\n function ComplexOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComplexOuterSubscriber.prototype.notifyNext = function (_outerValue, innerValue, _outerIndex, _innerSub) {\n this.destination.next(innerValue);\n };\n ComplexOuterSubscriber.prototype.notifyError = function (error) {\n this.destination.error(error);\n };\n ComplexOuterSubscriber.prototype.notifyComplete = function (_innerSub) {\n this.destination.complete();\n };\n return ComplexOuterSubscriber;\n}(Subscriber));\nexport { ComplexOuterSubscriber };\nexport function innerSubscribe(result, innerSubscriber) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n var subscription;\n try {\n subscription = subscribeTo(result)(innerSubscriber);\n }\n catch (error) {\n innerSubscriber.error(error);\n }\n return subscription;\n}\n//# sourceMappingURL=innerSubscribe.js.map\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n return function () {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (isNativeReflectConstruct()) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { normalize, between } from 'duration-fns';\nimport { v4 } from 'uuid';\nimport ky from 'ky-universal';\nimport { validate as validate$1 } from 'jsonschema';\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar EntityType;\n\n(function (EntityType) {\n EntityType[\"Entity\"] = \"Entity\";\n EntityType[\"Agent\"] = \"Agent\";\n EntityType[\"AggregateMeasure\"] = \"AggregateMeasure\";\n EntityType[\"AggregateMeasureCollection\"] = \"AggregateMeasureCollection\";\n EntityType[\"Annotation\"] = \"Annotation\";\n EntityType[\"Assessment\"] = \"Assessment\";\n EntityType[\"AssessmentItem\"] = \"AssessmentItem\";\n EntityType[\"AssignableDigitalResource\"] = \"AssignableDigitalResource\";\n EntityType[\"Attempt\"] = \"Attempt\";\n EntityType[\"AudioObject\"] = \"AudioObject\";\n EntityType[\"BookmarkAnnotation\"] = \"BookmarkAnnotation\";\n EntityType[\"Chapter\"] = \"Chapter\";\n EntityType[\"Collection\"] = \"Collection\";\n EntityType[\"Comment\"] = \"Comment\";\n EntityType[\"CourseOffering\"] = \"CourseOffering\";\n EntityType[\"CourseSection\"] = \"CourseSection\";\n EntityType[\"DateTimeQuestion\"] = \"DateTimeQuestion\";\n EntityType[\"DateTimeResponse\"] = \"DateTimeResponse\";\n EntityType[\"DigitalResource\"] = \"DigitalResource\";\n EntityType[\"DigitalResourceCollection\"] = \"DigitalResourceCollection\";\n EntityType[\"Document\"] = \"Document\";\n EntityType[\"FillinBlankResponse\"] = \"FillinBlankResponse\";\n EntityType[\"Forum\"] = \"Forum\";\n EntityType[\"Frame\"] = \"Frame\";\n EntityType[\"Group\"] = \"Group\";\n EntityType[\"HighlightAnnotation\"] = \"HighlightAnnotation\";\n EntityType[\"ImageObject\"] = \"ImageObject\";\n EntityType[\"LearningObjective\"] = \"LearningObjective\";\n EntityType[\"LikertScale\"] = \"LikertScale\";\n EntityType[\"Link\"] = \"Link\";\n EntityType[\"LtiLink\"] = \"LtiLink\";\n EntityType[\"LtiSession\"] = \"LtiSession\";\n EntityType[\"MediaLocation\"] = \"MediaLocation\";\n EntityType[\"MediaObject\"] = \"MediaObject\";\n EntityType[\"Membership\"] = \"Membership\";\n EntityType[\"Message\"] = \"Message\";\n EntityType[\"MultipleChoiceResponse\"] = \"MultipleChoiceResponse\";\n EntityType[\"MultipleResponseResponse\"] = \"MultipleResponseResponse\";\n EntityType[\"MultiselectQuestion\"] = \"MultiselectQuestion\";\n EntityType[\"MultiselectResponse\"] = \"MultiselectResponse\";\n EntityType[\"MultiselectScale\"] = \"MultiselectScale\";\n EntityType[\"NumericScale\"] = \"NumericScale\";\n EntityType[\"OpenEndedQuestion\"] = \"OpenEndedQuestion\";\n EntityType[\"OpenEndedResponse\"] = \"OpenEndedResponse\";\n EntityType[\"Organization\"] = \"Organization\";\n EntityType[\"Page\"] = \"Page\";\n EntityType[\"Person\"] = \"Person\";\n EntityType[\"Query\"] = \"Query\";\n EntityType[\"Question\"] = \"Question\";\n EntityType[\"Questionnaire\"] = \"Questionnaire\";\n EntityType[\"QuestionnaireItem\"] = \"QuestionnaireItem\";\n EntityType[\"Rating\"] = \"Rating\";\n EntityType[\"RatingScaleQuestion\"] = \"RatingScaleQuestion\";\n EntityType[\"RatingScaleResponse\"] = \"RatingScaleResponse\";\n EntityType[\"Response\"] = \"Response\";\n EntityType[\"Result\"] = \"Result\";\n EntityType[\"Scale\"] = \"Scale\";\n EntityType[\"Score\"] = \"Score\";\n EntityType[\"SearchResponse\"] = \"SearchResponse\";\n EntityType[\"SelectTextResponse\"] = \"SelectTextResponse\";\n EntityType[\"Session\"] = \"Session\";\n EntityType[\"SharedAnnotation\"] = \"SharedAnnotation\";\n EntityType[\"SoftwareApplication\"] = \"SoftwareApplication\";\n EntityType[\"Survey\"] = \"Survey\";\n EntityType[\"SurveyInvitation\"] = \"SurveyInvitation\";\n EntityType[\"TagAnnotation\"] = \"TagAnnotation\";\n EntityType[\"Thread\"] = \"Thread\";\n EntityType[\"TrueFalseResponse\"] = \"TrueFalseResponse\";\n EntityType[\"VideoObject\"] = \"VideoObject\";\n EntityType[\"WebPage\"] = \"WebPage\";\n EntityType[\"User\"] = \"User\";\n EntityType[\"Student\"] = \"Student\";\n EntityType[\"Instructor\"] = \"Instructor\";\n EntityType[\"School\"] = \"School\";\n EntityType[\"District\"] = \"District\";\n EntityType[\"Class\"] = \"Class\";\n EntityType[\"ILP\"] = \"ILP\";\n EntityType[\"Lesson\"] = \"Lesson\";\n EntityType[\"Award\"] = \"Award\";\n EntityType[\"MasteryScore\"] = \"MasteryScore\";\n EntityType[\"PlacementTest\"] = \"PlacementTest\";\n EntityType[\"PlacementScore\"] = \"PlacementScore\";\n EntityType[\"UserSession\"] = \"UserSession\";\n EntityType[\"EducationStandard\"] = \"EducationStandard\";\n EntityType[\"Domain\"] = \"Domain\";\n EntityType[\"Configuration\"] = \"Configuration\";\n EntityType[\"Placement\"] = \"Placement\";\n})(EntityType || (EntityType = {}));\n\n/**\r\n * Global settings for Caliper\r\n */\n\nvar settings = {};\n/**\r\n * Format or create an instance of a Caliper compliant UUID\r\n * @param guid The optional uuid v4 object to format\r\n */\n\nfunction uuid(guid) {\n return \"urn:uuid:\" + (guid != null ? guid : v4());\n}\n/**\r\n * Creates a Caliper compliant URN from the specified namespace identifier(s)\r\n * and namespace-specific string(s)\r\n */\n\n\nfunction urn(_ref) {\n var nid = _ref.nid,\n nss = _ref.nss;\n return (\"urn:\" + (Array.isArray(nid) ? nid.join(':') : nid) + \":\" + (Array.isArray(nss) ? nss.join(':') : nss)).toLowerCase();\n}\n/**\r\n * Create a Caliper event.edApp instance using the applicationUri in the global settings\r\n */\n\n\nfunction edApp(_temp) {\n var _ref2 = _temp === void 0 ? settings != null ? settings : {} : _temp,\n id = _ref2.applicationUri;\n\n if (!id) {\n return null;\n }\n\n return {\n id: id,\n type: EntityType.SoftwareApplication\n };\n}\n/**\r\n * Formats a Caliper compliant timestamp using one of the supported object types\r\n * @param date The date object to format\r\n */\n\n\nfunction timestamp(date) {\n var dateObj;\n\n if (!date) {\n dateObj = new Date(Date.now());\n } else if (date instanceof Date) {\n dateObj = date;\n } else if (typeof date === 'string') {\n dateObj = new Date(Date.parse(date));\n } else {\n dateObj = new Date(date);\n }\n\n return dateObj.toISOString();\n}\n\nvar formatDuration = function formatDuration(_ref3) {\n var years = _ref3.years,\n months = _ref3.months,\n weeks = _ref3.weeks,\n days = _ref3.days,\n hours = _ref3.hours,\n minutes = _ref3.minutes,\n seconds = _ref3.seconds,\n milliseconds = _ref3.milliseconds;\n\n // The complexity of this method is because the library was converting (2041801ms => PT34M1.8010000002S)\n // probably because of inappropriate use of floating point vs integerial operations internally?\n var t = function t(value, suffix) {\n return value ? \"\" + value + suffix : '';\n };\n\n var formattedSeconds = (seconds * 1000 + milliseconds) / 1000;\n var text = \"P\" + t(years, 'Y') + t(months, 'M') + t(weeks, 'W') + t(days, 'D');\n\n if (hours || minutes || formattedSeconds) {\n text += \"T\" + t(hours, 'H') + t(minutes, 'M') + t(formattedSeconds, 'S');\n }\n\n return text;\n};\n/**\r\n * Formats a Caliper compliant duration using a Date range\r\n * @param startedAtTime The start of the Date range\r\n * @param endedAtTime The end of the Date range\r\n */\n\n\nfunction duration(startedAtTime, endedAtTime) {\n var start = startedAtTime instanceof Date ? startedAtTime : new Date(Date.parse(startedAtTime));\n var end = endedAtTime instanceof Date ? endedAtTime : new Date(Date.parse(endedAtTime));\n return formatDuration(normalize(between(start, end)));\n}\n/**\r\n * Formats a Caliper compliant duration using a scalar millisecond value\r\n * @param milliseconds The scalar amount of milliseconds\r\n */\n\n\nfunction durationMilliseconds(milliseconds) {\n return formatDuration(normalize({\n milliseconds: milliseconds\n }));\n}\n\nvar Caliper = {\n settings: settings,\n uuid: uuid,\n urn: urn,\n edApp: edApp,\n timestamp: timestamp,\n duration: duration,\n durationMilliseconds: durationMilliseconds\n};\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar runtime_1 = createCommonjsModule(function (module) {\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined$1; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined$1) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined$1;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined$1;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined$1;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined$1, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined$1;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined$1;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined$1;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined$1;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined$1;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n module.exports \n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n});\n\nvar HttpClient = /*#__PURE__*/function () {\n function HttpClient(id, options) {\n this.id = id;\n this.options = options;\n\n if (!id) {\n throw new Error('Caliper Sensor Client identifier (id) has not been provided.');\n }\n\n if (!Object.getOwnPropertyNames(options).length) {\n throw new Error('No options have been provided.');\n }\n }\n\n var _proto = HttpClient.prototype;\n\n _proto.bearer = function bearer(token) {\n var options = _extends({}, this.options);\n\n if (token) {\n options.headers = _extends({}, options.headers, {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Authorization: \"Bearer \" + token\n });\n }\n\n return new HttpClient(this.id, options);\n };\n\n _proto.getId = function getId() {\n return this.id;\n };\n\n _proto.getHeaders = function getHeaders() {\n return this.options.headers;\n };\n\n _proto.getUri = function getUri() {\n return this.options.uri;\n };\n\n _proto.send = /*#__PURE__*/function () {\n var _send = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(envelope) {\n var task, response, message, _message;\n\n return runtime_1.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(Object.keys(envelope).length === 0)) {\n _context.next = 2;\n break;\n }\n\n throw new Error('Chosen Requestor has not been registered.');\n\n case 2:\n task = ky.post(this.options.uri, {\n json: envelope,\n headers: this.options.headers\n });\n _context.prev = 3;\n _context.next = 6;\n return task;\n\n case 6:\n response = _context.sent;\n\n if (response.ok) {\n _context.next = 16;\n break;\n }\n\n _context.next = 10;\n return response.text();\n\n case 10:\n _context.t0 = _context.sent;\n _context.t1 = Caliper.settings.applicationUri;\n _context.t2 = envelope;\n message = {\n error: _context.t0,\n source: _context.t1,\n payload: _context.t2\n };\n _context.next = 16;\n return this.queueDeadletterMessage(message);\n\n case 16:\n _context.next = 23;\n break;\n\n case 18:\n _context.prev = 18;\n _context.t3 = _context[\"catch\"](3);\n _message = {\n error: _context.t3,\n source: Caliper.settings.applicationUri,\n payload: envelope\n };\n _context.next = 23;\n return this.queueDeadletterMessage(_message);\n\n case 23:\n return _context.abrupt(\"return\", task.json());\n\n case 24:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[3, 18]]);\n }));\n\n function send(_x) {\n return _send.apply(this, arguments);\n }\n\n return send;\n }();\n\n _proto.queueDeadletterMessage = /*#__PURE__*/function () {\n var _queueDeadletterMessage = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(message) {\n var response;\n return runtime_1.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (this.options.deadletterUrl) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n _context2.next = 4;\n return ky.post(this.options.deadletterUrl, {\n json: _extends({}, message, {\n destination: this.options.uri\n }),\n headers: this.options.headers\n });\n\n case 4:\n response = _context2.sent;\n\n if (response.ok) {\n _context2.next = 12;\n break;\n }\n\n _context2.t0 = Error;\n _context2.next = 9;\n return response.text();\n\n case 9:\n _context2.t1 = _context2.sent;\n _context2.t2 = \"Failed to deadletter envelope. \" + _context2.t1;\n throw new _context2.t0(_context2.t2);\n\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function queueDeadletterMessage(_x2) {\n return _queueDeadletterMessage.apply(this, arguments);\n }\n\n return queueDeadletterMessage;\n }();\n\n return HttpClient;\n}();\nfunction httpClient(id, uri, token, deadletterUrl) {\n var options = {\n uri: uri,\n deadletterUrl: deadletterUrl,\n headers: {}\n };\n return new HttpClient(id, options).bearer(token);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar CredentialType;\n\n(function (CredentialType) {\n CredentialType[\"Username\"] = \"Username\";\n CredentialType[\"Password\"] = \"Password\";\n CredentialType[\"QRCode\"] = \"QRCode\";\n})(CredentialType || (CredentialType = {}));\n\nfunction createAcademicSession(params) {\n return _extends({\n dateLastModified: Caliper.timestamp(),\n startDate: Caliper.timestamp(),\n endDate: Caliper.timestamp()\n }, params);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar AcademicSessionStatus;\n\n(function (AcademicSessionStatus) {\n AcademicSessionStatus[\"Active\"] = \"Active\";\n AcademicSessionStatus[\"ToBeDeleted\"] = \"ToBeDeleted\";\n})(AcademicSessionStatus || (AcademicSessionStatus = {}));\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar AcademicSessionType;\n\n(function (AcademicSessionType) {\n AcademicSessionType[\"GradingPeriod\"] = \"GradingPeriod\";\n AcademicSessionType[\"Semester\"] = \"Semester\";\n AcademicSessionType[\"SchoolYear\"] = \"SchoolYear\";\n AcademicSessionType[\"Term\"] = \"Term\";\n})(AcademicSessionType || (AcademicSessionType = {}));\n\nfunction createAgent(params) {\n return _extends({\n type: EntityType.Agent\n }, params);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar CaliperMetric;\n\n(function (CaliperMetric) {\n CaliperMetric[\"AssessmentsPassed\"] = \"AssessmentsPassed\";\n CaliperMetric[\"AssessmentsSubmitted\"] = \"AssessmentsSubmitted\";\n CaliperMetric[\"MinutesOnTask\"] = \"MinutesOnTask\";\n CaliperMetric[\"SkillsMastered\"] = \"SkillsMastered\";\n CaliperMetric[\"StandardsMastered\"] = \"StandardsMastered\";\n CaliperMetric[\"UnitsCompleted\"] = \"UnitsCompleted\";\n CaliperMetric[\"UnitsPassed\"] = \"UnitsPassed\";\n CaliperMetric[\"WordsRead\"] = \"WordsRead\";\n})(CaliperMetric || (CaliperMetric = {}));\n\nfunction createAggregateMeasure(params) {\n return _extends({\n type: EntityType.AggregateMeasure,\n metricValue: 0,\n maxMetricValue: 0,\n metric: CaliperMetric.AssessmentsPassed\n }, params);\n}\n\nfunction createAggregateMeasureCollection(params) {\n return _extends({\n type: EntityType.AggregateMeasureCollection\n }, params);\n}\n\nfunction createAnnotation(params) {\n return _extends({\n type: EntityType.Annotation\n }, params);\n}\n\nfunction createAssessment(params) {\n return _extends({\n type: EntityType.Assessment\n }, params);\n}\n\nfunction createAssessmentItem(params) {\n return _extends({\n type: EntityType.AssessmentItem\n }, params);\n}\n\nfunction createAssignableDigitalResource(params) {\n return _extends({\n type: EntityType.AssignableDigitalResource\n }, params);\n}\n\nfunction createAttempt(params) {\n return _extends({\n type: EntityType.Attempt\n }, params);\n}\n\nfunction createAudioObject(params) {\n return _extends({\n type: EntityType.AudioObject\n }, params);\n}\n\nfunction createAward(params) {\n return _extends({\n type: EntityType.Award,\n amount: 0\n }, params);\n}\n\nfunction createBookmarkAnnotation(params) {\n return _extends({\n type: EntityType.BookmarkAnnotation\n }, params);\n}\n\nfunction createChapter(params) {\n return _extends({\n type: EntityType.Chapter\n }, params);\n}\n\nfunction createClass(params) {\n return _extends({\n type: EntityType.Class\n }, params);\n}\n\nfunction createCollection(params) {\n return _extends({\n type: EntityType.Collection\n }, params);\n}\n\nfunction createComment(params) {\n return _extends({\n type: EntityType.Comment\n }, params);\n}\n\nfunction createConfiguration(params) {\n return _extends({\n type: EntityType.Configuration\n }, params);\n}\n\nfunction createCourseOffering(params) {\n return _extends({\n type: EntityType.CourseOffering\n }, params);\n}\n\nfunction createCourseSection(params) {\n return _extends({\n type: EntityType.CourseSection\n }, params);\n}\n\nfunction createDateTimeQuestion(params) {\n return _extends({\n type: EntityType.DateTimeQuestion\n }, params);\n}\n\nfunction createDateTimeResponse(params) {\n return _extends({\n type: EntityType.DateTimeResponse\n }, params);\n}\n\nfunction createDigitalResource(params) {\n return _extends({\n type: EntityType.DigitalResource\n }, params);\n}\n\nfunction createDigitalResourceCollection(params) {\n return _extends({\n type: EntityType.DigitalResourceCollection\n }, params);\n}\n\nfunction createDistrict(params) {\n return _extends({\n type: EntityType.District\n }, params);\n}\n\nfunction createDocument(params) {\n return _extends({\n type: EntityType.Document\n }, params);\n}\n\nfunction createDomain(params) {\n return _extends({\n type: EntityType.Domain,\n id: \"urn:domain:\" + params.standard.toLocaleUpperCase() + \".\" + params.code.toLocaleUpperCase()\n }, params);\n}\n\nfunction createEducationStandard(params) {\n return _extends({\n type: EntityType.EducationStandard\n }, params);\n}\n\nfunction createEntity(params) {\n return _extends({\n type: EntityType.Entity\n }, params);\n}\n\nfunction createFillInBlankResponse(params) {\n return _extends({\n type: EntityType.FillinBlankResponse\n }, params);\n}\n\nfunction createForum(params) {\n return _extends({\n type: EntityType.Forum\n }, params);\n}\n\nfunction createFrame(params) {\n return _extends({\n type: EntityType.Frame\n }, params);\n}\n\nfunction createGroup(params) {\n return _extends({\n type: EntityType.Group\n }, params);\n}\n\nfunction createHighlightAnnotation(params) {\n return _extends({\n type: EntityType.HighlightAnnotation\n }, params);\n}\n\nfunction createImageObject(params) {\n return _extends({\n type: EntityType.ImageObject\n }, params);\n}\n\nfunction createIndividualizedLearningPath(params) {\n return _extends({\n type: EntityType.ILP,\n schoolYear: 0\n }, params);\n}\n\nfunction createInstructor(params) {\n return _extends({\n type: EntityType.Instructor\n }, params);\n}\n\nfunction createLearningObjective(params) {\n return _extends({\n type: EntityType.LearningObjective\n }, params);\n}\n\nfunction createLesson(params) {\n return _extends({\n type: EntityType.Lesson\n }, params);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar LessonStatus;\n\n(function (LessonStatus) {\n LessonStatus[\"Passed\"] = \"Passed\";\n LessonStatus[\"Failed\"] = \"Failed\";\n})(LessonStatus || (LessonStatus = {}));\n\nfunction createLikertScale(params) {\n return _extends({\n type: EntityType.LikertScale\n }, params);\n}\n\nfunction createLink(params) {\n return _extends({\n type: EntityType.Link\n }, params);\n}\n\nfunction createLtiLink(params) {\n return _extends({\n type: EntityType.LtiLink\n }, params);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar LtiMessageType;\n\n(function (LtiMessageType) {\n LtiMessageType[\"LtiResourceLinkRequest\"] = \"LtiResourceLinkRequest\";\n LtiMessageType[\"LtiDeepLinkingRequest\"] = \"LtiDeepLinkingRequest\";\n LtiMessageType[\"LtiDeepLinkingResponse\"] = \"LtiDeepLinkingResponse\";\n})(LtiMessageType || (LtiMessageType = {}));\n\nfunction createLtiSession(params) {\n return _extends({\n type: EntityType.LtiSession\n }, params);\n}\n\nfunction createMasteryScore(params) {\n return _extends({\n type: EntityType.MasteryScore\n }, params);\n}\n\nfunction createMediaLocation(params) {\n return _extends({\n type: EntityType.MediaLocation\n }, params);\n}\n\nfunction createMediaObject(params) {\n return _extends({\n type: EntityType.MediaObject\n }, params);\n}\n\nfunction createMembership(params) {\n return _extends({\n type: EntityType.Membership\n }, params);\n}\n\nfunction createMessage(params) {\n return _extends({\n type: EntityType.Message\n }, params);\n}\n\nfunction createMultipleChoiceResponse(params) {\n return _extends({\n type: EntityType.MultipleChoiceResponse\n }, params);\n}\n\nfunction createMultipleResponseResponse(params) {\n return _extends({\n type: EntityType.MultipleResponseResponse\n }, params);\n}\n\nfunction createMultiselectQuestion(params) {\n return _extends({\n type: EntityType.MultiselectQuestion\n }, params);\n}\n\nfunction createMultiselectResponse(params) {\n return _extends({\n type: EntityType.MultiselectResponse\n }, params);\n}\n\nfunction createMultiselectScale(params) {\n return _extends({\n type: EntityType.MultiselectScale\n }, params);\n}\n\nfunction createNumericScale(params) {\n return _extends({\n type: EntityType.NumericScale\n }, params);\n}\n\nfunction createOpenEndedQuestion(params) {\n return _extends({\n type: EntityType.OpenEndedQuestion\n }, params);\n}\n\nfunction createOpenEndedResponse(params) {\n return _extends({\n type: EntityType.OpenEndedResponse\n }, params);\n}\n\nfunction createOrganization(params) {\n return _extends({\n type: EntityType.Organization\n }, params);\n}\n\nfunction createPage(params) {\n return _extends({\n type: EntityType.Page\n }, params);\n}\n\nfunction createPerson(params) {\n return _extends({\n type: EntityType.Person\n }, params);\n}\n\nfunction createPlacement(params) {\n return _extends({\n type: EntityType.Placement\n }, params);\n}\n\nfunction createPlacementScore(params) {\n return _extends({\n type: EntityType.PlacementScore\n }, params);\n}\n\nfunction createPlacementTest(params) {\n return _extends({\n type: EntityType.PlacementTest\n }, params);\n}\n\nfunction createQuery(params) {\n return _extends({\n type: EntityType.Query\n }, params);\n}\n\nfunction createQuestion(params) {\n return _extends({\n type: EntityType.Question\n }, params);\n}\n\nfunction createQuestionnaire(params) {\n return _extends({\n type: EntityType.Questionnaire\n }, params);\n}\n\nfunction createQuestionnaireItem(params) {\n return _extends({\n type: EntityType.QuestionnaireItem\n }, params);\n}\n\nfunction createRating(params) {\n return _extends({\n type: EntityType.Rating\n }, params);\n}\n\nfunction createRatingScaleQuestion(params) {\n return _extends({\n type: EntityType.RatingScaleQuestion\n }, params);\n}\n\nfunction createRatingScaleResponse(params) {\n return _extends({\n type: EntityType.RatingScaleResponse\n }, params);\n}\n\nfunction createResponse(params) {\n return _extends({\n type: EntityType.Response\n }, params);\n}\n\nfunction createResult(params) {\n return _extends({\n type: EntityType.Result,\n resultScore: 0\n }, params);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar Role;\n\n(function (Role) {\n Role[\"LEARNER\"] = \"Learner\";\n Role[\"LEARNER_LEARNER\"] = \"Learner#Learner\";\n Role[\"LEARNER_EXTERNALLEARNER\"] = \"Learner#ExternalLearner\";\n Role[\"LEARNER_GUESTLEARNER\"] = \"Learner#GuestLearner\";\n Role[\"LEARNER_NONCREDITLEARNER\"] = \"Learner#NonCreditLearner\";\n Role[\"INSTRUCTOR\"] = \"Instructor\";\n Role[\"INSTRUCTOR_INSTRUCTOR\"] = \"Instructor#Instructor\";\n Role[\"INSTRUCTOR_GRADER\"] = \"Instructor#Grader\";\n Role[\"INSTRUCTOR_EXTERNALINSTRUCTOR\"] = \"Instructor#ExternalInstructor\";\n Role[\"INSTRUCTOR_GUESTINSTRUCTOR\"] = \"Instructor#GuestInstructor\";\n Role[\"INSTRUCTOR_LECTURER\"] = \"Instructor#Lecturer\";\n Role[\"INSTRUCTOR_PRIMARYINSTRUCTOR\"] = \"Instructor#PrimaryInstructor\";\n Role[\"INSTRUCTOR_SECONDARYINSTRUCTOR\"] = \"Instructor#SecondaryInstructor\";\n Role[\"INSTRUCTOR_TEACHINGASSISTANT\"] = \"Instructor#TeachingAssistant\";\n Role[\"INSTRUCTOR_TEACHINGASSISTANTGROUP\"] = \"Instructor#TeachingAssistantGroup\";\n Role[\"INSTRUCTOR_TEACHINGASSISTANTSECTION\"] = \"Instructor#TeachingAssistantSection\";\n Role[\"INSTRUCTOR_TEACHINGASSISTANTOFFERING\"] = \"Instructor#TeachingAssistantOffering\";\n Role[\"INSTRUCTOR_TEACHINGASSISTANTTEMPLATE\"] = \"Instructor#TeachingAssistantTemplate\";\n Role[\"ADMINISTRATOR\"] = \"Administrator\";\n Role[\"ADMINISTRATOR_ADMINISTRATOR\"] = \"Administrator#Administrator\";\n Role[\"ADMINISTRATOR_DEVELOPER\"] = \"Administrator#Developer\";\n Role[\"ADMINISTRATOR_SUPPORT\"] = \"Administrator#Support\";\n Role[\"ADMINISTRATOR_SYSTEMADMINISTRATOR\"] = \"Administrator#SystemAdministrator\";\n Role[\"ADMINISTRATOR_EXTERNALDEVELOPER\"] = \"Administrator#ExternalDeveloper\";\n Role[\"ADMINISTRATOR_EXTERNALSUPPORT\"] = \"Administrator#ExternalSupport\";\n Role[\"ADMINISTRATOR_EXTERNALSYSTEMADMINISTRATOR\"] = \"Administrator#ExternalSystemAdministrator\";\n Role[\"CONTENTDEVELOPER\"] = \"ContentDeveloper\";\n Role[\"CONTENTDEVELOPER_CONTENTDEVELOPER\"] = \"ContentDeveloper#ContentDeveloper\";\n Role[\"CONTENTDEVELOPER_LIBRARIAN\"] = \"ContentDeveloper#Librarian\";\n Role[\"CONTENTDEVELOPER_CONTENTEXPERT\"] = \"ContentDeveloper#ContentExpert\";\n Role[\"CONTENTDEVELOPER_EXTERNALCONTENTEXPERT\"] = \"ContentDeveloper#ExternalContentExpert\";\n Role[\"MANAGER\"] = \"Manager\";\n Role[\"MANAGER_MANAGER\"] = \"Manager#Manager\";\n Role[\"MANAGER_AREAMANAGER\"] = \"Manager#AreaManager\";\n Role[\"MANAGER_COURSECOORDINATOR\"] = \"Manager#CourseCoordinator\";\n Role[\"MANAGER_OBSERVER\"] = \"Manager#Observer\";\n Role[\"MANAGER_EXTERNALOBSERVER\"] = \"Manager#ExternalObserver\";\n Role[\"MEMBER\"] = \"Member\";\n Role[\"MEMBER_MEMBER\"] = \"Member#Member\";\n Role[\"MENTOR\"] = \"Mentor\";\n Role[\"MENTOR_MENTOR\"] = \"Mentor#Mentor\";\n Role[\"MENTOR_ADVISOR\"] = \"Mentor#Advisor\";\n Role[\"MENTOR_AUDITOR\"] = \"Mentor#Auditor\";\n Role[\"MENTOR_REVIEWER\"] = \"Mentor#Reviewer\";\n Role[\"MENTOR_TUTOR\"] = \"Mentor#Tutor\";\n Role[\"MENTOR_LEARNINGFACILITATOR\"] = \"Mentor#LearningFacilitator\";\n Role[\"MENTOR_EXTERNALMENTOR\"] = \"Mentor#ExternalMentor\";\n Role[\"MENTOR_EXTERNALADVISOR\"] = \"Mentor#ExternalAdvisor\";\n Role[\"MENTOR_EXTERNALAUDITOR\"] = \"Mentor#ExternalAuditor\";\n Role[\"MENTOR_EXTERNALREVIEWER\"] = \"Mentor#ExternalReviewer\";\n Role[\"MENTOR_EXTERNALTUTOR\"] = \"Mentor#ExternalTutor\";\n Role[\"MENTOR_EXTERNALLEARNINGFACILITATOR\"] = \"Mentor#ExternalLearningFacilitator\";\n Role[\"OFFICER\"] = \"Officer\";\n Role[\"OFFICER_OFFICER\"] = \"Officer#Officer\";\n Role[\"OFFICER_CHAIR\"] = \"Officer#Chair\";\n Role[\"OFFICER_SECRETARY\"] = \"Officer#Secretary\";\n Role[\"OFFICER_TREASURER\"] = \"Officer#Treasurer\";\n Role[\"OFFICER_VICE_CHAIR\"] = \"Officer#Vice-Chair\";\n})(Role || (Role = {}));\n\nfunction createScale(params) {\n return _extends({\n type: EntityType.Scale\n }, params);\n}\n\nfunction createSchool(params) {\n return _extends({\n type: EntityType.School\n }, params);\n}\n\nfunction createScore(params) {\n return _extends({\n type: EntityType.Score\n }, params);\n}\n\nfunction createSearchResponse(params) {\n return _extends({\n type: EntityType.SearchResponse\n }, params);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar SelectorType;\n\n(function (SelectorType) {\n SelectorType[\"TextPositionSelector\"] = \"TextPositionSelector\";\n})(SelectorType || (SelectorType = {}));\n\nfunction createSelectTextResponse(params) {\n return _extends({\n type: EntityType.SelectTextResponse\n }, params);\n}\n\nfunction createSession(params) {\n return _extends({\n type: EntityType.Session\n }, params);\n}\n\nfunction createSharedAnnotation(params) {\n return _extends({\n type: EntityType.SharedAnnotation,\n withAgents: []\n }, params);\n}\n\nfunction createSoftwareApplication(params) {\n return _extends({\n type: EntityType.SoftwareApplication\n }, params);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar Status;\n\n(function (Status) {\n Status[\"Inactive\"] = \"Inactive\";\n Status[\"Active\"] = \"Active\";\n})(Status || (Status = {}));\n\nfunction createStudent(params) {\n return _extends({\n type: EntityType.Student\n }, params);\n}\n\nfunction createSurvey(params) {\n return _extends({\n type: EntityType.Survey\n }, params);\n}\n\nfunction createSurveyInvitation(params) {\n return _extends({\n type: EntityType.SurveyInvitation\n }, params);\n}\n\nfunction createTagAnnotation(params) {\n return _extends({\n type: EntityType.TagAnnotation,\n tags: []\n }, params);\n}\n\nfunction createTextPositionSelector(params) {\n return _extends({\n type: SelectorType.TextPositionSelector\n }, params);\n}\n\nfunction createThread(params) {\n return _extends({\n type: EntityType.Thread\n }, params);\n}\n\nfunction createTrueFalseResponse(params) {\n return _extends({\n type: EntityType.TrueFalseResponse,\n value: false\n }, params);\n}\n\nfunction createUser(params) {\n return _extends({\n type: EntityType.User\n }, params);\n}\n\nfunction createUserSession(params) {\n return _extends({\n type: EntityType.UserSession\n }, params);\n}\n\nfunction createVideoObject(params) {\n return _extends({\n type: EntityType.VideoObject\n }, params);\n}\n\nfunction createWebPage(params) {\n return _extends({\n type: EntityType.WebPage\n }, params);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar CaliperAction;\n\n(function (CaliperAction) {\n CaliperAction[\"None\"] = \"None\";\n CaliperAction[\"Abandoned\"] = \"Abandoned\";\n CaliperAction[\"Accepted\"] = \"Accepted\";\n CaliperAction[\"Activated\"] = \"Activated\";\n CaliperAction[\"Added\"] = \"Added\";\n CaliperAction[\"Archived\"] = \"Archived\";\n CaliperAction[\"Attached\"] = \"Attached\";\n CaliperAction[\"Bookmarked\"] = \"Bookmarked\";\n CaliperAction[\"ChangedResolution\"] = \"ChangedResolution\";\n CaliperAction[\"ChangedSize\"] = \"ChangedSize\";\n CaliperAction[\"ChangedSpeed\"] = \"ChangedSpeed\";\n CaliperAction[\"ChangedVolume\"] = \"ChangedVolume\";\n CaliperAction[\"Classified\"] = \"Classified\";\n CaliperAction[\"ClosedPopout\"] = \"ClosedPopout\";\n CaliperAction[\"Commented\"] = \"Commented\";\n CaliperAction[\"Completed\"] = \"Completed\";\n CaliperAction[\"Copied\"] = \"Copied\";\n CaliperAction[\"Created\"] = \"Created\";\n CaliperAction[\"Deactivated\"] = \"Deactivated\";\n CaliperAction[\"Declined\"] = \"Declined\";\n CaliperAction[\"Deleted\"] = \"Deleted\";\n CaliperAction[\"Described\"] = \"Described\";\n CaliperAction[\"DisabledClosedCaptioning\"] = \"DisabledClosedCaptioning\";\n CaliperAction[\"Disliked\"] = \"Disliked\";\n CaliperAction[\"Downloaded\"] = \"Downloaded\";\n CaliperAction[\"EnabledClosedCaptioning\"] = \"EnabledClosedCaptioning\";\n CaliperAction[\"Ended\"] = \"Ended\";\n CaliperAction[\"EnteredFullScreen\"] = \"EnteredFullScreen\";\n CaliperAction[\"ExitedFullScreen\"] = \"ExitedFullScreen\";\n CaliperAction[\"ForwardedTo\"] = \"ForwardedTo\";\n CaliperAction[\"Graded\"] = \"Graded\";\n CaliperAction[\"Hid\"] = \"Hid\";\n CaliperAction[\"Highlighted\"] = \"Highlighted\";\n CaliperAction[\"Identified\"] = \"Identified\";\n CaliperAction[\"JumpedTo\"] = \"JumpedTo\";\n CaliperAction[\"Launched\"] = \"Launched\";\n CaliperAction[\"Liked\"] = \"Liked\";\n CaliperAction[\"Linked\"] = \"Linked\";\n CaliperAction[\"LoggedIn\"] = \"LoggedIn\";\n CaliperAction[\"LoggedOut\"] = \"LoggedOut\";\n CaliperAction[\"MarkedAsRead\"] = \"MarkedAsRead\";\n CaliperAction[\"MarkedAsUnread\"] = \"MarkedAsUnread\";\n CaliperAction[\"Modified\"] = \"Modified\";\n CaliperAction[\"Muted\"] = \"Muted\";\n CaliperAction[\"NavigatedTo\"] = \"NavigatedTo\";\n CaliperAction[\"OpenedPopout\"] = \"OpenedPopout\";\n CaliperAction[\"OptedIn\"] = \"OptedIn\";\n CaliperAction[\"OptedOut\"] = \"OptedOut\";\n CaliperAction[\"Paused\"] = \"Paused\";\n CaliperAction[\"Posted\"] = \"Posted\";\n CaliperAction[\"Printed\"] = \"Printed\";\n CaliperAction[\"Published\"] = \"Published\";\n CaliperAction[\"Questioned\"] = \"Questioned\";\n CaliperAction[\"Ranked\"] = \"Ranked\";\n CaliperAction[\"Recommended\"] = \"Recommended\";\n CaliperAction[\"Removed\"] = \"Removed\";\n CaliperAction[\"Reset\"] = \"Reset\";\n CaliperAction[\"Restarted\"] = \"Restarted\";\n CaliperAction[\"Restored\"] = \"Restored\";\n CaliperAction[\"Resumed\"] = \"Resumed\";\n CaliperAction[\"Retrieved\"] = \"Retrieved\";\n CaliperAction[\"Returned\"] = \"Returned\";\n CaliperAction[\"Reviewed\"] = \"Reviewed\";\n CaliperAction[\"Rewound\"] = \"Rewound\";\n CaliperAction[\"Saved\"] = \"Saved\";\n CaliperAction[\"Searched\"] = \"Searched\";\n CaliperAction[\"Sent\"] = \"Sent\";\n CaliperAction[\"Shared\"] = \"Shared\";\n CaliperAction[\"Showed\"] = \"Showed\";\n CaliperAction[\"Skipped\"] = \"Skipped\";\n CaliperAction[\"Started\"] = \"Started\";\n CaliperAction[\"Submitted\"] = \"Submitted\";\n CaliperAction[\"Subscribed\"] = \"Subscribed\";\n CaliperAction[\"Tagged\"] = \"Tagged\";\n CaliperAction[\"TimedOut\"] = \"TimedOut\";\n CaliperAction[\"Unmuted\"] = \"Unmuted\";\n CaliperAction[\"Unpublished\"] = \"Unpublished\";\n CaliperAction[\"Unsubscribed\"] = \"Unsubscribed\";\n CaliperAction[\"Uploaded\"] = \"Uploaded\";\n CaliperAction[\"Used\"] = \"Used\";\n CaliperAction[\"Viewed\"] = \"Viewed\";\n CaliperAction[\"Awarded\"] = \"Awarded\";\n CaliperAction[\"Continued\"] = \"Continued\";\n})(CaliperAction || (CaliperAction = {}));\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar EventType;\n\n(function (EventType) {\n EventType[\"Event\"] = \"Event\";\n EventType[\"AnnotationEvent\"] = \"AnnotationEvent\";\n EventType[\"AssessmentEvent\"] = \"AssessmentEvent\";\n EventType[\"AssessmentItemEvent\"] = \"AssessmentItemEvent\";\n EventType[\"AssignableEvent\"] = \"AssignableEvent\";\n EventType[\"FeedbackEvent\"] = \"FeedbackEvent\";\n EventType[\"ForumEvent\"] = \"ForumEvent\";\n EventType[\"GradeEvent\"] = \"GradeEvent\";\n EventType[\"MediaEvent\"] = \"MediaEvent\";\n EventType[\"MessageEvent\"] = \"MessageEvent\";\n EventType[\"NavigationEvent\"] = \"NavigationEvent\";\n EventType[\"QuestionnaireEvent\"] = \"QuestionnaireEvent\";\n EventType[\"QuestionnaireItemEvent\"] = \"QuestionnaireItemEvent\";\n EventType[\"ResourceManagementEvent\"] = \"ResourceManagementEvent\";\n EventType[\"SearchEvent\"] = \"SearchEvent\";\n EventType[\"SessionEvent\"] = \"SessionEvent\";\n EventType[\"SurveyEvent\"] = \"SurveyEvent\";\n EventType[\"SurveyInvitationEvent\"] = \"SurveyInvitationEvent\";\n EventType[\"ThreadEvent\"] = \"ThreadEvent\";\n EventType[\"ToolLaunchEvent\"] = \"ToolLaunchEvent\";\n EventType[\"ToolUseEvent\"] = \"ToolUseEvent\";\n EventType[\"ViewEvent\"] = \"ViewEvent\";\n EventType[\"UserEvent\"] = \"UserEvent\";\n EventType[\"OrganizationEvent\"] = \"OrganizationEvent\";\n EventType[\"GroupEvent\"] = \"GroupEvent\";\n EventType[\"ClassEvent\"] = \"ClassEvent\";\n EventType[\"PlacementEvent\"] = \"PlacementEvent\";\n EventType[\"IlpEvent\"] = \"IlpEvent\";\n EventType[\"LessonEvent\"] = \"LessonEvent\";\n EventType[\"MembershipEvent\"] = \"MembershipEvent\";\n EventType[\"BenchmarkEvent\"] = \"BenchmarkEvent\";\n EventType[\"ConfigurationEvent\"] = \"ConfigurationEvent\";\n EventType[\"MotivationEvent\"] = \"MotivationEvent\";\n})(EventType || (EventType = {}));\n\nfunction createAnnotationEvent(params, edApp) {\n return _extends({\n type: EventType.AnnotationEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createAssessmentEvent(params, edApp) {\n return _extends({\n type: EventType.AssessmentEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createAssessmentItemEvent(params, edApp) {\n return _extends({\n type: EventType.AssessmentItemEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createAssignableActivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/assignable-activated/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Activated,\n type: EventType.AssignableEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar AssignableActivatedEventSchema = {\n context: 'http://edgenuity.com/events/assignable-activated/0-0-1',\n schema: {\n title: 'AssignableActivatedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/assignable-activated/0-0-1',\n \"enum\": ['http://edgenuity.com/events/assignable-activated/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Activated',\n \"enum\": ['Activated']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'AssignableEvent',\n \"enum\": ['AssignableEvent']\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n generated: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createAssignableCompletedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/assignable-completed/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Completed,\n type: EventType.AssignableEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar AssignableCompletedEventSchema = {\n context: 'http://edgenuity.com/events/assignable-completed/0-0-1',\n schema: {\n title: 'AssignableCompletedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/assignable-completed/0-0-1',\n \"enum\": ['http://edgenuity.com/events/assignable-completed/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Completed',\n \"enum\": ['Completed']\n },\n actor: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'AssignableEvent',\n \"enum\": ['AssignableEvent']\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n generated: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createAssignableDeactivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/assignable-deactivated/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Deactivated,\n type: EventType.AssignableEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar AssignableDeactivatedEventSchema = {\n context: 'http://edgenuity.com/events/assignable-deactivated/0-0-1',\n schema: {\n title: 'AssignableDeactivatedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/assignable-deactivated/0-0-1',\n \"enum\": ['http://edgenuity.com/events/assignable-deactivated/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Deactivated',\n \"enum\": ['Deactivated']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'AssignableEvent',\n \"enum\": ['AssignableEvent']\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n generated: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createAssignableEvent(params, edApp) {\n return _extends({\n type: EventType.AssignableEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createAssignableReviewedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/assignable-reviewed/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Reviewed,\n type: EventType.AssignableEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar AssignableReviewedEventSchema = {\n context: 'http://edgenuity.com/events/assignable-reviewed/0-0-1',\n schema: {\n title: 'AssignableReviewedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/assignable-reviewed/0-0-1',\n \"enum\": ['http://edgenuity.com/events/assignable-reviewed/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Reviewed',\n \"enum\": ['Reviewed']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'AssignableEvent',\n \"enum\": ['AssignableEvent']\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n generated: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createAssignableStartedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/assignable-started/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Started,\n type: EventType.AssignableEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar AssignableStartedEventSchema = {\n context: 'http://edgenuity.com/events/assignable-started/0-0-1',\n schema: {\n title: 'AssignableStartedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/assignable-started/0-0-1',\n \"enum\": ['http://edgenuity.com/events/assignable-started/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Started',\n \"enum\": ['Started']\n },\n actor: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'AssignableEvent',\n \"enum\": ['AssignableEvent']\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n generated: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createAssignableSubmittedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/assignable-submitted/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Submitted,\n type: EventType.AssignableEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar AssignableSubmittedEventSchema = {\n context: 'http://edgenuity.com/events/assignable-submitted/0-0-1',\n schema: {\n title: 'AssignableSubmittedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/assignable-submitted/0-0-1',\n \"enum\": ['http://edgenuity.com/events/assignable-submitted/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Submitted',\n \"enum\": ['Submitted']\n },\n actor: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'AssignableEvent',\n \"enum\": ['AssignableEvent']\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n generated: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createAssignableUsedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/assignable-used/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Used,\n type: EventType.AssignableEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar AssignableUsedEventSchema = {\n context: 'http://edgenuity.com/events/assignable-used/0-0-1',\n schema: {\n title: 'AssignableUsedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/assignable-used/0-0-1',\n \"enum\": ['http://edgenuity.com/events/assignable-used/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Used',\n \"enum\": ['Used']\n },\n actor: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'AssignableEvent',\n \"enum\": ['AssignableEvent']\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n generated: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createBenchmarkEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/benchmark/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.BenchmarkEvent,\n action: CaliperAction.Graded,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createBenchmarkEventAttempt(params) {\n return _extends({\n type: EntityType.Attempt\n }, params);\n}\nfunction createBenchmarkEventStudent(params) {\n return _extends({\n type: EntityType.Student\n }, params);\n}\nfunction createBenchmarkEventScore(params) {\n return _extends({\n type: EntityType.Score\n }, params);\n}\nvar BenchmarkEventSchema = {\n context: 'http://edgenuity.com/events/benchmark/0-0-2',\n schema: {\n title: 'BenchmarkEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'generated', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/benchmark/0-0-2',\n \"enum\": ['http://edgenuity.com/events/benchmark/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'BenchmarkEvent',\n \"enum\": ['BenchmarkEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Graded',\n \"enum\": ['Graded']\n },\n actor: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n object: {\n title: 'Attempt',\n allOf: [{\n required: ['assignable', 'assignee', 'type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n generated: {\n title: 'Score',\n allOf: [{\n required: ['scoreGiven', 'extensions', 'type', 'id']\n }, {\n title: 'Score',\n $ref: '#/definitions/Score'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n assignable: {\n title: 'Assessment',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }]\n },\n assignee: {\n title: 'Student',\n allOf: [{\n required: ['otherIdentifiers', 'type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Score: {\n title: 'Score',\n type: 'object',\n properties: {\n scoreGiven: {\n type: 'integer'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n },\n type: {\n type: 'string',\n \"default\": 'Score',\n \"enum\": ['Score']\n },\n attempt: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n maxScore: {\n type: 'integer'\n },\n comment: {\n type: 'string'\n },\n scoredBy: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createConfigurationEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/configuration/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.ConfigurationEvent,\n action: CaliperAction.None,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar ConfigurationEventSchema = {\n context: 'http://edgenuity.com/events/configuration/0-0-1',\n schema: {\n title: 'ConfigurationEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'object', 'id', 'eventTime', 'edApp', 'actor'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/configuration/0-0-1',\n \"enum\": ['http://edgenuity.com/events/configuration/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'ConfigurationEvent',\n \"enum\": ['ConfigurationEvent']\n },\n action: {\n type: 'string',\n \"enum\": ['Created', 'Modified']\n },\n object: {\n title: 'Configuration',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Configuration',\n $ref: '#/definitions/Configuration'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n actor: {\n oneOf: [{\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n }, {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n }, {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Configuration: {\n title: 'Configuration',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Configuration',\n \"enum\": ['Configuration']\n },\n serviceToConfigure: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n configurationData: {\n title: 'ConfigurationData',\n $ref: '#/definitions/ConfigurationData'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n ConfigurationData: {\n title: 'ConfigurationData',\n type: 'object',\n properties: {\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n type: {\n type: 'string'\n },\n formatVersion: {\n type: 'string'\n },\n dataVersion: {\n type: 'string'\n },\n dataObject: {\n title: 'Object',\n $ref: '#/definitions/Object'\n }\n }\n },\n Object: {\n title: 'Object',\n type: 'object'\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createEvent(params, edApp) {\n return _extends({\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n type: EventType.Event,\n action: CaliperAction.None,\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createFeedbackEvent(params, edApp) {\n return _extends({\n type: EventType.FeedbackEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createForumEvent(params, edApp) {\n return _extends({\n type: EventType.ForumEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createGradeEvent(params, edApp) {\n return _extends({\n type: EventType.GradeEvent,\n action: CaliperAction.Graded,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createGroupCreatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/group-created/0-0-3', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Created,\n type: EventType.GroupEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar GroupCreatedEventSchema = {\n context: 'http://edgenuity.com/events/group-created/0-0-3',\n schema: {\n title: 'GroupCreatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/group-created/0-0-3',\n \"enum\": ['http://edgenuity.com/events/group-created/0-0-3']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Created',\n \"enum\": ['Created']\n },\n type: {\n type: 'string',\n \"default\": 'GroupEvent',\n \"enum\": ['GroupEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n oneOf: [{\n title: 'Group',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'status', 'type', 'id']\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }]\n }, {\n title: 'Class',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'academicTerm', 'status', 'type', 'id']\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n subOrganizationOf: {\n oneOf: [{\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n }, {\n title: 'School',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n }, {\n title: 'Group',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'status', 'type', 'id']\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }]\n }, {\n title: 'Class',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'academicTerm', 'status', 'type', 'id']\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n }]\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n academicSession: {\n title: 'AcademicSession',\n allOf: [{\n required: ['status', 'dateLastModified', 'startDate', 'endDate', 'schoolYear', 'type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSession',\n $ref: '#/definitions/AcademicSession'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n subOrganizationOf: {\n oneOf: [{\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n }, {\n title: 'School',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n }, {\n title: 'Group',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'status', 'type', 'id']\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }]\n }, {\n title: 'Class',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'academicTerm', 'status', 'type', 'id']\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n }]\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n academicTerm: {\n type: 'string'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSession: {\n title: 'AcademicSession',\n type: 'object',\n properties: {\n status: {\n title: 'AcademicSessionStatus',\n $ref: '#/definitions/AcademicSessionStatus'\n },\n dateLastModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n startDate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endDate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n isPartOf: {\n title: 'AcademicSessionReference',\n allOf: [{\n required: ['type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSessionReference',\n $ref: '#/definitions/AcademicSessionReference'\n }]\n },\n schoolYear: {\n type: 'string',\n pattern: '^\\\\d{4}$'\n },\n type: {\n title: 'AcademicSessionType',\n $ref: '#/definitions/AcademicSessionType'\n },\n title: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSessionStatus: {\n type: 'string',\n title: 'AcademicSessionStatus',\n \"enum\": ['Active', 'ToBeDeleted']\n },\n AcademicSessionReference: {\n title: 'AcademicSessionReference',\n type: 'object',\n properties: {\n type: {\n title: 'AcademicSessionType',\n $ref: '#/definitions/AcademicSessionType'\n },\n title: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSessionType: {\n type: 'string',\n title: 'AcademicSessionType',\n \"enum\": ['GradingPeriod', 'Semester', 'SchoolYear', 'Term']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createGroupDeletedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/group-deleted/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.GroupEvent,\n action: CaliperAction.Deleted,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar GroupDeletedEventSchema = {\n context: 'http://edgenuity.com/events/group-deleted/0-0-2',\n schema: {\n title: 'GroupDeletedEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/group-deleted/0-0-2',\n \"enum\": ['http://edgenuity.com/events/group-deleted/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'GroupEvent',\n \"enum\": ['GroupEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Deleted',\n \"enum\": ['Deleted']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createGroupUpdatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/group-updated/0-0-3', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Modified,\n type: EventType.GroupEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar GroupUpdatedEventSchema = {\n context: 'http://edgenuity.com/events/group-updated/0-0-3',\n schema: {\n title: 'GroupUpdatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/group-updated/0-0-3',\n \"enum\": ['http://edgenuity.com/events/group-updated/0-0-3']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Modified',\n \"enum\": ['Modified']\n },\n type: {\n type: 'string',\n \"default\": 'GroupEvent',\n \"enum\": ['GroupEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n oneOf: [{\n title: 'Group',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'status', 'type', 'id']\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }]\n }, {\n title: 'Class',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'academicTerm', 'status', 'type', 'id']\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n subOrganizationOf: {\n oneOf: [{\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n }, {\n title: 'School',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n }, {\n title: 'Group',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'status', 'type', 'id']\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }]\n }, {\n title: 'Class',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'academicTerm', 'status', 'type', 'id']\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n }]\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n academicSession: {\n title: 'AcademicSession',\n allOf: [{\n required: ['status', 'dateLastModified', 'startDate', 'endDate', 'schoolYear', 'type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSession',\n $ref: '#/definitions/AcademicSession'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n subOrganizationOf: {\n oneOf: [{\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n }, {\n title: 'School',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n }, {\n title: 'Group',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'status', 'type', 'id']\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }]\n }, {\n title: 'Class',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'subjects', 'academicTerm', 'status', 'type', 'id']\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n }]\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n academicTerm: {\n type: 'string'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSession: {\n title: 'AcademicSession',\n type: 'object',\n properties: {\n status: {\n title: 'AcademicSessionStatus',\n $ref: '#/definitions/AcademicSessionStatus'\n },\n dateLastModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n startDate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endDate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n isPartOf: {\n title: 'AcademicSessionReference',\n allOf: [{\n required: ['type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSessionReference',\n $ref: '#/definitions/AcademicSessionReference'\n }]\n },\n schoolYear: {\n type: 'string',\n pattern: '^\\\\d{4}$'\n },\n type: {\n title: 'AcademicSessionType',\n $ref: '#/definitions/AcademicSessionType'\n },\n title: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSessionStatus: {\n type: 'string',\n title: 'AcademicSessionStatus',\n \"enum\": ['Active', 'ToBeDeleted']\n },\n AcademicSessionReference: {\n title: 'AcademicSessionReference',\n type: 'object',\n properties: {\n type: {\n title: 'AcademicSessionType',\n $ref: '#/definitions/AcademicSessionType'\n },\n title: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSessionType: {\n type: 'string',\n title: 'AcademicSessionType',\n \"enum\": ['GradingPeriod', 'Semester', 'SchoolYear', 'Term']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createIlpActivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/ilp-activated/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Activated,\n type: EventType.IlpEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar IlpActivatedEventSchema = {\n context: 'http://edgenuity.com/events/ilp-activated/0-0-1',\n schema: {\n title: 'IlpActivatedEvent',\n type: 'object',\n required: ['@context', 'action', 'object', 'type', 'actor', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/ilp-activated/0-0-1',\n \"enum\": ['http://edgenuity.com/events/ilp-activated/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Activated',\n \"enum\": ['Activated']\n },\n object: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'IlpEvent',\n \"enum\": ['IlpEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createIlpDeactivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/ilp-deactivated/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Deactivated,\n type: EventType.IlpEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar IlpDeactivatedEventSchema = {\n context: 'http://edgenuity.com/events/ilp-deactivated/0-0-2',\n schema: {\n title: 'IlpDeactivatedEvent',\n type: 'object',\n required: ['@context', 'action', 'object', 'type', 'actor', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/ilp-deactivated/0-0-2',\n \"enum\": ['http://edgenuity.com/events/ilp-deactivated/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Deactivated',\n \"enum\": ['Deactivated']\n },\n object: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'IlpEvent',\n \"enum\": ['IlpEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createIlpIdentifiedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/ilp-identified/0-0-3', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Identified,\n type: EventType.IlpEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar IlpIdentifiedEventSchema = {\n context: 'http://edgenuity.com/events/ilp-identified/0-0-3',\n schema: {\n title: 'IlpIdentifiedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/ilp-identified/0-0-3',\n \"enum\": ['http://edgenuity.com/events/ilp-identified/0-0-3']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Identified',\n \"enum\": ['Identified']\n },\n type: {\n type: 'string',\n \"default\": 'IlpEvent',\n \"enum\": ['IlpEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['type', 'state', 'student', 'subject', 'highestGradeLevel', 'lowestPlacementGrade', 'lessons', 'academicSessionId', 'schoolYear', 'placementId', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'domain', 'gradeLevel', 'domainOrder', 'lessonOrder', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createIlpRetrievedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/ilp-retrieved/0-0-3', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Retrieved,\n type: EventType.IlpEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar IlpRetrievedEventSchema = {\n context: 'http://edgenuity.com/events/ilp-retrieved/0-0-3',\n schema: {\n title: 'IlpRetrievedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/ilp-retrieved/0-0-3',\n \"enum\": ['http://edgenuity.com/events/ilp-retrieved/0-0-3']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Retrieved',\n \"enum\": ['Retrieved']\n },\n type: {\n type: 'string',\n \"default\": 'IlpEvent',\n \"enum\": ['IlpEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['type', 'state', 'student', 'subject', 'highestGradeLevel', 'lowestPlacementGrade', 'lessons', 'academicSessionId', 'schoolYear', 'placementId', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'domain', 'gradeLevel', 'domainOrder', 'lessonOrder', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar InstitutionType;\n\n(function (InstitutionType) {\n InstitutionType[\"Customer\"] = \"Customer\";\n InstitutionType[\"Internal\"] = \"Internal\";\n})(InstitutionType || (InstitutionType = {}));\n\nfunction createGroupEventGroup(params) {\n return _extends({\n type: EntityType.Group\n }, params);\n}\nfunction createGroupEventClass(params) {\n return _extends({\n type: EntityType.Class\n }, params);\n}\n\nfunction createIlpEvent(params, edApp) {\n return _extends({\n type: EventType.IlpEvent,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n action: CaliperAction.None,\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createIlpEventIndividualizedLearningPath(params) {\n return _extends({\n type: EntityType.ILP,\n schoolYear: 0\n }, params);\n}\nfunction createIlpEventLesson(params) {\n return _extends({\n type: EntityType.Lesson\n }, params);\n}\n\nfunction createLessonEvent(params, edApp) {\n return _extends({\n type: EventType.LessonEvent,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n action: CaliperAction.None,\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createLessonEventLesson(params) {\n return _extends({\n type: EntityType.Lesson\n }, params);\n}\nfunction createLessonEventIndividualizedLearningPath(params) {\n return _extends({\n type: EntityType.ILP,\n schoolYear: 0\n }, params);\n}\nfunction createLessonEventMasteryScore(params) {\n return _extends({\n type: EntityType.MasteryScore\n }, params);\n}\n\nfunction createLoginEventUserSession(params) {\n return _extends({\n type: EntityType.UserSession\n }, params);\n}\nfunction createLoginEventSoftwareApplication(params) {\n return _extends({\n type: EntityType.SoftwareApplication\n }, params);\n}\n\nfunction createMembershipEventMembership(params) {\n return _extends({\n type: EntityType.Membership\n }, params);\n}\nfunction createMembershipEventOrganization(params) {\n return _extends({\n type: EntityType.Organization\n }, params);\n}\nfunction createMembershipEventSchool(params) {\n return _extends({\n type: EntityType.School\n }, params);\n}\nfunction createMembershipEventGroup(params) {\n return _extends({\n type: EntityType.Group\n }, params);\n}\nfunction createMembershipEventClass(params) {\n return _extends({\n type: EntityType.Class\n }, params);\n}\n\nfunction createOrganizationEventOrganization(params) {\n return _extends({\n type: EntityType.Organization\n }, params);\n}\nfunction createOrganizationEventDistrict(params) {\n return _extends({\n type: EntityType.District\n }, params);\n}\nfunction createOrganizationEventSchool(params) {\n return _extends({\n type: EntityType.School\n }, params);\n}\n\nfunction createSessionEvent(params, edApp) {\n return _extends({\n type: EventType.SessionEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createUserEventUser(params) {\n return _extends({\n type: EntityType.User\n }, params);\n}\nfunction createUserEventInstructor(params) {\n return _extends({\n type: EntityType.Instructor\n }, params);\n}\nfunction createUserEventStudent(params) {\n return _extends({\n type: EntityType.Student\n }, params);\n}\n\nfunction createLessonActivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/lesson-activated/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Activated,\n type: EventType.LessonEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar LessonActivatedEventSchema = {\n context: 'http://edgenuity.com/events/lesson-activated/0-0-2',\n schema: {\n title: 'LessonActivatedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/lesson-activated/0-0-2',\n \"enum\": ['http://edgenuity.com/events/lesson-activated/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Activated',\n \"enum\": ['Activated']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'LessonEvent',\n \"enum\": ['LessonEvent']\n },\n object: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'isPartOf', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n isPartOf: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['student', 'type', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createLessonCompletedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/lesson-completed/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Completed,\n type: EventType.LessonEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar LessonCompletedEventSchema = {\n context: 'http://edgenuity.com/events/lesson-completed/0-0-2',\n schema: {\n title: 'LessonCompletedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/lesson-completed/0-0-2',\n \"enum\": ['http://edgenuity.com/events/lesson-completed/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Completed',\n \"enum\": ['Completed']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'LessonEvent',\n \"enum\": ['LessonEvent']\n },\n object: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'isPartOf', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n isPartOf: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['student', 'type', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createLessonGradedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/lesson-graded/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Graded,\n type: EventType.LessonEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar LessonGradedEventSchema = {\n context: 'http://edgenuity.com/events/lesson-graded/0-0-2',\n schema: {\n title: 'LessonGradedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'generated', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/lesson-graded/0-0-2',\n \"enum\": ['http://edgenuity.com/events/lesson-graded/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Graded',\n \"enum\": ['Graded']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }]\n },\n generated: {\n title: 'MasteryScore',\n allOf: [{\n required: ['type', 'maxScore', 'scoreGiven', 'passThreshold', 'lessonStatus', 'id']\n }, {\n title: 'MasteryScore',\n $ref: '#/definitions/MasteryScore'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'LessonEvent',\n \"enum\": ['LessonEvent']\n },\n object: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'isPartOf', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n MasteryScore: {\n title: 'MasteryScore',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'MasteryScore',\n \"enum\": ['MasteryScore']\n },\n maxScore: {\n type: 'integer'\n },\n scoreGiven: {\n type: 'integer'\n },\n passThreshold: {\n type: 'integer'\n },\n lessonStatus: {\n title: 'LessonStatus',\n $ref: '#/definitions/LessonStatus'\n },\n attempt: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n comment: {\n type: 'string'\n },\n scoredBy: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LessonStatus: {\n type: 'string',\n title: 'LessonStatus',\n \"enum\": ['Passed', 'Failed']\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n isPartOf: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['student', 'type', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createLessonResetEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/lesson-reset/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Reset,\n type: EventType.LessonEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar LessonResetEventSchema = {\n context: 'http://edgenuity.com/events/lesson-reset/0-0-2',\n schema: {\n title: 'LessonResetEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/lesson-reset/0-0-2',\n \"enum\": ['http://edgenuity.com/events/lesson-reset/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Reset',\n \"enum\": ['Reset']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'LessonEvent',\n \"enum\": ['LessonEvent']\n },\n object: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'isPartOf', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n isPartOf: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['student', 'type', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createLessonSkippedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/lesson-skipped/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Skipped,\n type: EventType.LessonEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar LessonSkippedEventSchema = {\n context: 'http://edgenuity.com/events/lesson-skipped/0-0-2',\n schema: {\n title: 'LessonSkippedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/lesson-skipped/0-0-2',\n \"enum\": ['http://edgenuity.com/events/lesson-skipped/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Skipped',\n \"enum\": ['Skipped']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'LessonEvent',\n \"enum\": ['LessonEvent']\n },\n object: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'isPartOf', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n isPartOf: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['student', 'type', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createLessonStartedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/lesson-started/0-1-0', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Started,\n type: EventType.LessonEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createLessonStartedEventLesson(params) {\n return _extends({\n type: EntityType.Lesson\n }, params);\n}\nvar LessonStartedEventSchema = {\n context: 'http://edgenuity.com/events/lesson-started/0-1-0',\n schema: {\n title: 'LessonStartedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'type', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/lesson-started/0-1-0',\n \"enum\": ['http://edgenuity.com/events/lesson-started/0-1-0']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Started',\n \"enum\": ['Started']\n },\n actor: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n generated: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'LessonEvent',\n \"enum\": ['LessonEvent']\n },\n object: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'isPartOf', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n isPartOf: {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['student', 'type', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n subject: {\n type: 'string'\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createLoginFailedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/login-failed/0-1-0', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Declined,\n type: EventType.SessionEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createLoginFailedEventUserSession(params) {\n return _extends({\n type: EntityType.UserSession\n }, params);\n}\nvar LoginFailedEventSchema = {\n context: 'http://edgenuity.com/events/login-failed/0-1-0',\n schema: {\n title: 'LoginFailedEvent',\n type: 'object',\n required: ['@context', 'action', 'session', 'actor', 'object', 'type', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/login-failed/0-1-0',\n \"enum\": ['http://edgenuity.com/events/login-failed/0-1-0']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Declined',\n \"enum\": ['Declined']\n },\n session: {\n title: 'UserSession',\n allOf: [{\n required: ['description', 'login', 'client', 'type', 'id']\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'SessionEvent',\n \"enum\": ['SessionEvent']\n },\n target: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n },\n referrer: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n description: {\n type: 'string'\n },\n login: {\n title: 'AuthorizationClaims',\n allOf: [{\n required: ['localTimestamp', 'loginType', 'credentialTypes', 'scopes']\n }, {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['ipAddress', 'userAgent', 'type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n }\n }\n }\n};\n\nfunction createLoginMembership(params) {\n return _extends({\n type: EntityType.Membership\n }, params);\n}\n\nfunction createLoginSuccessEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/login-success/0-1-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.LoggedIn,\n type: EventType.SessionEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createLoginSuccessEventUserSession(params) {\n return _extends({\n type: EntityType.UserSession\n }, params);\n}\nvar LoginSuccessEventSchema = {\n context: 'http://edgenuity.com/events/login-success/0-1-1',\n schema: {\n title: 'LoginSuccessEvent',\n type: 'object',\n required: ['@context', 'action', 'membership', 'session', 'actor', 'object', 'type', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/login-success/0-1-1',\n \"enum\": ['http://edgenuity.com/events/login-success/0-1-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'LoggedIn',\n \"enum\": ['LoggedIn']\n },\n membership: {\n title: 'LoginMembership',\n allOf: [{\n required: ['organization', 'roles', 'type', 'id']\n }, {\n title: 'LoginMembership',\n $ref: '#/definitions/LoginMembership'\n }]\n },\n session: {\n title: 'UserSession',\n allOf: [{\n required: ['user', 'login', 'client', 'type', 'id']\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'SessionEvent',\n \"enum\": ['SessionEvent']\n },\n target: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n },\n referrer: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n LoginMembership: {\n title: 'LoginMembership',\n type: 'object',\n properties: {\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n allOf: [{\n required: ['localTimestamp', 'loginType', 'credentialTypes', 'scopes']\n }, {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['ipAddress', 'userAgent', 'type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n }\n }\n }\n};\n\nfunction createLogoutEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/logout/0-1-0', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.LoggedOut,\n type: EventType.SessionEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar LogoutEventSchema = {\n context: 'http://edgenuity.com/events/logout/0-1-0',\n schema: {\n title: 'LogoutEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'object', 'session', 'type', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/logout/0-1-0',\n \"enum\": ['http://edgenuity.com/events/logout/0-1-0']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'LoggedOut',\n \"enum\": ['LoggedOut']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n session: {\n title: 'UserSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'SessionEvent',\n \"enum\": ['SessionEvent']\n },\n target: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n },\n referrer: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n }\n }\n }\n};\n\nfunction createMediaEvent(params, edApp) {\n return _extends({\n type: EventType.MediaEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createMembershipCreatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/membership-created/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Created,\n type: EventType.MembershipEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar MembershipCreatedEventSchema = {\n context: 'http://edgenuity.com/events/membership-created/0-0-2',\n schema: {\n title: 'MembershipCreatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/membership-created/0-0-2',\n \"enum\": ['http://edgenuity.com/events/membership-created/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Created',\n \"enum\": ['Created']\n },\n type: {\n type: 'string',\n \"default\": 'MembershipEvent',\n \"enum\": ['MembershipEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n title: 'Membership',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'member', 'organization', 'roles', 'type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createMembershipDeletedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/membership-deleted/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Deleted,\n type: EventType.MembershipEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar MembershipDeletedEventSchema = {\n context: 'http://edgenuity.com/events/membership-deleted/0-0-2',\n schema: {\n title: 'MembershipDeletedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/membership-deleted/0-0-2',\n \"enum\": ['http://edgenuity.com/events/membership-deleted/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Deleted',\n \"enum\": ['Deleted']\n },\n type: {\n type: 'string',\n \"default\": 'MembershipEvent',\n \"enum\": ['MembershipEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n title: 'Membership',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'member', 'organization', 'roles', 'type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createMembershipUpdatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/membership-updated/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Modified,\n type: EventType.MembershipEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar MembershipUpdatedEventSchema = {\n context: 'http://edgenuity.com/events/membership-updated/0-0-2',\n schema: {\n title: 'MembershipUpdatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/membership-updated/0-0-2',\n \"enum\": ['http://edgenuity.com/events/membership-updated/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Modified',\n \"enum\": ['Modified']\n },\n type: {\n type: 'string',\n \"default\": 'MembershipEvent',\n \"enum\": ['MembershipEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n title: 'Membership',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'member', 'organization', 'roles', 'type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createMessageEvent(params, edApp) {\n return _extends({\n type: EventType.MessageEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createMotivationEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/motivation-awarded/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.MotivationEvent,\n action: CaliperAction.Awarded,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createMotivationEventCollection(params) {\n return _extends({\n type: EntityType.Collection\n }, params);\n}\nfunction createMotivationEventIndividualizedLearningPath(params) {\n return _extends({\n type: EntityType.ILP\n }, params);\n}\nvar MotivationEventSchema = {\n context: 'http://edgenuity.com/events/motivation-awarded/0-0-1',\n schema: {\n title: 'MotivationEvent',\n type: 'object',\n required: ['@context', 'actor', 'type', 'action', 'generated', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/motivation-awarded/0-0-1',\n \"enum\": ['http://edgenuity.com/events/motivation-awarded/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'MotivationEvent',\n \"enum\": ['MotivationEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Awarded',\n \"enum\": ['Awarded']\n },\n referrer: {\n title: 'Collection',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Collection',\n $ref: '#/definitions/Collection'\n }]\n },\n generated: {\n title: 'Award',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Award',\n $ref: '#/definitions/Award'\n }]\n },\n object: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Collection: {\n title: 'Collection',\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n oneOf: [{\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }, {\n title: 'AudioObject',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'AudioObject',\n $ref: '#/definitions/AudioObject'\n }]\n }, {\n title: 'Assessment',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }]\n }, {\n title: 'AssessmentItem',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }]\n }, {\n title: 'AssignableDigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }]\n }, {\n title: 'Chapter',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Chapter',\n $ref: '#/definitions/Chapter'\n }]\n }, {\n title: 'DigitalResourceCollection',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n }, {\n title: 'Document',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Document',\n $ref: '#/definitions/Document'\n }]\n }, {\n title: 'Forum',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Forum',\n $ref: '#/definitions/Forum'\n }]\n }, {\n title: 'Frame',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Frame',\n $ref: '#/definitions/Frame'\n }]\n }, {\n title: 'ImageObject',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'ImageObject',\n $ref: '#/definitions/ImageObject'\n }]\n }, {\n title: 'LtiLink',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiLink',\n $ref: '#/definitions/LtiLink'\n }]\n }, {\n title: 'MediaLocation',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'MediaLocation',\n $ref: '#/definitions/MediaLocation'\n }]\n }, {\n title: 'MediaObject',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'MediaObject',\n $ref: '#/definitions/MediaObject'\n }]\n }, {\n title: 'Message',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Message',\n $ref: '#/definitions/Message'\n }]\n }, {\n title: 'Page',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Page',\n $ref: '#/definitions/Page'\n }]\n }, {\n title: 'Questionnaire',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Questionnaire',\n $ref: '#/definitions/Questionnaire'\n }]\n }, {\n title: 'QuestionnaireItem',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'QuestionnaireItem',\n $ref: '#/definitions/QuestionnaireItem'\n }]\n }, {\n title: 'SurveyInvitation',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SurveyInvitation',\n $ref: '#/definitions/SurveyInvitation'\n }]\n }, {\n title: 'Thread',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Thread',\n $ref: '#/definitions/Thread'\n }]\n }, {\n title: 'VideoObject',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'VideoObject',\n $ref: '#/definitions/VideoObject'\n }]\n }, {\n title: 'WebPage',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'WebPage',\n $ref: '#/definitions/WebPage'\n }]\n }, {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n }, {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }, {\n title: 'IndividualizedLearningPath',\n allOf: [{\n required: ['subject', 'type', 'id']\n }, {\n title: 'IndividualizedLearningPath',\n $ref: '#/definitions/IndividualizedLearningPath'\n }]\n }]\n }\n },\n type: {\n type: 'string',\n \"default\": 'Collection',\n \"enum\": ['Collection']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n AudioObject: {\n title: 'AudioObject',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AudioObject',\n \"enum\": ['AudioObject']\n },\n volumeMin: {\n type: 'string'\n },\n volumeMax: {\n type: 'string'\n },\n volumeLevel: {\n type: 'string'\n },\n muted: {\n type: 'boolean'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Chapter: {\n title: 'Chapter',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Chapter',\n \"enum\": ['Chapter']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Document: {\n title: 'Document',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Document',\n \"enum\": ['Document']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Forum: {\n title: 'Forum',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Forum',\n \"enum\": ['Forum']\n },\n items: {\n type: 'array',\n items: {\n title: 'Thread',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Thread',\n $ref: '#/definitions/Thread'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Thread: {\n title: 'Thread',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Thread',\n \"enum\": ['Thread']\n },\n items: {\n type: 'array',\n items: {\n title: 'Message',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Message',\n $ref: '#/definitions/Message'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Message: {\n title: 'Message',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Message',\n \"enum\": ['Message']\n },\n replyTo: {\n title: 'Message',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Message',\n $ref: '#/definitions/Message'\n }]\n },\n body: {\n type: 'string'\n },\n attachments: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Frame: {\n title: 'Frame',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Frame',\n \"enum\": ['Frame']\n },\n index: {\n type: 'number'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ImageObject: {\n title: 'ImageObject',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'ImageObject',\n \"enum\": ['ImageObject']\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LtiLink: {\n title: 'LtiLink',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n messageType: {\n title: 'LtiMessageType',\n $ref: '#/definitions/LtiMessageType'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LtiMessageType: {\n type: 'string',\n title: 'LtiMessageType',\n \"enum\": ['LtiResourceLinkRequest', 'LtiDeepLinkingRequest', 'LtiDeepLinkingResponse']\n },\n MediaLocation: {\n title: 'MediaLocation',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'MediaLocation',\n \"enum\": ['MediaLocation']\n },\n currentTime: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n MediaObject: {\n title: 'MediaObject',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'MediaObject',\n \"enum\": ['MediaObject']\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Page: {\n title: 'Page',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Page',\n \"enum\": ['Page']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Questionnaire: {\n title: 'Questionnaire',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n items: {\n type: 'array',\n items: {\n title: 'QuestionnaireItem',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'QuestionnaireItem',\n $ref: '#/definitions/QuestionnaireItem'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n QuestionnaireItem: {\n title: 'QuestionnaireItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n question: {\n title: 'Question',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Question',\n $ref: '#/definitions/Question'\n }]\n },\n categories: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n weight: {\n type: 'integer'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Question: {\n title: 'Question',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n questionPosed: {\n type: 'string'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SurveyInvitation: {\n title: 'SurveyInvitation',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n sentCount: {\n type: 'number'\n },\n dateSent: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n rater: {\n title: 'Person',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Person',\n $ref: '#/definitions/Person'\n }]\n },\n survey: {\n title: 'Survey',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Survey',\n $ref: '#/definitions/Survey'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Survey: {\n title: 'Survey',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n items: {\n type: 'array',\n items: {\n title: 'Questionnaire',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Questionnaire',\n $ref: '#/definitions/Questionnaire'\n }]\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n VideoObject: {\n title: 'VideoObject',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'VideoObject',\n \"enum\": ['VideoObject']\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n WebPage: {\n title: 'WebPage',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'WebPage',\n \"enum\": ['WebPage']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IndividualizedLearningPath: {\n title: 'IndividualizedLearningPath',\n type: 'object',\n properties: {\n subject: {\n type: 'string'\n },\n type: {\n type: 'string',\n \"default\": 'ILP',\n \"enum\": ['ILP']\n },\n state: {\n type: 'string'\n },\n student: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n highestGradeLevel: {\n type: 'number'\n },\n lowestPlacementGrade: {\n type: 'number'\n },\n lessons: {\n type: 'array',\n items: {\n title: 'Lesson',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n }\n },\n academicSessionId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n schoolYear: {\n type: 'number'\n },\n placementId: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Award: {\n title: 'Award',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Award',\n \"enum\": ['Award']\n },\n comment: {\n type: 'string'\n },\n amount: {\n type: 'number'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createNavigationEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/navigated/0-0-3', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.NavigationEvent,\n action: CaliperAction.NavigatedTo,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar NavigationEventSchema = {\n context: 'http://edgenuity.com/events/navigated/0-0-3',\n schema: {\n title: 'NavigationEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/navigated/0-0-3',\n \"enum\": ['http://edgenuity.com/events/navigated/0-0-3']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'NavigationEvent',\n \"enum\": ['NavigationEvent']\n },\n action: {\n type: 'string',\n \"default\": 'NavigatedTo',\n \"enum\": ['NavigatedTo']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AudioObject',\n $ref: '#/definitions/AudioObject'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Chapter',\n $ref: '#/definitions/Chapter'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }, {\n title: 'Document',\n $ref: '#/definitions/Document'\n }, {\n title: 'Forum',\n $ref: '#/definitions/Forum'\n }, {\n title: 'Frame',\n $ref: '#/definitions/Frame'\n }, {\n title: 'ImageObject',\n $ref: '#/definitions/ImageObject'\n }, {\n title: 'LtiLink',\n $ref: '#/definitions/LtiLink'\n }, {\n title: 'MediaLocation',\n $ref: '#/definitions/MediaLocation'\n }, {\n title: 'MediaObject',\n $ref: '#/definitions/MediaObject'\n }, {\n title: 'Message',\n $ref: '#/definitions/Message'\n }, {\n title: 'Page',\n $ref: '#/definitions/Page'\n }, {\n title: 'Questionnaire',\n $ref: '#/definitions/Questionnaire'\n }, {\n title: 'QuestionnaireItem',\n $ref: '#/definitions/QuestionnaireItem'\n }, {\n title: 'SurveyInvitation',\n $ref: '#/definitions/SurveyInvitation'\n }, {\n title: 'Thread',\n $ref: '#/definitions/Thread'\n }, {\n title: 'VideoObject',\n $ref: '#/definitions/VideoObject'\n }, {\n title: 'WebPage',\n $ref: '#/definitions/WebPage'\n }]\n },\n target: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AudioObject',\n $ref: '#/definitions/AudioObject'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Chapter',\n $ref: '#/definitions/Chapter'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }, {\n title: 'Document',\n $ref: '#/definitions/Document'\n }, {\n title: 'Forum',\n $ref: '#/definitions/Forum'\n }, {\n title: 'Frame',\n $ref: '#/definitions/Frame'\n }, {\n title: 'ImageObject',\n $ref: '#/definitions/ImageObject'\n }, {\n title: 'LtiLink',\n $ref: '#/definitions/LtiLink'\n }, {\n title: 'MediaLocation',\n $ref: '#/definitions/MediaLocation'\n }, {\n title: 'MediaObject',\n $ref: '#/definitions/MediaObject'\n }, {\n title: 'Message',\n $ref: '#/definitions/Message'\n }, {\n title: 'Page',\n $ref: '#/definitions/Page'\n }, {\n title: 'Questionnaire',\n $ref: '#/definitions/Questionnaire'\n }, {\n title: 'QuestionnaireItem',\n $ref: '#/definitions/QuestionnaireItem'\n }, {\n title: 'SurveyInvitation',\n $ref: '#/definitions/SurveyInvitation'\n }, {\n title: 'Thread',\n $ref: '#/definitions/Thread'\n }, {\n title: 'VideoObject',\n $ref: '#/definitions/VideoObject'\n }, {\n title: 'WebPage',\n $ref: '#/definitions/WebPage'\n }]\n },\n referrer: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AudioObject',\n $ref: '#/definitions/AudioObject'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Chapter',\n $ref: '#/definitions/Chapter'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }, {\n title: 'Document',\n $ref: '#/definitions/Document'\n }, {\n title: 'Forum',\n $ref: '#/definitions/Forum'\n }, {\n title: 'Frame',\n $ref: '#/definitions/Frame'\n }, {\n title: 'ImageObject',\n $ref: '#/definitions/ImageObject'\n }, {\n title: 'LtiLink',\n $ref: '#/definitions/LtiLink'\n }, {\n title: 'MediaLocation',\n $ref: '#/definitions/MediaLocation'\n }, {\n title: 'MediaObject',\n $ref: '#/definitions/MediaObject'\n }, {\n title: 'Message',\n $ref: '#/definitions/Message'\n }, {\n title: 'Page',\n $ref: '#/definitions/Page'\n }, {\n title: 'Questionnaire',\n $ref: '#/definitions/Questionnaire'\n }, {\n title: 'QuestionnaireItem',\n $ref: '#/definitions/QuestionnaireItem'\n }, {\n title: 'SurveyInvitation',\n $ref: '#/definitions/SurveyInvitation'\n }, {\n title: 'Thread',\n $ref: '#/definitions/Thread'\n }, {\n title: 'VideoObject',\n $ref: '#/definitions/VideoObject'\n }, {\n title: 'WebPage',\n $ref: '#/definitions/WebPage'\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n AudioObject: {\n title: 'AudioObject',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AudioObject',\n \"enum\": ['AudioObject']\n },\n volumeMin: {\n type: 'string'\n },\n volumeMax: {\n type: 'string'\n },\n volumeLevel: {\n type: 'string'\n },\n muted: {\n type: 'boolean'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Chapter: {\n title: 'Chapter',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Chapter',\n \"enum\": ['Chapter']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Document: {\n title: 'Document',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Document',\n \"enum\": ['Document']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Forum: {\n title: 'Forum',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Forum',\n \"enum\": ['Forum']\n },\n items: {\n type: 'array',\n items: {\n title: 'Thread',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Thread',\n $ref: '#/definitions/Thread'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Thread: {\n title: 'Thread',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Thread',\n \"enum\": ['Thread']\n },\n items: {\n type: 'array',\n items: {\n title: 'Message',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Message',\n $ref: '#/definitions/Message'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Message: {\n title: 'Message',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Message',\n \"enum\": ['Message']\n },\n replyTo: {\n title: 'Message',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Message',\n $ref: '#/definitions/Message'\n }]\n },\n body: {\n type: 'string'\n },\n attachments: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Frame: {\n title: 'Frame',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Frame',\n \"enum\": ['Frame']\n },\n index: {\n type: 'number'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ImageObject: {\n title: 'ImageObject',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'ImageObject',\n \"enum\": ['ImageObject']\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LtiLink: {\n title: 'LtiLink',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n messageType: {\n title: 'LtiMessageType',\n $ref: '#/definitions/LtiMessageType'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LtiMessageType: {\n type: 'string',\n title: 'LtiMessageType',\n \"enum\": ['LtiResourceLinkRequest', 'LtiDeepLinkingRequest', 'LtiDeepLinkingResponse']\n },\n MediaLocation: {\n title: 'MediaLocation',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'MediaLocation',\n \"enum\": ['MediaLocation']\n },\n currentTime: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n MediaObject: {\n title: 'MediaObject',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'MediaObject',\n \"enum\": ['MediaObject']\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Page: {\n title: 'Page',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Page',\n \"enum\": ['Page']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Questionnaire: {\n title: 'Questionnaire',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n items: {\n type: 'array',\n items: {\n title: 'QuestionnaireItem',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'QuestionnaireItem',\n $ref: '#/definitions/QuestionnaireItem'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n QuestionnaireItem: {\n title: 'QuestionnaireItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n question: {\n title: 'Question',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Question',\n $ref: '#/definitions/Question'\n }]\n },\n categories: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n weight: {\n type: 'integer'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Question: {\n title: 'Question',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n questionPosed: {\n type: 'string'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SurveyInvitation: {\n title: 'SurveyInvitation',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n sentCount: {\n type: 'number'\n },\n dateSent: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n rater: {\n title: 'Person',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Person',\n $ref: '#/definitions/Person'\n }]\n },\n survey: {\n title: 'Survey',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Survey',\n $ref: '#/definitions/Survey'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Survey: {\n title: 'Survey',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n items: {\n type: 'array',\n items: {\n title: 'Questionnaire',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Questionnaire',\n $ref: '#/definitions/Questionnaire'\n }]\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n VideoObject: {\n title: 'VideoObject',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'VideoObject',\n \"enum\": ['VideoObject']\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n WebPage: {\n title: 'WebPage',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'WebPage',\n \"enum\": ['WebPage']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createNWEABenchmarkEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/benchmark/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.BenchmarkEvent,\n action: CaliperAction.Graded,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createNWEABenchmarkEventAttempt(params) {\n return _extends({\n type: EntityType.Attempt\n }, params);\n}\nfunction createNWEABenchmarkEventAssessment(params) {\n return _extends({\n type: EntityType.Assessment\n }, params);\n}\nfunction createNWEABenchmarkEventStudent(params) {\n return _extends({\n type: EntityType.Student\n }, params);\n}\nfunction createNWEABenchmarkEventScore(params) {\n return _extends({\n type: EntityType.Score\n }, params);\n}\nvar NWEABenchmarkEventSchema = {\n context: 'http://edgenuity.com/events/benchmark/0-0-2',\n schema: {\n title: 'NWEABenchmarkEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'generated', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/benchmark/0-0-2',\n \"enum\": ['http://edgenuity.com/events/benchmark/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'BenchmarkEvent',\n \"enum\": ['BenchmarkEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Graded',\n \"enum\": ['Graded']\n },\n actor: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n object: {\n title: 'Attempt',\n allOf: [{\n required: ['assignable', 'assignee', 'type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n generated: {\n title: 'Score',\n allOf: [{\n required: ['scoreGiven', 'extensions', 'type', 'id']\n }, {\n title: 'Score',\n $ref: '#/definitions/Score'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n assignable: {\n title: 'Assessment',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }]\n },\n assignee: {\n title: 'Student',\n allOf: [{\n required: ['otherIdentifiers', 'type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Score: {\n title: 'Score',\n type: 'object',\n properties: {\n scoreGiven: {\n type: 'integer'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n },\n type: {\n type: 'string',\n \"default\": 'Score',\n \"enum\": ['Score']\n },\n attempt: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n maxScore: {\n type: 'integer'\n },\n comment: {\n type: 'string'\n },\n scoredBy: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createOrganizationActivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/organization-activated/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.OrganizationEvent,\n action: CaliperAction.Activated,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar OrganizationActivatedEventSchema = {\n context: 'http://edgenuity.com/events/organization-activated/0-0-2',\n schema: {\n title: 'OrganizationActivatedEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/organization-activated/0-0-2',\n \"enum\": ['http://edgenuity.com/events/organization-activated/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'OrganizationEvent',\n \"enum\": ['OrganizationEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Activated',\n \"enum\": ['Activated']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n District: {\n title: 'District',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'District',\n \"enum\": ['District']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createOrganizationCreatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/organization-created/0-0-6', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Created,\n type: EventType.OrganizationEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar OrganizationCreatedEventSchema = {\n context: 'http://edgenuity.com/events/organization-created/0-0-6',\n schema: {\n title: 'OrganizationCreatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/organization-created/0-0-6',\n \"enum\": ['http://edgenuity.com/events/organization-created/0-0-6']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Created',\n \"enum\": ['Created']\n },\n type: {\n type: 'string',\n \"default\": 'OrganizationEvent',\n \"enum\": ['OrganizationEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n required: ['id', 'institutionType', 'state', 'status', 'timezone', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n state: {\n type: 'string'\n },\n timezone: {\n type: 'string'\n },\n institutionType: {\n title: 'InstitutionType',\n $ref: '#/definitions/InstitutionType'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n academicSessions: {\n type: 'array',\n items: {\n title: 'AcademicSession',\n allOf: [{\n required: ['status', 'dateLastModified', 'startDate', 'endDate', 'schoolYear', 'type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSession',\n $ref: '#/definitions/AcademicSession'\n }]\n }\n },\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n InstitutionType: {\n type: 'string',\n title: 'InstitutionType',\n \"enum\": ['Customer', 'Internal']\n },\n District: {\n title: 'District',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'District',\n \"enum\": ['District']\n },\n state: {\n type: 'string'\n },\n timezone: {\n type: 'string'\n },\n institutionType: {\n title: 'InstitutionType',\n $ref: '#/definitions/InstitutionType'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n academicSessions: {\n type: 'array',\n items: {\n title: 'AcademicSession',\n allOf: [{\n required: ['status', 'dateLastModified', 'startDate', 'endDate', 'schoolYear', 'type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSession',\n $ref: '#/definitions/AcademicSession'\n }]\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n state: {\n type: 'string'\n },\n timezone: {\n type: 'string'\n },\n institutionType: {\n title: 'InstitutionType',\n $ref: '#/definitions/InstitutionType'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n academicSessions: {\n type: 'array',\n items: {\n title: 'AcademicSession',\n allOf: [{\n required: ['status', 'dateLastModified', 'startDate', 'endDate', 'schoolYear', 'type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSession',\n $ref: '#/definitions/AcademicSession'\n }]\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSession: {\n title: 'AcademicSession',\n type: 'object',\n properties: {\n status: {\n title: 'AcademicSessionStatus',\n $ref: '#/definitions/AcademicSessionStatus'\n },\n dateLastModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n startDate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endDate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n isPartOf: {\n title: 'AcademicSessionReference',\n allOf: [{\n required: ['type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSessionReference',\n $ref: '#/definitions/AcademicSessionReference'\n }]\n },\n schoolYear: {\n type: 'string',\n pattern: '^\\\\d{4}$'\n },\n type: {\n title: 'AcademicSessionType',\n $ref: '#/definitions/AcademicSessionType'\n },\n title: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSessionStatus: {\n type: 'string',\n title: 'AcademicSessionStatus',\n \"enum\": ['Active', 'ToBeDeleted']\n },\n AcademicSessionReference: {\n title: 'AcademicSessionReference',\n type: 'object',\n properties: {\n type: {\n title: 'AcademicSessionType',\n $ref: '#/definitions/AcademicSessionType'\n },\n title: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSessionType: {\n type: 'string',\n title: 'AcademicSessionType',\n \"enum\": ['GradingPeriod', 'Semester', 'SchoolYear', 'Term']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createOrganizationDeactivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/organization-deactivated/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.OrganizationEvent,\n action: CaliperAction.Deactivated,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar OrganizationDeactivatedEventSchema = {\n context: 'http://edgenuity.com/events/organization-deactivated/0-0-2',\n schema: {\n title: 'OrganizationDeactivatedEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/organization-deactivated/0-0-2',\n \"enum\": ['http://edgenuity.com/events/organization-deactivated/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'OrganizationEvent',\n \"enum\": ['OrganizationEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Deactivated',\n \"enum\": ['Deactivated']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n District: {\n title: 'District',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'District',\n \"enum\": ['District']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createOrganizationDeletedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/organization-deleted/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.OrganizationEvent,\n action: CaliperAction.Deleted,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar OrganizationDeletedEventSchema = {\n context: 'http://edgenuity.com/events/organization-deleted/0-0-2',\n schema: {\n title: 'OrganizationDeletedEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/organization-deleted/0-0-2',\n \"enum\": ['http://edgenuity.com/events/organization-deleted/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'OrganizationEvent',\n \"enum\": ['OrganizationEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Deleted',\n \"enum\": ['Deleted']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n District: {\n title: 'District',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'District',\n \"enum\": ['District']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createOrganizationUpdatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/organization-updated/0-0-6', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Modified,\n type: EventType.OrganizationEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar OrganizationUpdatedEventSchema = {\n context: 'http://edgenuity.com/events/organization-updated/0-0-6',\n schema: {\n title: 'OrganizationUpdatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/organization-updated/0-0-6',\n \"enum\": ['http://edgenuity.com/events/organization-updated/0-0-6']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Modified',\n \"enum\": ['Modified']\n },\n type: {\n type: 'string',\n \"default\": 'OrganizationEvent',\n \"enum\": ['OrganizationEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n required: ['id', 'institutionType', 'state', 'status', 'timezone', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n state: {\n type: 'string'\n },\n timezone: {\n type: 'string'\n },\n institutionType: {\n title: 'InstitutionType',\n $ref: '#/definitions/InstitutionType'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n academicSessions: {\n type: 'array',\n items: {\n title: 'AcademicSession',\n allOf: [{\n required: ['status', 'dateLastModified', 'startDate', 'endDate', 'schoolYear', 'type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSession',\n $ref: '#/definitions/AcademicSession'\n }]\n }\n },\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n InstitutionType: {\n type: 'string',\n title: 'InstitutionType',\n \"enum\": ['Customer', 'Internal']\n },\n District: {\n title: 'District',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'District',\n \"enum\": ['District']\n },\n state: {\n type: 'string'\n },\n timezone: {\n type: 'string'\n },\n institutionType: {\n title: 'InstitutionType',\n $ref: '#/definitions/InstitutionType'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n academicSessions: {\n type: 'array',\n items: {\n title: 'AcademicSession',\n allOf: [{\n required: ['status', 'dateLastModified', 'startDate', 'endDate', 'schoolYear', 'type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSession',\n $ref: '#/definitions/AcademicSession'\n }]\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n state: {\n type: 'string'\n },\n timezone: {\n type: 'string'\n },\n institutionType: {\n title: 'InstitutionType',\n $ref: '#/definitions/InstitutionType'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n subOrganizationOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'District',\n $ref: '#/definitions/District'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }]\n },\n academicSessions: {\n type: 'array',\n items: {\n title: 'AcademicSession',\n allOf: [{\n required: ['status', 'dateLastModified', 'startDate', 'endDate', 'schoolYear', 'type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSession',\n $ref: '#/definitions/AcademicSession'\n }]\n }\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSession: {\n title: 'AcademicSession',\n type: 'object',\n properties: {\n status: {\n title: 'AcademicSessionStatus',\n $ref: '#/definitions/AcademicSessionStatus'\n },\n dateLastModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n startDate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endDate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n isPartOf: {\n title: 'AcademicSessionReference',\n allOf: [{\n required: ['type', 'title', 'id', 'type']\n }, {\n title: 'AcademicSessionReference',\n $ref: '#/definitions/AcademicSessionReference'\n }]\n },\n schoolYear: {\n type: 'string',\n pattern: '^\\\\d{4}$'\n },\n type: {\n title: 'AcademicSessionType',\n $ref: '#/definitions/AcademicSessionType'\n },\n title: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSessionStatus: {\n type: 'string',\n title: 'AcademicSessionStatus',\n \"enum\": ['Active', 'ToBeDeleted']\n },\n AcademicSessionReference: {\n title: 'AcademicSessionReference',\n type: 'object',\n properties: {\n type: {\n title: 'AcademicSessionType',\n $ref: '#/definitions/AcademicSessionType'\n },\n title: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AcademicSessionType: {\n type: 'string',\n title: 'AcademicSessionType',\n \"enum\": ['GradingPeriod', 'Semester', 'SchoolYear', 'Term']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createPlacementActivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/placement-activated/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Activated,\n type: EventType.PlacementEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createPlacementActivatedEventPlacement(params) {\n return _extends({\n type: EntityType.Placement\n }, params);\n}\nfunction createPlacementActivatedEventStudent(params) {\n return _extends({\n type: EntityType.Student\n }, params);\n}\nvar PlacementActivatedEventSchema = {\n context: 'http://edgenuity.com/events/placement-activated/0-0-1',\n schema: {\n title: 'PlacementActivatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/placement-activated/0-0-1',\n \"enum\": ['http://edgenuity.com/events/placement-activated/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"enum\": ['Activated']\n },\n type: {\n type: 'string',\n \"default\": 'PlacementEvent',\n \"enum\": ['PlacementEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n title: 'Placement',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Placement',\n $ref: '#/definitions/Placement'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Placement: {\n title: 'Placement',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Placement',\n \"enum\": ['Placement']\n },\n assignee: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n subject: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createPlacementDeactivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/placement-deactivated/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Deactivated,\n type: EventType.PlacementEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createPlacementDeactivatedEventPlacement(params) {\n return _extends({\n type: EntityType.Placement\n }, params);\n}\nfunction createPlacementDeactivatedEventStudent(params) {\n return _extends({\n type: EntityType.Student\n }, params);\n}\nvar PlacementDeactivatedEventSchema = {\n context: 'http://edgenuity.com/events/placement-deactivated/0-0-1',\n schema: {\n title: 'PlacementDeactivatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/placement-deactivated/0-0-1',\n \"enum\": ['http://edgenuity.com/events/placement-deactivated/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"enum\": ['Deactivated']\n },\n type: {\n type: 'string',\n \"default\": 'PlacementEvent',\n \"enum\": ['PlacementEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n title: 'Placement',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Placement',\n $ref: '#/definitions/Placement'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Placement: {\n title: 'Placement',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Placement',\n \"enum\": ['Placement']\n },\n assignee: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n subject: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createPlacementGradedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/placement-graded/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Graded,\n type: EventType.PlacementEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createPlacementGradedEventPlacementScore(params) {\n return _extends({\n type: EntityType.PlacementScore\n }, params);\n}\nfunction createPlacementGradedEventAssessment(params) {\n return _extends({\n type: EntityType.Assessment\n }, params);\n}\nfunction createPlacementGradedEventStudent(params) {\n return _extends({\n type: EntityType.Student\n }, params);\n}\nvar PlacementGradedEventSchema = {\n context: 'http://edgenuity.com/events/placement-graded/0-0-2',\n schema: {\n title: 'PlacementGradedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'object', 'referrer', 'type', 'generated', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/placement-graded/0-0-2',\n \"enum\": ['http://edgenuity.com/events/placement-graded/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"enum\": ['Graded']\n },\n actor: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n object: {\n title: 'Attempt',\n allOf: [{\n required: ['assignable', 'assignee', 'type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n referrer: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'PlacementEvent',\n \"enum\": ['PlacementEvent']\n },\n generated: {\n title: 'PlacementScore',\n allOf: [{\n required: ['type', 'placementGrade', 'id']\n }, {\n title: 'PlacementScore',\n $ref: '#/definitions/PlacementScore'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n assignable: {\n title: 'Assessment',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }]\n },\n assignee: {\n title: 'Student',\n allOf: [{\n required: ['otherIdentifiers', 'type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n PlacementScore: {\n title: 'PlacementScore',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'PlacementScore',\n \"enum\": ['PlacementScore']\n },\n placementGrade: {\n type: 'number'\n },\n attempt: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n maxScore: {\n type: 'integer'\n },\n scoreGiven: {\n type: 'integer'\n },\n comment: {\n type: 'string'\n },\n scoredBy: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createPlacementModifiedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/placement-modified/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Modified,\n type: EventType.PlacementEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createPlacementModifiedEventStudent(params) {\n return _extends({\n type: EntityType.Student\n }, params);\n}\nfunction createPlacementModifiedEventPlacementScore(params) {\n return _extends({\n type: EntityType.PlacementScore\n }, params);\n}\nvar PlacementModifiedEventSchema = {\n context: 'http://edgenuity.com/events/placement-modified/0-0-2',\n schema: {\n title: 'PlacementModifiedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'object', 'type', 'generated', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/placement-modified/0-0-2',\n \"enum\": ['http://edgenuity.com/events/placement-modified/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"enum\": ['Modified']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }]\n },\n object: {\n title: 'Student',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'PlacementEvent',\n \"enum\": ['PlacementEvent']\n },\n generated: {\n title: 'PlacementScore',\n allOf: [{\n required: ['type', 'placementGrade', 'id']\n }, {\n title: 'PlacementScore',\n $ref: '#/definitions/PlacementScore'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n PlacementScore: {\n title: 'PlacementScore',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'PlacementScore',\n \"enum\": ['PlacementScore']\n },\n placementGrade: {\n type: 'number'\n },\n attempt: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n maxScore: {\n type: 'integer'\n },\n scoreGiven: {\n type: 'integer'\n },\n comment: {\n type: 'string'\n },\n scoredBy: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar ProfileType;\n\n(function (ProfileType) {\n ProfileType[\"AnnotationProfile\"] = \"AnnotationProfile\";\n ProfileType[\"AssessmentProfile\"] = \"AssessmentProfile\";\n ProfileType[\"AssignableProfile\"] = \"AssignableProfile\";\n ProfileType[\"FeedbackProfile\"] = \"FeedbackProfile\";\n ProfileType[\"ForumProfile\"] = \"ForumProfile\";\n ProfileType[\"GradingProfile\"] = \"GradingProfile\";\n ProfileType[\"MediaProfile\"] = \"MediaProfile\";\n ProfileType[\"ReadingProfile\"] = \"ReadingProfile\";\n ProfileType[\"ResourceManagementProfile\"] = \"ResourceManagementProfile\";\n ProfileType[\"SearchProfile\"] = \"SearchProfile\";\n ProfileType[\"SessionProfile\"] = \"SessionProfile\";\n ProfileType[\"SurveyProfile\"] = \"SurveyProfile\";\n ProfileType[\"ToolLaunchProfile\"] = \"ToolLaunchProfile\";\n ProfileType[\"ToolUseProfile\"] = \"ToolUseProfile\";\n ProfileType[\"GeneralProfile\"] = \"GeneralProfile\";\n})(ProfileType || (ProfileType = {}));\n\nfunction createQuestionnaireEvent(params, edApp) {\n return _extends({\n type: EventType.QuestionnaireEvent,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n action: CaliperAction.None,\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createQuestionnaireItemEvent(params, edApp) {\n return _extends({\n type: EventType.QuestionnaireItemEvent,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n action: CaliperAction.None,\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createRenaissanceBenchmarkEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/benchmark/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.BenchmarkEvent,\n action: CaliperAction.Graded,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar RenaissanceBenchmarkEventSchema = {\n context: 'http://edgenuity.com/events/benchmark/0-0-2',\n schema: {\n title: 'RenaissanceBenchmarkEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'generated', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/benchmark/0-0-2',\n \"enum\": ['http://edgenuity.com/events/benchmark/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'BenchmarkEvent',\n \"enum\": ['BenchmarkEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Graded',\n \"enum\": ['Graded']\n },\n actor: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n object: {\n title: 'Attempt',\n allOf: [{\n required: ['assignable', 'assignee', 'type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n generated: {\n title: 'Score',\n allOf: [{\n required: ['scoreGiven', 'extensions', 'type', 'id']\n }, {\n title: 'Score',\n $ref: '#/definitions/Score'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n assignable: {\n title: 'Assessment',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }]\n },\n assignee: {\n title: 'Student',\n allOf: [{\n required: ['otherIdentifiers', 'type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Score: {\n title: 'Score',\n type: 'object',\n properties: {\n scoreGiven: {\n type: 'integer'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n },\n type: {\n type: 'string',\n \"default\": 'Score',\n \"enum\": ['Score']\n },\n attempt: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n maxScore: {\n type: 'integer'\n },\n comment: {\n type: 'string'\n },\n scoredBy: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createResourceManagementEvent(params, edApp) {\n return _extends({\n type: EventType.ResourceManagementEvent,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n action: CaliperAction.None,\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createSearchEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/search/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.SearchEvent,\n id: Caliper.uuid(),\n action: CaliperAction.None,\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createSearchEventSearchResponse(params) {\n return _extends({\n type: EntityType.SearchResponse\n }, params);\n}\nvar SearchEventSchema = {\n context: 'http://edgenuity.com/events/search/0-0-1',\n schema: {\n title: 'SearchEvent',\n type: 'object',\n required: ['@context', 'type', 'actor', 'id', 'action', 'eventTime', 'edApp', 'object'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/search/0-0-1',\n \"enum\": ['http://edgenuity.com/events/search/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'SearchEvent',\n \"enum\": ['SearchEvent']\n },\n generated: {\n title: 'SearchResponse',\n allOf: [{\n required: ['query', 'type', 'id']\n }, {\n title: 'SearchResponse',\n $ref: '#/definitions/SearchResponse'\n }]\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n action: {\n title: 'CaliperAction',\n $ref: '#/definitions/CaliperAction'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n object: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SearchResponse: {\n title: 'SearchResponse',\n type: 'object',\n properties: {\n query: {\n title: 'Query',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Query',\n $ref: '#/definitions/Query'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'SearchResponse',\n \"enum\": ['SearchResponse']\n },\n searchProvider: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n searchTarget: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n searchResultsItemCount: {\n type: 'number'\n },\n searchResults: {\n type: 'array',\n items: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n }\n },\n attempt: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Query: {\n title: 'Query',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n creator: {\n title: 'Person',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Person',\n $ref: '#/definitions/Person'\n }]\n },\n searchTarget: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n searchTerms: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Attempt: {\n title: 'Attempt',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Attempt',\n \"enum\": ['Attempt']\n },\n assignable: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'AssignableDigitalResource',\n $ref: '#/definitions/AssignableDigitalResource'\n }, {\n title: 'Assessment',\n $ref: '#/definitions/Assessment'\n }, {\n title: 'AssessmentItem',\n $ref: '#/definitions/AssessmentItem'\n }, {\n title: 'Lesson',\n $ref: '#/definitions/Lesson'\n }]\n },\n assignee: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n count: {\n type: 'number'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n isPartOf: {\n title: 'Attempt',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Attempt',\n $ref: '#/definitions/Attempt'\n }]\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssignableDigitalResource: {\n title: 'AssignableDigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssignableDigitalResource',\n \"enum\": ['AssignableDigitalResource']\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CourseOffering: {\n title: 'CourseOffering',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'CourseOffering',\n \"enum\": ['CourseOffering']\n },\n courseNumber: {\n type: 'string'\n },\n academicSession: {\n type: 'string'\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n DigitalResourceCollection: {\n title: 'DigitalResourceCollection',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResourceCollection',\n \"enum\": ['DigitalResourceCollection']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Assessment: {\n title: 'Assessment',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Assessment',\n \"enum\": ['Assessment']\n },\n items: {\n type: 'array',\n items: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n }\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AssessmentItem: {\n title: 'AssessmentItem',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'AssessmentItem',\n \"enum\": ['AssessmentItem']\n },\n isTimeDependent: {\n type: 'boolean'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Lesson: {\n title: 'Lesson',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Lesson',\n \"enum\": ['Lesson']\n },\n domain: {\n title: 'Domain',\n allOf: [{\n required: ['type', 'name', 'code', 'standard', 'id']\n }, {\n title: 'Domain',\n $ref: '#/definitions/Domain'\n }]\n },\n gradeLevel: {\n type: 'number'\n },\n domainOrder: {\n type: 'number'\n },\n lessonOrder: {\n type: 'number'\n },\n isAssigned: {\n type: 'boolean'\n },\n language: {\n type: 'string'\n },\n dateToActivate: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToShow: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToStartOn: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateToSubmit: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n maxAttempts: {\n type: 'number'\n },\n maxSubmits: {\n type: 'number'\n },\n maxScore: {\n type: 'integer'\n },\n isPartOf: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'CourseOffering',\n $ref: '#/definitions/CourseOffering'\n }, {\n title: 'DigitalResourceCollection',\n $ref: '#/definitions/DigitalResourceCollection'\n }]\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Domain: {\n title: 'Domain',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Domain',\n \"enum\": ['Domain']\n },\n name: {\n type: 'string'\n },\n code: {\n type: 'string'\n },\n standard: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n CaliperAction: {\n type: 'string',\n title: 'CaliperAction',\n \"enum\": ['None', 'Abandoned', 'Accepted', 'Activated', 'Added', 'Archived', 'Attached', 'Bookmarked', 'ChangedResolution', 'ChangedSize', 'ChangedSpeed', 'ChangedVolume', 'Classified', 'ClosedPopout', 'Commented', 'Completed', 'Copied', 'Created', 'Deactivated', 'Declined', 'Deleted', 'Described', 'DisabledClosedCaptioning', 'Disliked', 'Downloaded', 'EnabledClosedCaptioning', 'Ended', 'EnteredFullScreen', 'ExitedFullScreen', 'ForwardedTo', 'Graded', 'Hid', 'Highlighted', 'Identified', 'JumpedTo', 'Launched', 'Liked', 'Linked', 'LoggedIn', 'LoggedOut', 'MarkedAsRead', 'MarkedAsUnread', 'Modified', 'Muted', 'NavigatedTo', 'OpenedPopout', 'OptedIn', 'OptedOut', 'Paused', 'Posted', 'Printed', 'Published', 'Questioned', 'Ranked', 'Recommended', 'Removed', 'Reset', 'Restarted', 'Restored', 'Resumed', 'Retrieved', 'Returned', 'Reviewed', 'Rewound', 'Saved', 'Searched', 'Sent', 'Shared', 'Showed', 'Skipped', 'Started', 'Submitted', 'Subscribed', 'Tagged', 'TimedOut', 'Unmuted', 'Unpublished', 'Unsubscribed', 'Uploaded', 'Used', 'Viewed', 'Awarded', 'Continued']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createSessionContinuedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/session-continued/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Continued,\n type: EventType.SessionEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createSessionContinuedEventUserSession(params) {\n return _extends({\n type: EntityType.UserSession\n }, params);\n}\nvar SessionContinuedEventSchema = {\n context: 'http://edgenuity.com/events/session-continued/0-0-1',\n schema: {\n title: 'SessionContinuedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'object', 'type', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/session-continued/0-0-1',\n \"enum\": ['http://edgenuity.com/events/session-continued/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Continued',\n \"enum\": ['Continued']\n },\n actor: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n object: {\n title: 'UserSession',\n allOf: [{\n required: ['user', 'type', 'id']\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'SessionEvent',\n \"enum\": ['SessionEvent']\n },\n target: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n },\n referrer: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n }\n }\n }\n};\n\nfunction createSessionEndedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/session-ended/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Ended,\n type: EventType.SessionEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createSessionEndedEventUserSession(params) {\n return _extends({\n type: EntityType.UserSession\n }, params);\n}\nvar SessionEndedEventSchema = {\n context: 'http://edgenuity.com/events/session-ended/0-0-1',\n schema: {\n title: 'SessionEndedEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'object', 'type', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/session-ended/0-0-1',\n \"enum\": ['http://edgenuity.com/events/session-ended/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Ended',\n \"enum\": ['Ended']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n object: {\n title: 'UserSession',\n allOf: [{\n required: ['description', 'user', 'type', 'id']\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'SessionEvent',\n \"enum\": ['SessionEvent']\n },\n target: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n },\n referrer: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n description: {\n type: 'string'\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n }\n }\n }\n};\n\nfunction createSessionTimedOutEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/session-timedout/0-0-1', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.TimedOut,\n type: EventType.SessionEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nfunction createSessionTimedOutEventUserSession(params) {\n return _extends({\n type: EntityType.UserSession\n }, params);\n}\nvar SessionTimedOutEventSchema = {\n context: 'http://edgenuity.com/events/session-timedout/0-0-1',\n schema: {\n title: 'SessionTimedOutEvent',\n type: 'object',\n required: ['@context', 'action', 'actor', 'object', 'type', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/session-timedout/0-0-1',\n \"enum\": ['http://edgenuity.com/events/session-timedout/0-0-1']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'TimedOut',\n \"enum\": ['TimedOut']\n },\n actor: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n object: {\n title: 'UserSession',\n allOf: [{\n required: ['user', 'type', 'id']\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'SessionEvent',\n \"enum\": ['SessionEvent']\n },\n target: {\n title: 'DigitalResource',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }]\n },\n referrer: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'DigitalResource',\n $ref: '#/definitions/DigitalResource'\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n },\n DigitalResource: {\n title: 'DigitalResource',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'DigitalResource',\n \"enum\": ['DigitalResource']\n },\n learningObjectives: {\n type: 'array',\n items: {\n title: 'LearningObjective',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LearningObjective',\n $ref: '#/definitions/LearningObjective'\n }]\n }\n },\n keywords: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n creators: {\n type: 'array',\n items: {\n title: 'Agent',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Agent',\n $ref: '#/definitions/Agent'\n }]\n }\n },\n mediaType: {\n type: 'string'\n },\n isPartOf: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n datePublished: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n version: {\n type: 'string'\n },\n storageName: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n LearningObjective: {\n title: 'LearningObjective',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LearningObjective',\n \"enum\": ['LearningObjective']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Agent: {\n title: 'Agent',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Agent',\n \"enum\": ['Agent']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n }\n }\n }\n};\n\nfunction createSurveyEvent(params, edApp) {\n return _extends({\n type: EventType.SurveyEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createSurveyInvitationEvent(params, edApp) {\n return _extends({\n type: EventType.SurveyInvitationEvent,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n action: CaliperAction.None,\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createThreadEvent(params, edApp) {\n return _extends({\n type: EventType.ThreadEvent,\n action: CaliperAction.None,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createToolLaunchEvent(params, edApp) {\n return _extends({\n type: EventType.ToolLaunchEvent,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n action: CaliperAction.None,\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createToolUseEvent(params, edApp) {\n return _extends({\n type: EventType.ToolUseEvent,\n action: CaliperAction.Used,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\nfunction createUserActivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/user-activated/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.UserEvent,\n action: CaliperAction.Activated,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar UserActivatedEventSchema = {\n context: 'http://edgenuity.com/events/user-activated/0-0-2',\n schema: {\n title: 'UserActivatedEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/user-activated/0-0-2',\n \"enum\": ['http://edgenuity.com/events/user-activated/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'UserEvent',\n \"enum\": ['UserEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Activated',\n \"enum\": ['Activated']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createUserCreatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/user-created/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Created,\n type: EventType.UserEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar UserCreatedEventSchema = {\n context: 'http://edgenuity.com/events/user-created/0-0-2',\n schema: {\n title: 'UserCreatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/user-created/0-0-2',\n \"enum\": ['http://edgenuity.com/events/user-created/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Created',\n \"enum\": ['Created']\n },\n type: {\n type: 'string',\n \"default\": 'UserEvent',\n \"enum\": ['UserEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n oneOf: [{\n title: 'User',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'firstName', 'lastName', 'status', 'type', 'id']\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }]\n }, {\n title: 'Instructor',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'firstName', 'lastName', 'status', 'type', 'id']\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n }, {\n title: 'Student',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'firstName', 'lastName', 'status', 'gradeLevel', 'type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n gradeLevel: {\n type: 'number'\n },\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createUserDeactivatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/user-deactivated/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.UserEvent,\n action: CaliperAction.Deactivated,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar UserDeactivatedEventSchema = {\n context: 'http://edgenuity.com/events/user-deactivated/0-0-2',\n schema: {\n title: 'UserDeactivatedEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/user-deactivated/0-0-2',\n \"enum\": ['http://edgenuity.com/events/user-deactivated/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'UserEvent',\n \"enum\": ['UserEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Deactivated',\n \"enum\": ['Deactivated']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createUserDeletedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/user-deleted/0-1-0', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n type: EventType.UserEvent,\n action: CaliperAction.Deleted,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar UserDeletedEventSchema = {\n context: 'http://edgenuity.com/events/user-deleted/0-1-0',\n schema: {\n title: 'UserDeletedEvent',\n type: 'object',\n required: ['@context', 'type', 'action', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/user-deleted/0-1-0',\n \"enum\": ['http://edgenuity.com/events/user-deleted/0-1-0']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n type: {\n type: 'string',\n \"default\": 'UserEvent',\n \"enum\": ['UserEvent']\n },\n action: {\n type: 'string',\n \"default\": 'Deleted',\n \"enum\": ['Deleted']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n gradeLevel: {\n type: 'number'\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createUserUpdatedEvent(params, edApp) {\n return _extends({\n '@context': ['http://edgenuity.com/events/user-updated/0-0-2', 'http://purl.imsglobal.org/ctx/caliper/v1p2'],\n action: CaliperAction.Modified,\n type: EventType.UserEvent,\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\nvar UserUpdatedEventSchema = {\n context: 'http://edgenuity.com/events/user-updated/0-0-2',\n schema: {\n title: 'UserUpdatedEvent',\n type: 'object',\n required: ['@context', 'action', 'type', 'actor', 'object', 'id', 'eventTime', 'edApp'],\n properties: {\n '@context': {\n type: 'array',\n items: [{\n type: 'string',\n \"default\": 'http://edgenuity.com/events/user-updated/0-0-2',\n \"enum\": ['http://edgenuity.com/events/user-updated/0-0-2']\n }, {\n type: 'string',\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p2',\n \"enum\": ['http://purl.imsglobal.org/ctx/caliper/v1p2']\n }]\n },\n action: {\n type: 'string',\n \"default\": 'Modified',\n \"enum\": ['Modified']\n },\n type: {\n type: 'string',\n \"default\": 'UserEvent',\n \"enum\": ['UserEvent']\n },\n actor: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n },\n object: {\n oneOf: [{\n title: 'User',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'firstName', 'lastName', 'status', 'type', 'id']\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }]\n }, {\n title: 'Instructor',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'firstName', 'lastName', 'status', 'type', 'id']\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }]\n }, {\n title: 'Student',\n allOf: [{\n required: ['dateCreated', 'dateModified', 'name', 'firstName', 'lastName', 'status', 'gradeLevel', 'type', 'id']\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n }]\n },\n id: {\n type: 'string',\n pattern: 'urn\\\\:uuid\\\\:\\\\w{8}-\\\\w{4}-\\\\w{4}-\\\\w{4}-\\\\w{12}'\n },\n eventTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n edApp: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n profile: {\n title: 'ProfileType',\n $ref: '#/definitions/ProfileType'\n },\n target: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n generated: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n group: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n membership: {\n title: 'Membership',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Membership',\n $ref: '#/definitions/Membership'\n }]\n },\n federatedSession: {\n title: 'LtiSession',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'LtiSession',\n $ref: '#/definitions/LtiSession'\n }]\n },\n session: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Session',\n $ref: '#/definitions/Session'\n }, {\n title: 'UserSession',\n $ref: '#/definitions/UserSession'\n }]\n },\n referrer: {\n title: 'Entity',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Entity',\n $ref: '#/definitions/Entity'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n },\n definitions: {\n SoftwareApplication: {\n title: 'SoftwareApplication',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SoftwareApplication',\n \"enum\": ['SoftwareApplication']\n },\n host: {\n type: 'string'\n },\n ipAddress: {\n title: 'IPAddress',\n $ref: '#/definitions/IPAddress'\n },\n userAgent: {\n type: 'string'\n },\n version: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n IPAddress: {\n type: 'string',\n oneOf: [{\n pattern: '^\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}$'\n }, {\n pattern: '^\\\\w{1,4}(:\\\\w{1,4}){7}$'\n }]\n },\n Uri: {\n type: 'string',\n oneOf: [{\n pattern: '^https?:\\\\/\\\\/\\\\w.+\\\\.\\\\w+[/\\\\w+]*'\n }, {\n pattern: 'urn\\\\:.*'\n }]\n },\n SystemIdentifier: {\n title: 'SystemIdentifier',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'SystemIdentifier',\n \"enum\": ['SystemIdentifier']\n },\n identifierType: {\n title: 'SystemIdentifierType',\n $ref: '#/definitions/SystemIdentifierType'\n },\n identifier: {\n type: 'string'\n },\n source: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n SystemIdentifierType: {\n type: 'string',\n title: 'SystemIdentifierType',\n \"enum\": ['AccountUserName', 'EmailAddress', 'LisSourcedId', 'LtiContextId', 'LtiDeploymentId', 'LtiPlatformId', 'LtiToolId', 'LtiUserId', 'OneRosterSourcedId', 'Other', 'SisSourcedId', 'SystemId']\n },\n Status: {\n type: 'string',\n title: 'Status',\n \"enum\": ['Inactive', 'Active']\n },\n User: {\n title: 'User',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n type: {\n type: 'string',\n \"default\": 'User',\n \"enum\": ['User']\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Instructor: {\n title: 'Instructor',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n type: {\n type: 'string',\n \"default\": 'Instructor',\n \"enum\": ['Instructor']\n },\n permissions: {\n type: 'object',\n additionalProperties: true\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Student: {\n title: 'Student',\n type: 'object',\n properties: {\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n name: {\n type: 'string'\n },\n firstName: {\n type: 'string'\n },\n lastName: {\n type: 'string'\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n gradeLevel: {\n type: 'number'\n },\n type: {\n type: 'string',\n \"default\": 'Student',\n \"enum\": ['Student']\n },\n individualEducationPlan: {\n type: 'boolean'\n },\n englishLanguageLearner: {\n type: 'boolean'\n },\n settings: {\n type: 'object',\n additionalProperties: true,\n properties: {\n spanishLanguage: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n textToSpeech: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n languageTranslationTools: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n state: {\n type: 'string'\n },\n email: {\n type: 'string',\n pattern: '^[\\\\w._%+-]+@[\\\\w.-]+\\\\.\\\\w+'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n ProfileType: {\n type: 'string',\n title: 'ProfileType',\n \"enum\": ['AnnotationProfile', 'AssessmentProfile', 'AssignableProfile', 'FeedbackProfile', 'ForumProfile', 'GradingProfile', 'MediaProfile', 'ReadingProfile', 'ResourceManagementProfile', 'SearchProfile', 'SessionProfile', 'SurveyProfile', 'ToolLaunchProfile', 'ToolUseProfile', 'GeneralProfile']\n },\n Entity: {\n title: 'Entity',\n type: 'object',\n properties: {\n type: {\n title: 'EntityType',\n $ref: '#/definitions/EntityType'\n },\n name: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n EntityType: {\n type: 'string',\n title: 'EntityType',\n \"enum\": ['Entity', 'Agent', 'AggregateMeasure', 'AggregateMeasureCollection', 'Annotation', 'Assessment', 'AssessmentItem', 'AssignableDigitalResource', 'Attempt', 'AudioObject', 'BookmarkAnnotation', 'Chapter', 'Collection', 'Comment', 'CourseOffering', 'CourseSection', 'DateTimeQuestion', 'DateTimeResponse', 'DigitalResource', 'DigitalResourceCollection', 'Document', 'FillinBlankResponse', 'Forum', 'Frame', 'Group', 'HighlightAnnotation', 'ImageObject', 'LearningObjective', 'LikertScale', 'Link', 'LtiLink', 'LtiSession', 'MediaLocation', 'MediaObject', 'Membership', 'Message', 'MultipleChoiceResponse', 'MultipleResponseResponse', 'MultiselectQuestion', 'MultiselectResponse', 'MultiselectScale', 'NumericScale', 'OpenEndedQuestion', 'OpenEndedResponse', 'Organization', 'Page', 'Person', 'Query', 'Question', 'Questionnaire', 'QuestionnaireItem', 'Rating', 'RatingScaleQuestion', 'RatingScaleResponse', 'Response', 'Result', 'Scale', 'Score', 'SearchResponse', 'SelectTextResponse', 'Session', 'SharedAnnotation', 'SoftwareApplication', 'Survey', 'SurveyInvitation', 'TagAnnotation', 'Thread', 'TrueFalseResponse', 'VideoObject', 'WebPage', 'User', 'Student', 'Instructor', 'School', 'District', 'Class', 'ILP', 'Lesson', 'Award', 'MasteryScore', 'PlacementTest', 'PlacementScore', 'UserSession', 'EducationStandard', 'Domain', 'Configuration', 'Placement']\n },\n Organization: {\n title: 'Organization',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Organization',\n \"enum\": ['Organization']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Membership: {\n title: 'Membership',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Membership',\n \"enum\": ['Membership']\n },\n member: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n organization: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }, {\n title: 'School',\n $ref: '#/definitions/School'\n }, {\n title: 'Group',\n $ref: '#/definitions/Group'\n }, {\n title: 'Class',\n $ref: '#/definitions/Class'\n }]\n },\n roles: {\n type: 'array',\n items: {\n title: 'Role',\n $ref: '#/definitions/Role'\n }\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Person: {\n title: 'Person',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Person',\n \"enum\": ['Person']\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n School: {\n title: 'School',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'School',\n \"enum\": ['School']\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Group: {\n title: 'Group',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Group',\n \"enum\": ['Group']\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Class: {\n title: 'Class',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Class',\n \"enum\": ['Class']\n },\n academicTerm: {\n type: 'string'\n },\n subjects: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n subOrganizationOf: {\n title: 'Organization',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'Organization',\n $ref: '#/definitions/Organization'\n }]\n },\n preferredName: {\n type: 'string'\n },\n accountManager: {\n type: 'string'\n },\n professionalDevSpecialist: {\n type: 'string'\n },\n externalSalesRep: {\n type: 'string'\n },\n insideSalesRep: {\n type: 'string'\n },\n territory: {\n type: 'string'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Role: {\n title: 'Role',\n type: 'string',\n \"enum\": ['Learner', 'Learner#Learner', 'Learner#ExternalLearner', 'Learner#GuestLearner', 'Learner#NonCreditLearner', 'Instructor', 'Instructor#Instructor', 'Instructor#Grader', 'Instructor#ExternalInstructor', 'Instructor#GuestInstructor', 'Instructor#Lecturer', 'Instructor#PrimaryInstructor', 'Instructor#SecondaryInstructor', 'Instructor#TeachingAssistant', 'Instructor#TeachingAssistantGroup', 'Instructor#TeachingAssistantSection', 'Instructor#TeachingAssistantOffering', 'Instructor#TeachingAssistantTemplate', 'Administrator', 'Administrator#Administrator', 'Administrator#Developer', 'Administrator#Support', 'Administrator#SystemAdministrator', 'Administrator#ExternalDeveloper', 'Administrator#ExternalSupport', 'Administrator#ExternalSystemAdministrator', 'ContentDeveloper', 'ContentDeveloper#ContentDeveloper', 'ContentDeveloper#Librarian', 'ContentDeveloper#ContentExpert', 'ContentDeveloper#ExternalContentExpert', 'Manager', 'Manager#Manager', 'Manager#AreaManager', 'Manager#CourseCoordinator', 'Manager#Observer', 'Manager#ExternalObserver', 'Member', 'Member#Member', 'Mentor', 'Mentor#Mentor', 'Mentor#Advisor', 'Mentor#Auditor', 'Mentor#Reviewer', 'Mentor#Tutor', 'Mentor#LearningFacilitator', 'Mentor#ExternalMentor', 'Mentor#ExternalAdvisor', 'Mentor#ExternalAuditor', 'Mentor#ExternalReviewer', 'Mentor#ExternalTutor', 'Mentor#ExternalLearningFacilitator', 'Officer', 'Officer#Officer', 'Officer#Chair', 'Officer#Secretary', 'Officer#Treasurer', 'Officer#Vice-Chair']\n },\n LtiSession: {\n title: 'LtiSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'LtiSession',\n \"enum\": ['LtiSession']\n },\n messageParameters: {\n type: 'object',\n additionalProperties: true\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n Session: {\n title: 'Session',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'Session',\n \"enum\": ['Session']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'Person',\n $ref: '#/definitions/Person'\n }, {\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n UserSession: {\n title: 'UserSession',\n type: 'object',\n properties: {\n type: {\n type: 'string',\n \"default\": 'UserSession',\n \"enum\": ['UserSession']\n },\n user: {\n required: ['id', 'type'],\n oneOf: [{\n title: 'User',\n $ref: '#/definitions/User'\n }, {\n title: 'Instructor',\n $ref: '#/definitions/Instructor'\n }, {\n title: 'Student',\n $ref: '#/definitions/Student'\n }]\n },\n client: {\n title: 'SoftwareApplication',\n allOf: [{\n required: ['type', 'id']\n }, {\n title: 'SoftwareApplication',\n $ref: '#/definitions/SoftwareApplication'\n }]\n },\n login: {\n title: 'AuthorizationClaims',\n $ref: '#/definitions/AuthorizationClaims'\n },\n startedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n endedAtTime: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n duration: {\n type: 'string',\n pattern: '^P(?:\\\\d+Y)?(?:\\\\d+M)?(?:\\\\d+D)?T?(?:\\\\d+H)?(?:\\\\d+M)?(?:\\\\d+S)?'\n },\n id: {\n title: 'Uri',\n $ref: '#/definitions/Uri'\n },\n name: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n dateCreated: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n dateModified: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?Z$'\n },\n otherIdentifiers: {\n type: 'array',\n items: {\n title: 'SystemIdentifier',\n allOf: [{\n required: ['type', 'identifierType', 'identifier', 'source']\n }, {\n title: 'SystemIdentifier',\n $ref: '#/definitions/SystemIdentifier'\n }]\n }\n },\n status: {\n title: 'Status',\n $ref: '#/definitions/Status'\n },\n extensions: {\n type: 'object',\n additionalProperties: true\n }\n }\n },\n AuthorizationClaims: {\n title: 'AuthorizationClaims',\n type: 'object',\n properties: {\n localTimestamp: {\n type: 'string',\n pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?[-|\\\\+]\\\\d{2}:\\\\d{2}$'\n },\n loginType: {\n title: 'LoginType',\n $ref: '#/definitions/LoginType'\n },\n credentialTypes: {\n type: 'array',\n items: {\n title: 'CredentialType',\n $ref: '#/definitions/CredentialType'\n }\n },\n scopes: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n },\n LoginType: {\n type: 'string',\n title: 'LoginType',\n \"enum\": ['QRCodeSwipeFromALA', 'SAML', 'CleverApi', 'LtiSSO', 'GoogleAuthentication', 'ApplicationLoginPage', 'Impersonation']\n },\n CredentialType: {\n type: 'string',\n title: 'CredentialType',\n \"enum\": ['Username', 'Password', 'QRCode']\n }\n }\n }\n};\n\nfunction createViewEvent(params, edApp) {\n return _extends({\n type: EventType.ViewEvent,\n action: CaliperAction.Viewed,\n '@context': ['http://purl.imsglobal.org/ctx/caliper/v1p2'],\n id: Caliper.uuid(),\n eventTime: Caliper.timestamp(),\n edApp: edApp != null ? edApp : Caliper.edApp()\n }, params);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar LoginType;\n\n(function (LoginType) {\n LoginType[\"QRCodeSwipeFromALA\"] = \"QRCodeSwipeFromALA\";\n LoginType[\"SAML\"] = \"SAML\";\n LoginType[\"CleverApi\"] = \"CleverApi\";\n LoginType[\"LtiSSO\"] = \"LtiSSO\";\n LoginType[\"GoogleAuthentication\"] = \"GoogleAuthentication\";\n LoginType[\"ApplicationLoginPage\"] = \"ApplicationLoginPage\";\n LoginType[\"Impersonation\"] = \"Impersonation\";\n})(LoginType || (LoginType = {}));\n\nvar _schemas;\nvar schemas = (_schemas = {}, _schemas[AssignableActivatedEventSchema.context] = AssignableActivatedEventSchema.schema, _schemas[AssignableDeactivatedEventSchema.context] = AssignableDeactivatedEventSchema.schema, _schemas[AssignableStartedEventSchema.context] = AssignableStartedEventSchema.schema, _schemas[AssignableCompletedEventSchema.context] = AssignableCompletedEventSchema.schema, _schemas[AssignableSubmittedEventSchema.context] = AssignableSubmittedEventSchema.schema, _schemas[AssignableReviewedEventSchema.context] = AssignableReviewedEventSchema.schema, _schemas[AssignableUsedEventSchema.context] = AssignableUsedEventSchema.schema, _schemas[NWEABenchmarkEventSchema.context] = NWEABenchmarkEventSchema.schema, _schemas[BenchmarkEventSchema.context] = BenchmarkEventSchema.schema, _schemas[RenaissanceBenchmarkEventSchema.context] = RenaissanceBenchmarkEventSchema.schema, _schemas[ConfigurationEventSchema.context] = ConfigurationEventSchema.schema, _schemas[GroupCreatedEventSchema.context] = GroupCreatedEventSchema.schema, _schemas[GroupUpdatedEventSchema.context] = GroupUpdatedEventSchema.schema, _schemas[GroupDeletedEventSchema.context] = GroupDeletedEventSchema.schema, _schemas[IlpIdentifiedEventSchema.context] = IlpIdentifiedEventSchema.schema, _schemas[IlpRetrievedEventSchema.context] = IlpRetrievedEventSchema.schema, _schemas[IlpActivatedEventSchema.context] = IlpActivatedEventSchema.schema, _schemas[IlpDeactivatedEventSchema.context] = IlpDeactivatedEventSchema.schema, _schemas[LessonStartedEventSchema.context] = LessonStartedEventSchema.schema, _schemas[LessonCompletedEventSchema.context] = LessonCompletedEventSchema.schema, _schemas[LessonSkippedEventSchema.context] = LessonSkippedEventSchema.schema, _schemas[LessonActivatedEventSchema.context] = LessonActivatedEventSchema.schema, _schemas[LessonResetEventSchema.context] = LessonResetEventSchema.schema, _schemas[LessonGradedEventSchema.context] = LessonGradedEventSchema.schema, _schemas[LogoutEventSchema.context] = LogoutEventSchema.schema, _schemas[LoginSuccessEventSchema.context] = LoginSuccessEventSchema.schema, _schemas[LoginFailedEventSchema.context] = LoginFailedEventSchema.schema, _schemas[MembershipCreatedEventSchema.context] = MembershipCreatedEventSchema.schema, _schemas[MembershipUpdatedEventSchema.context] = MembershipUpdatedEventSchema.schema, _schemas[MembershipDeletedEventSchema.context] = MembershipDeletedEventSchema.schema, _schemas[MotivationEventSchema.context] = MotivationEventSchema.schema, _schemas[NavigationEventSchema.context] = NavigationEventSchema.schema, _schemas[OrganizationCreatedEventSchema.context] = OrganizationCreatedEventSchema.schema, _schemas[OrganizationUpdatedEventSchema.context] = OrganizationUpdatedEventSchema.schema, _schemas[OrganizationDeletedEventSchema.context] = OrganizationDeletedEventSchema.schema, _schemas[OrganizationActivatedEventSchema.context] = OrganizationActivatedEventSchema.schema, _schemas[OrganizationDeactivatedEventSchema.context] = OrganizationDeactivatedEventSchema.schema, _schemas[PlacementGradedEventSchema.context] = PlacementGradedEventSchema.schema, _schemas[PlacementModifiedEventSchema.context] = PlacementModifiedEventSchema.schema, _schemas[PlacementDeactivatedEventSchema.context] = PlacementDeactivatedEventSchema.schema, _schemas[PlacementActivatedEventSchema.context] = PlacementActivatedEventSchema.schema, _schemas[SearchEventSchema.context] = SearchEventSchema.schema, _schemas[SessionTimedOutEventSchema.context] = SessionTimedOutEventSchema.schema, _schemas[SessionEndedEventSchema.context] = SessionEndedEventSchema.schema, _schemas[SessionContinuedEventSchema.context] = SessionContinuedEventSchema.schema, _schemas[UserCreatedEventSchema.context] = UserCreatedEventSchema.schema, _schemas[UserUpdatedEventSchema.context] = UserUpdatedEventSchema.schema, _schemas[UserDeletedEventSchema.context] = UserDeletedEventSchema.schema, _schemas[UserActivatedEventSchema.context] = UserActivatedEventSchema.schema, _schemas[UserDeactivatedEventSchema.context] = UserDeactivatedEventSchema.schema, _schemas);\n\nfunction createSystemIdentifier(params) {\n var sourceUrl = params.sourceUrl,\n args = _objectWithoutPropertiesLoose(params, [\"sourceUrl\"]);\n\n var source = createSoftwareApplication({\n id: sourceUrl\n });\n return _extends({\n type: 'SystemIdentifier',\n source: source\n }, args);\n}\n\n/**\r\n * DO NOT EDIT!\r\n * This file was automatically generated.\r\n */\nvar SystemIdentifierType;\n\n(function (SystemIdentifierType) {\n SystemIdentifierType[\"AccountUserName\"] = \"AccountUserName\";\n SystemIdentifierType[\"EmailAddress\"] = \"EmailAddress\";\n SystemIdentifierType[\"LisSourcedId\"] = \"LisSourcedId\";\n SystemIdentifierType[\"LtiContextId\"] = \"LtiContextId\";\n SystemIdentifierType[\"LtiDeploymentId\"] = \"LtiDeploymentId\";\n SystemIdentifierType[\"LtiPlatformId\"] = \"LtiPlatformId\";\n SystemIdentifierType[\"LtiToolId\"] = \"LtiToolId\";\n SystemIdentifierType[\"LtiUserId\"] = \"LtiUserId\";\n SystemIdentifierType[\"OneRosterSourcedId\"] = \"OneRosterSourcedId\";\n SystemIdentifierType[\"Other\"] = \"Other\";\n SystemIdentifierType[\"SisSourcedId\"] = \"SisSourcedId\";\n SystemIdentifierType[\"SystemId\"] = \"SystemId\";\n})(SystemIdentifierType || (SystemIdentifierType = {}));\n\nvar _jsonldContext;\n\nvar JsonLdContextVersion;\n\n(function (JsonLdContextVersion) {\n JsonLdContextVersion[\"None\"] = \"none\";\n JsonLdContextVersion[\"V1P1\"] = \"v1p1\";\n JsonLdContextVersion[\"V2P2\"] = \"v1p2\";\n})(JsonLdContextVersion || (JsonLdContextVersion = {}));\n\nvar DEFAULT_CONFIG = {\n dataFormat: 'JSON-LD',\n dataVersion: JsonLdContextVersion.V1P1,\n dateTimeFormat: 'YYYY-MM-DDTHH:mm:ss.SSSZ',\n jsonldContext: (_jsonldContext = {}, _jsonldContext[JsonLdContextVersion.None] = undefined, _jsonldContext[JsonLdContextVersion.V1P1] = {\n \"default\": 'http://purl.imsglobal.org/ctx/caliper/v1p1',\n feedback: 'http://purl.imsglobal.org/ctx/caliper/v1p1/FeedbackProfile-extension',\n resourceManagement: 'http://purl.imsglobal.org/ctx/caliper/v1p1/ResourceManagementProfile-extension',\n search: 'http://purl.imsglobal.org/ctx/caliper/v1p1/SearchProfile-extension',\n survey: 'http://purl.imsglobal.org/ctx/caliper/v1p1/SurveyProfile-extension',\n toolLaunch: 'http://purl.imsglobal.org/ctx/caliper/v1p1/ToolLaunchProfile-extension',\n toolUse: 'http://purl.imsglobal.org/ctx/caliper/v1p1/ToolUseProfile-extension'\n }, _jsonldContext[JsonLdContextVersion.V2P2] = 'http://purl.imsglobal.org/ctx/caliper/v1p2', _jsonldContext),\n uuidVersion: 4\n};\nfunction getJsonLdContext(config, version, subVersion) {\n if (version === void 0) {\n version = DEFAULT_CONFIG.dataVersion;\n }\n\n if (subVersion === void 0) {\n subVersion = 'default';\n }\n\n var context = config.jsonldContext[version];\n return typeof context === 'object' ? context[subVersion] : context;\n}\n\nfunction createEnvelope(options) {\n var sendTime = Caliper.timestamp();\n var dataVersion = getJsonLdContext(DEFAULT_CONFIG, DEFAULT_CONFIG.dataVersion);\n var data = Array.isArray(options.data) ? [].concat(options.data) : [options.data];\n return _extends({\n sendTime: sendTime,\n dataVersion: dataVersion\n }, options, {\n data: data\n });\n}\n\nfunction getSchema(event) {\n var _event$Context = event['@context'],\n context = _event$Context[0];\n return schemas[context];\n}\n\nfunction validate(event, // eslint-disable-next-line @typescript-eslint/no-explicit-any\nschema) {\n if (schema === void 0) {\n schema = getSchema(event);\n }\n\n if (!schema) {\n return;\n }\n\n var _validateSchema = validate$1(event, schema),\n errors = _validateSchema.errors,\n valid = _validateSchema.valid;\n\n if (!valid) {\n throw errors.map(function (error) {\n return error.stack;\n });\n }\n}\n\nvar Sensor = /*#__PURE__*/function () {\n function Sensor(id, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n edApp = _ref.edApp,\n _ref$validationEnable = _ref.validationEnabled,\n validationEnabled = _ref$validationEnable === void 0 ? true : _ref$validationEnable,\n _ref$clients = _ref.clients,\n clients = _ref$clients === void 0 ? {} : _ref$clients;\n\n this.id = id;\n this.validationEnabled = true;\n this.clients = {};\n\n if (!id) {\n throw new Error('Caliper Sensor identifier (id) has not been provided.');\n }\n\n this.edApp = edApp;\n this.clients = clients;\n this.validationEnabled = validationEnabled;\n }\n\n var _proto = Sensor.prototype;\n\n _proto.createEnvelope = function createEnvelope$1(options) {\n var _options$sensor, _options$sendTime, _options$dataVersion;\n\n if (options.data === null || options.data === undefined) {\n throw new Error('Caliper Sensor Envelope data has not been provided.');\n }\n\n var sensor = (_options$sensor = options.sensor) != null ? _options$sensor : this.id;\n var sendTime = (_options$sendTime = options.sendTime) != null ? _options$sendTime : Caliper.timestamp();\n var dataVersion = (_options$dataVersion = options.dataVersion) != null ? _options$dataVersion : getJsonLdContext(DEFAULT_CONFIG, DEFAULT_CONFIG.dataVersion);\n return createEnvelope({\n sensor: sensor,\n sendTime: sendTime,\n dataVersion: dataVersion,\n data: options.data\n });\n };\n\n _proto.createEvent = function createEvent(eventFactory, params) {\n return eventFactory(params, this.edApp);\n };\n\n _proto.getClient = function getClient(id) {\n return this.clients[id];\n };\n\n _proto.getClients = function getClients() {\n return Object.values(this.clients);\n };\n\n _proto.getEdApp = function getEdApp() {\n return this.edApp;\n };\n\n _proto.getId = function getId() {\n return this.id;\n };\n\n _proto.registerClient = function registerClient(client) {\n this.clients[client.getId()] = client;\n };\n\n _proto.sendToClient = function sendToClient(client, envelope) {\n var httpClient = this.clients[typeof client === 'string' ? client : client.getId()];\n\n if (!httpClient) {\n throw new Error('Chosen Client has not been registered.');\n }\n\n var validationError = this.validateEvents(envelope.data);\n\n if (validationError !== null) {\n var message = {\n error: validationError.message,\n source: this.edApp ? this.edApp.id : Caliper.settings.applicationUri,\n payload: envelope\n };\n httpClient.queueDeadletterMessage(message);\n }\n\n return httpClient.send(envelope);\n };\n\n _proto.sendToClients = function sendToClients(envelope) {\n var _this = this;\n\n var clients = this.getClients();\n\n if (!clients.length) {\n throw new Error('No Clients have been registered.');\n }\n\n var validationError = this.validateEvents(envelope.data);\n\n if (validationError !== null) {\n return Promise.all(clients.map(function (client) {\n var message = {\n error: validationError.message,\n source: _this.edApp ? _this.edApp.id : Caliper.settings.applicationUri,\n payload: envelope\n };\n return client.queueDeadletterMessage(message);\n }));\n }\n\n return Promise.all(clients.map(function (client) {\n return client.send(envelope);\n }));\n };\n\n _proto.unregisterClient = function unregisterClient(id) {\n delete this.clients[id];\n };\n\n _proto.validateEvents = function validateEvents(events) {\n if (!this.validationEnabled) {\n return null;\n }\n\n var isValid = true;\n var validationErrors = [];\n events.forEach(function (event) {\n try {\n validate(event);\n validationErrors.push('Other events in the batch were invalid');\n } catch (error) {\n isValid = false;\n\n if (Array.isArray(error)) {\n var e = error;\n validationErrors.push(event.id + \": \" + e.join('\\n\\t'));\n } else {\n var _e = error;\n validationErrors.push(event.id + \": \" + _e.message + \"\\n\" + _e.stack);\n }\n }\n });\n return isValid ? null : new Error(validationErrors.join('\\n'));\n };\n\n return Sensor;\n}();\n\nexport { AcademicSessionStatus, AcademicSessionType, AssignableActivatedEventSchema, AssignableCompletedEventSchema, AssignableDeactivatedEventSchema, AssignableReviewedEventSchema, AssignableStartedEventSchema, AssignableSubmittedEventSchema, AssignableUsedEventSchema, BenchmarkEventSchema, Caliper, CaliperAction, CaliperMetric, ConfigurationEventSchema, CredentialType, EntityType, EventType, GroupCreatedEventSchema, GroupDeletedEventSchema, GroupUpdatedEventSchema, HttpClient, IlpActivatedEventSchema, IlpDeactivatedEventSchema, IlpIdentifiedEventSchema, IlpRetrievedEventSchema, InstitutionType, LessonActivatedEventSchema, LessonCompletedEventSchema, LessonGradedEventSchema, LessonResetEventSchema, LessonSkippedEventSchema, LessonStartedEventSchema, LessonStatus, LoginFailedEventSchema, LoginSuccessEventSchema, LoginType, LogoutEventSchema, LtiMessageType, MembershipCreatedEventSchema, MembershipDeletedEventSchema, MembershipUpdatedEventSchema, MotivationEventSchema, NWEABenchmarkEventSchema, NavigationEventSchema, OrganizationActivatedEventSchema, OrganizationCreatedEventSchema, OrganizationDeactivatedEventSchema, OrganizationDeletedEventSchema, OrganizationUpdatedEventSchema, PlacementActivatedEventSchema, PlacementDeactivatedEventSchema, PlacementGradedEventSchema, PlacementModifiedEventSchema, ProfileType, RenaissanceBenchmarkEventSchema, Role, SearchEventSchema, SelectorType, Sensor, SessionContinuedEventSchema, SessionEndedEventSchema, SessionTimedOutEventSchema, Status, SystemIdentifierType, UserActivatedEventSchema, UserCreatedEventSchema, UserDeactivatedEventSchema, UserDeletedEventSchema, UserUpdatedEventSchema, createAcademicSession, createAgent, createAggregateMeasure, createAggregateMeasureCollection, createAnnotation, createAnnotationEvent, createAssessment, createAssessmentEvent, createAssessmentItem, createAssessmentItemEvent, createAssignableActivatedEvent, createAssignableCompletedEvent, createAssignableDeactivatedEvent, createAssignableDigitalResource, createAssignableEvent, createAssignableReviewedEvent, createAssignableStartedEvent, createAssignableSubmittedEvent, createAssignableUsedEvent, createAttempt, createAudioObject, createAward, createBenchmarkEvent, createBenchmarkEventAttempt, createBenchmarkEventScore, createBenchmarkEventStudent, createBookmarkAnnotation, createChapter, createClass, createCollection, createComment, createConfiguration, createConfigurationEvent, createCourseOffering, createCourseSection, createDateTimeQuestion, createDateTimeResponse, createDigitalResource, createDigitalResourceCollection, createDistrict, createDocument, createDomain, createEducationStandard, createEntity, createEvent, createFeedbackEvent, createFillInBlankResponse, createForum, createForumEvent, createFrame, createGradeEvent, createGroup, createGroupCreatedEvent, createGroupDeletedEvent, createGroupEventClass, createGroupEventGroup, createGroupUpdatedEvent, createHighlightAnnotation, createIlpActivatedEvent, createIlpDeactivatedEvent, createIlpEvent, createIlpEventIndividualizedLearningPath, createIlpEventLesson, createIlpIdentifiedEvent, createIlpRetrievedEvent, createImageObject, createIndividualizedLearningPath, createInstructor, createLearningObjective, createLesson, createLessonActivatedEvent, createLessonCompletedEvent, createLessonEvent, createLessonEventIndividualizedLearningPath, createLessonEventLesson, createLessonEventMasteryScore, createLessonGradedEvent, createLessonResetEvent, createLessonSkippedEvent, createLessonStartedEvent, createLessonStartedEventLesson, createLikertScale, createLink, createLoginEventSoftwareApplication, createLoginEventUserSession, createLoginFailedEvent, createLoginFailedEventUserSession, createLoginMembership, createLoginSuccessEvent, createLoginSuccessEventUserSession, createLogoutEvent, createLtiLink, createLtiSession, createMasteryScore, createMediaEvent, createMediaLocation, createMediaObject, createMembership, createMembershipCreatedEvent, createMembershipDeletedEvent, createMembershipEventClass, createMembershipEventGroup, createMembershipEventMembership, createMembershipEventOrganization, createMembershipEventSchool, createMembershipUpdatedEvent, createMessage, createMessageEvent, createMotivationEvent, createMotivationEventCollection, createMotivationEventIndividualizedLearningPath, createMultipleChoiceResponse, createMultipleResponseResponse, createMultiselectQuestion, createMultiselectResponse, createMultiselectScale, createNWEABenchmarkEvent, createNWEABenchmarkEventAssessment, createNWEABenchmarkEventAttempt, createNWEABenchmarkEventScore, createNWEABenchmarkEventStudent, createNavigationEvent, createNumericScale, createOpenEndedQuestion, createOpenEndedResponse, createOrganization, createOrganizationActivatedEvent, createOrganizationCreatedEvent, createOrganizationDeactivatedEvent, createOrganizationDeletedEvent, createOrganizationEventDistrict, createOrganizationEventOrganization, createOrganizationEventSchool, createOrganizationUpdatedEvent, createPage, createPerson, createPlacement, createPlacementActivatedEvent, createPlacementActivatedEventPlacement, createPlacementActivatedEventStudent, createPlacementDeactivatedEvent, createPlacementDeactivatedEventPlacement, createPlacementDeactivatedEventStudent, createPlacementGradedEvent, createPlacementGradedEventAssessment, createPlacementGradedEventPlacementScore, createPlacementGradedEventStudent, createPlacementModifiedEvent, createPlacementModifiedEventPlacementScore, createPlacementModifiedEventStudent, createPlacementScore, createPlacementTest, createQuery, createQuestion, createQuestionnaire, createQuestionnaireEvent, createQuestionnaireItem, createQuestionnaireItemEvent, createRating, createRatingScaleQuestion, createRatingScaleResponse, createRenaissanceBenchmarkEvent, createResourceManagementEvent, createResponse, createResult, createScale, createSchool, createScore, createSearchEvent, createSearchEventSearchResponse, createSearchResponse, createSelectTextResponse, createSession, createSessionContinuedEvent, createSessionContinuedEventUserSession, createSessionEndedEvent, createSessionEndedEventUserSession, createSessionEvent, createSessionTimedOutEvent, createSessionTimedOutEventUserSession, createSharedAnnotation, createSoftwareApplication, createStudent, createSurvey, createSurveyEvent, createSurveyInvitation, createSurveyInvitationEvent, createSystemIdentifier, createTagAnnotation, createTextPositionSelector, createThread, createThreadEvent, createToolLaunchEvent, createToolUseEvent, createTrueFalseResponse, createUser, createUserActivatedEvent, createUserCreatedEvent, createUserDeactivatedEvent, createUserDeletedEvent, createUserEventInstructor, createUserEventStudent, createUserEventUser, createUserSession, createUserUpdatedEvent, createVideoObject, createViewEvent, createWebPage, httpClient, schemas };\n//# sourceMappingURL=caliper-ts.esm.js.map\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UNITS_META = exports.UNITS = exports.UNITS_META_MAP = exports.UNITS_META_MAP_LITERAL = exports.ZERO = void 0;\n// Durations defined by ISO 31-1\nvar MILLISECONDS_IN_A_SECOND = 1000;\nvar MILLISECONDS_IN_A_MINUTE = MILLISECONDS_IN_A_SECOND * 60;\nvar MILLISECONDS_IN_AN_HOUR = MILLISECONDS_IN_A_MINUTE * 60;\nvar MILLISECONDS_IN_A_DAY = MILLISECONDS_IN_AN_HOUR * 24;\n// Durations defined by common sense\nvar MILLISECONDS_IN_A_WEEK = MILLISECONDS_IN_A_DAY * 7;\nvar MILLISECONDS_IN_A_YEAR = MILLISECONDS_IN_A_DAY * 365;\nvar MILLISECONDS_IN_A_MONTH = MILLISECONDS_IN_A_YEAR / 12;\nexports.ZERO = Object.freeze({\n years: 0,\n months: 0,\n weeks: 0,\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\nexports.UNITS_META_MAP_LITERAL = {\n years: {\n milliseconds: MILLISECONDS_IN_A_YEAR,\n months: 12,\n dateGetter: function (date) { return date.getFullYear(); },\n ISOCharacter: 'Y',\n ISOPrecision: 'period',\n },\n months: {\n milliseconds: MILLISECONDS_IN_A_MONTH,\n months: 1,\n dateGetter: function (date) { return date.getMonth(); },\n ISOCharacter: 'M',\n ISOPrecision: 'period',\n },\n weeks: {\n milliseconds: MILLISECONDS_IN_A_WEEK,\n dateGetter: function () { return 0; },\n ISOCharacter: 'W',\n ISOPrecision: 'period',\n stringifyConvertTo: 'days',\n },\n days: {\n milliseconds: MILLISECONDS_IN_A_DAY,\n dateGetter: function (date) { return date.getDate(); },\n ISOCharacter: 'D',\n ISOPrecision: 'period',\n },\n hours: {\n milliseconds: MILLISECONDS_IN_AN_HOUR,\n dateGetter: function (date) { return date.getHours(); },\n ISOCharacter: 'H',\n ISOPrecision: 'time',\n },\n minutes: {\n milliseconds: MILLISECONDS_IN_A_MINUTE,\n dateGetter: function (date) { return date.getMinutes(); },\n ISOCharacter: 'M',\n ISOPrecision: 'time',\n },\n seconds: {\n milliseconds: MILLISECONDS_IN_A_SECOND,\n dateGetter: function (date) { return date.getSeconds(); },\n ISOCharacter: 'S',\n ISOPrecision: 'time',\n },\n milliseconds: {\n milliseconds: 1,\n dateGetter: function (date) { return date.getMilliseconds(); },\n stringifyConvertTo: 'seconds',\n },\n};\n// Re-export with a defined signature to allow for destructuring of optional\n// properties.\n//\n// The original `UNITS_MAP_LITERAL` is useful as TypeScript does not need a null\n// check when accessing an optional property that it knows is defined for the\n// specified unit (e.g. `UNITS_MAP_LITERAL.years.months`), whereas `UNITS_MAP`\n// needs the null check.\nexports.UNITS_META_MAP = exports.UNITS_META_MAP_LITERAL;\n/**\n * All the keys of the `Duration` type, ordered from largest\n * to smallest.\n */\nexports.UNITS = Object.freeze([\n 'years',\n 'months',\n 'weeks',\n 'days',\n 'hours',\n 'minutes',\n 'seconds',\n 'milliseconds',\n]);\nexports.UNITS_META = Object.freeze(exports.UNITS.map(function (unit) { return (__assign(__assign({}, exports.UNITS_META_MAP[unit]), { unit: unit })); }));\n//# sourceMappingURL=units.js.map","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\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 no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = void 0;\nvar units_1 = require(\"./lib/units\");\nvar parseISODuration_1 = require(\"./lib/parseISODuration\");\nvar validate_1 = require(\"./lib/validate\");\nvar cleanDurationObject_1 = require(\"./lib/cleanDurationObject\");\nvar baseParse = function (duration) {\n if (typeof duration === 'string') {\n return parseISODuration_1.parseISODuration(duration);\n }\n if (typeof duration === 'number') {\n return __assign(__assign({}, units_1.ZERO), { milliseconds: duration });\n }\n return __assign(__assign({}, units_1.ZERO), duration);\n};\n/**\n * Parse various duration formats to a simple suration object.\n */\nvar parse = function (duration) {\n var output = baseParse(duration);\n validate_1.validate(output);\n return cleanDurationObject_1.cleanDurationObject(output);\n};\nexports.parse = parse;\n//# sourceMappingURL=parse.js.map","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import { filter } from 'rxjs/operators';\n\nvar keyHasType = function keyHasType(type, key) {\n return type === key || typeof key === 'function' && type === key.toString();\n};\n\nexport var ofType = function ofType() {\n for (var _len = arguments.length, keys = Array(_len), _key = 0; _key < _len; _key++) {\n keys[_key] = arguments[_key];\n }\n\n return function (source) {\n return source.pipe(filter(function (_ref) {\n var type = _ref.type;\n\n var len = keys.length;\n if (len === 1) {\n return keyHasType(type, keys[0]);\n } else {\n for (var i = 0; i < len; i++) {\n if (keyHasType(type, keys[i])) {\n return true;\n }\n }\n }\n return false;\n }));\n };\n};","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = /*@__PURE__*/ getSymbolIterator();\nexport var $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from 'react';\nexport var ReactReduxContext =\n/*#__PURE__*/\nReact.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub) {\n this.store = store;\n this.parentSub = parentSub;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n this.handleChangeWrapper = this.handleChangeWrapper.bind(this);\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.handleChangeWrapper = function handleChangeWrapper() {\n if (this.onStateChange) {\n this.onStateChange();\n }\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexport { Subscription as default };","import React, { useMemo, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport Subscription from '../utils/Subscription';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = new Subscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: . ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var forwardedRef = props.forwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, [\"forwardedRef\"]);\n\n return [props.context, forwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n forwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer(React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + \"or pass a custom React context provider to and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n } // Based on the previous check, one of these must be true\n\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var subscription = new Subscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: forwardedRef\n }));\n }, [forwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return React.createElement(Connect, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import { bindActionCreators } from 'redux';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, {}, stateProps, {}, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default\n/*#__PURE__*/\ncreateConnect();","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return

{store.getState()}
\r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport var useStore =\n/*#__PURE__*/\ncreateStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport var useDispatch =\n/*#__PURE__*/\ncreateDispatchHook();","import { useReducer, useRef, useMemo, useContext } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return new Subscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestSelectedState = useRef();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) {\n selectedState = selector(store.getState());\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newSelectedState = latestSelector.current(store.getState());\n\n if (equalityFn(newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = newSelectedState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender({});\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production' && !selector) {\n throw new Error(\"You must pass a selector to useSelectors\");\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n return useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport var useSelector =\n/*#__PURE__*/\ncreateSelectorHook();","import Provider from './components/Provider';\nimport connectAdvanced from './components/connectAdvanced';\nimport { ReactReduxContext } from './components/Context';\nimport connect from './connect/connect';\nimport { useDispatch, createDispatchHook } from './hooks/useDispatch';\nimport { useSelector, createSelectorHook } from './hooks/useSelector';\nimport { useStore, createStoreHook } from './hooks/useStore';\nimport { setBatch } from './utils/batch';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport shallowEqual from './utils/shallowEqual';\nsetBatch(batch);\nexport { Provider, connectAdvanced, ReactReduxContext, connect, batch, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\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.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","/*\r\n * jsrsasign(all) 8.0.12 (2018-04-22) (c) 2010-2018 Kenji Urushima | kjur.github.com/jsrsasign/license\r\n */\r\n\r\nvar navigator = {};\r\nnavigator.userAgent = false;\r\n\r\nvar window = {};\r\n\n/*!\r\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\r\nCode licensed under the BSD License:\r\nhttp://developer.yahoo.com/yui/license.html\r\nversion: 2.9.0\r\n*/\r\nif(YAHOO===undefined){var YAHOO={}}YAHOO.lang={extend:function(g,h,f){if(!h||!g){throw new Error(\"YAHOO.lang.extend failed, please check that all dependencies are included.\")}var d=function(){};d.prototype=h.prototype;g.prototype=new d();g.prototype.constructor=g;g.superclass=h.prototype;if(h.prototype.constructor==Object.prototype.constructor){h.prototype.constructor=h}if(f){var b;for(b in f){g.prototype[b]=f[b]}var e=function(){},c=[\"toString\",\"valueOf\"];try{if(/MSIE/.test(navigator.userAgent)){e=function(j,i){for(b=0;b>>2]>>>(24-(r%4)*8))&255;q[(n+r)>>>2]|=o<<(24-((n+r)%4)*8)}}else{for(var r=0;r>>2]=p[r>>>2]}}this.sigBytes+=s;return this},clamp:function(){var o=this.words;var n=this.sigBytes;o[n>>>2]&=4294967295<<(32-(n%4)*8);o.length=e.ceil(n/4)},clone:function(){var n=j.clone.call(this);n.words=this.words.slice(0);return n},random:function(p){var o=[];for(var n=0;n>>2]>>>(24-(n%4)*8))&255;q.push((s>>>4).toString(16));q.push((s&15).toString(16))}return q.join(\"\")},parse:function(p){var n=p.length;var q=[];for(var o=0;o>>3]|=parseInt(p.substr(o,2),16)<<(24-(o%8)*4)}return new l.init(q,n/2)}};var d=m.Latin1={stringify:function(q){var r=q.words;var p=q.sigBytes;var n=[];for(var o=0;o>>2]>>>(24-(o%4)*8))&255;n.push(String.fromCharCode(s))}return n.join(\"\")},parse:function(p){var n=p.length;var q=[];for(var o=0;o>>2]|=(p.charCodeAt(o)&255)<<(24-(o%4)*8)}return new l.init(q,n)}};var c=m.Utf8={stringify:function(n){try{return decodeURIComponent(escape(d.stringify(n)))}catch(o){throw new Error(\"Malformed UTF-8 data\")}},parse:function(n){return d.parse(unescape(encodeURIComponent(n)))}};var i=b.BufferedBlockAlgorithm=j.extend({reset:function(){this._data=new l.init();this._nDataBytes=0},_append:function(n){if(typeof n==\"string\"){n=c.parse(n)}this._data.concat(n);this._nDataBytes+=n.sigBytes},_process:function(w){var q=this._data;var x=q.words;var n=q.sigBytes;var t=this.blockSize;var v=t*4;var u=n/v;if(w){u=e.ceil(u)}else{u=e.max((u|0)-this._minBufferSize,0)}var s=u*t;var r=e.min(s*4,n);if(s){for(var p=0;p>>2]>>>24-8*(a%4)&255)<<16|(e[a+1>>>2]>>>24-8*((a+1)%4)&255)<<8|e[a+2>>>2]>>>24-8*((a+2)%4)&255,g=0;4>g&&a+0.75*g>>6*(3-g)&63));if(e=c.charAt(64))for(;b.length%4;)b.push(e);return b.join(\"\")},parse:function(b){var e=b.length,f=this._map,c=f.charAt(64);c&&(c=b.indexOf(c),-1!=c&&(e=c));for(var c=[],a=0,d=0;d<\r\ne;d++)if(d%4){var g=f.indexOf(b.charAt(d-1))<<2*(d%4),h=f.indexOf(b.charAt(d))>>>6-2*(d%4);c[a>>>2]|=(g|h)<<24-8*(a%4);a++}return j.create(c,a)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}})();\r\n\n/*\r\nCryptoJS v3.1.2 sha256-min.js\r\ncode.google.com/p/crypto-js\r\n(c) 2009-2013 by Jeff Mott. All rights reserved.\r\ncode.google.com/p/crypto-js/wiki/License\r\n*/\r\n(function(k){for(var g=CryptoJS,h=g.lib,v=h.WordArray,j=h.Hasher,h=g.algo,s=[],t=[],u=function(q){return 4294967296*(q-(q|0))|0},l=2,b=0;64>b;){var d;a:{d=l;for(var w=k.sqrt(d),r=2;r<=w;r++)if(!(d%r)){d=!1;break a}d=!0}d&&(8>b&&(s[b]=u(k.pow(l,0.5))),t[b]=u(k.pow(l,1/3)),b++);l++}var n=[],h=h.SHA256=j.extend({_doReset:function(){this._hash=new v.init(s.slice(0))},_doProcessBlock:function(q,h){for(var a=this._hash.words,c=a[0],d=a[1],b=a[2],k=a[3],f=a[4],g=a[5],j=a[6],l=a[7],e=0;64>e;e++){if(16>e)n[e]=\r\nq[h+e]|0;else{var m=n[e-15],p=n[e-2];n[e]=((m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3)+n[e-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+n[e-16]}m=l+((f<<26|f>>>6)^(f<<21|f>>>11)^(f<<7|f>>>25))+(f&g^~f&j)+t[e]+n[e];p=((c<<30|c>>>2)^(c<<19|c>>>13)^(c<<10|c>>>22))+(c&d^c&b^d&b);l=j;j=g;g=f;f=k+m|0;k=b;b=d;d=c;c=m+p|0}a[0]=a[0]+c|0;a[1]=a[1]+d|0;a[2]=a[2]+b|0;a[3]=a[3]+k|0;a[4]=a[4]+f|0;a[5]=a[5]+g|0;a[6]=a[6]+j|0;a[7]=a[7]+l|0},_doFinalize:function(){var d=this._data,b=d.words,a=8*this._nDataBytes,c=8*d.sigBytes;\r\nb[c>>>5]|=128<<24-c%32;b[(c+64>>>9<<4)+14]=k.floor(a/4294967296);b[(c+64>>>9<<4)+15]=a;d.sigBytes=4*b.length;this._process();return this._hash},clone:function(){var b=j.clone.call(this);b._hash=this._hash.clone();return b}});g.SHA256=j._createHelper(h);g.HmacSHA256=j._createHmacHelper(h)})(Math);\r\n\n/*\r\nCryptoJS v3.1.2 sha512-min.js\r\ncode.google.com/p/crypto-js\r\n(c) 2009-2013 by Jeff Mott. All rights reserved.\r\ncode.google.com/p/crypto-js/wiki/License\r\n*/\r\n(function(){function a(){return d.create.apply(d,arguments)}for(var n=CryptoJS,r=n.lib.Hasher,e=n.x64,d=e.Word,T=e.WordArray,e=n.algo,ea=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),\r\na(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,\r\n2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),\r\na(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,\r\n3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],v=[],w=0;80>w;w++)v[w]=a();e=e.SHA512=r.extend({_doReset:function(){this._hash=new T.init([new d.init(1779033703,4089235720),new d.init(3144134277,2227873595),new d.init(1013904242,4271175723),new d.init(2773480762,1595750129),new d.init(1359893119,2917565137),new d.init(2600822924,725511199),new d.init(528734635,4215389547),new d.init(1541459225,327033209)])},_doProcessBlock:function(a,d){for(var f=this._hash.words,\r\nF=f[0],e=f[1],n=f[2],r=f[3],G=f[4],H=f[5],I=f[6],f=f[7],w=F.high,J=F.low,X=e.high,K=e.low,Y=n.high,L=n.low,Z=r.high,M=r.low,$=G.high,N=G.low,aa=H.high,O=H.low,ba=I.high,P=I.low,ca=f.high,Q=f.low,k=w,g=J,z=X,x=K,A=Y,y=L,U=Z,B=M,l=$,h=N,R=aa,C=O,S=ba,D=P,V=ca,E=Q,m=0;80>m;m++){var s=v[m];if(16>m)var j=s.high=a[d+2*m]|0,b=s.low=a[d+2*m+1]|0;else{var j=v[m-15],b=j.high,p=j.low,j=(b>>>1|p<<31)^(b>>>8|p<<24)^b>>>7,p=(p>>>1|b<<31)^(p>>>8|b<<24)^(p>>>7|b<<25),u=v[m-2],b=u.high,c=u.low,u=(b>>>19|c<<13)^(b<<\r\n3|c>>>29)^b>>>6,c=(c>>>19|b<<13)^(c<<3|b>>>29)^(c>>>6|b<<26),b=v[m-7],W=b.high,t=v[m-16],q=t.high,t=t.low,b=p+b.low,j=j+W+(b>>>0

>>0?1:0),b=b+c,j=j+u+(b>>>0>>0?1:0),b=b+t,j=j+q+(b>>>0>>0?1:0);s.high=j;s.low=b}var W=l&R^~l&S,t=h&C^~h&D,s=k&z^k&A^z&A,T=g&x^g&y^x&y,p=(k>>>28|g<<4)^(k<<30|g>>>2)^(k<<25|g>>>7),u=(g>>>28|k<<4)^(g<<30|k>>>2)^(g<<25|k>>>7),c=ea[m],fa=c.high,da=c.low,c=E+((h>>>14|l<<18)^(h>>>18|l<<14)^(h<<23|l>>>9)),q=V+((l>>>14|h<<18)^(l>>>18|h<<14)^(l<<23|h>>>9))+(c>>>0>>0?1:\r\n0),c=c+t,q=q+W+(c>>>0>>0?1:0),c=c+da,q=q+fa+(c>>>0>>0?1:0),c=c+b,q=q+j+(c>>>0>>0?1:0),b=u+T,s=p+s+(b>>>0>>0?1:0),V=S,E=D,S=R,D=C,R=l,C=h,h=B+c|0,l=U+q+(h>>>0>>0?1:0)|0,U=A,B=y,A=z,y=x,z=k,x=g,g=c+b|0,k=q+s+(g>>>0>>0?1:0)|0}J=F.low=J+g;F.high=w+k+(J>>>0>>0?1:0);K=e.low=K+x;e.high=X+z+(K>>>0>>0?1:0);L=n.low=L+y;n.high=Y+A+(L>>>0>>0?1:0);M=r.low=M+B;r.high=Z+U+(M>>>0>>0?1:0);N=G.low=N+h;G.high=$+l+(N>>>0>>0?1:0);O=H.low=O+C;H.high=aa+R+(O>>>0>>0?1:0);P=I.low=P+D;\r\nI.high=ba+S+(P>>>0>>0?1:0);Q=f.low=Q+E;f.high=ca+V+(Q>>>0>>0?1:0)},_doFinalize:function(){var a=this._data,d=a.words,f=8*this._nDataBytes,e=8*a.sigBytes;d[e>>>5]|=128<<24-e%32;d[(e+128>>>10<<5)+30]=Math.floor(f/4294967296);d[(e+128>>>10<<5)+31]=f;a.sigBytes=4*d.length;this._process();return this._hash.toX32()},clone:function(){var a=r.clone.call(this);a._hash=this._hash.clone();return a},blockSize:32});n.SHA512=r._createHelper(e);n.HmacSHA512=r._createHmacHelper(e)})();\r\n\n/*\r\nCryptoJS v3.1.2 sha384-min.js\r\ncode.google.com/p/crypto-js\r\n(c) 2009-2013 by Jeff Mott. All rights reserved.\r\ncode.google.com/p/crypto-js/wiki/License\r\n*/\r\n(function(){var c=CryptoJS,a=c.x64,b=a.Word,e=a.WordArray,a=c.algo,d=a.SHA512,a=a.SHA384=d.extend({_doReset:function(){this._hash=new e.init([new b.init(3418070365,3238371032),new b.init(1654270250,914150663),new b.init(2438529370,812702999),new b.init(355462360,4144912697),new b.init(1731405415,4290775857),new b.init(2394180231,1750603025),new b.init(3675008525,1694076839),new b.init(1203062813,3204075428)])},_doFinalize:function(){var a=d._doFinalize.call(this);a.sigBytes-=16;return a}});c.SHA384=\r\nd._createHelper(a);c.HmacSHA384=d._createHmacHelper(a)})();\r\n\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\r\n */\r\nvar b64map=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";var b64pad=\"=\";function hex2b64(d){var b;var e;var a=\"\";for(b=0;b+3<=d.length;b+=3){e=parseInt(d.substring(b,b+3),16);a+=b64map.charAt(e>>6)+b64map.charAt(e&63)}if(b+1==d.length){e=parseInt(d.substring(b,b+1),16);a+=b64map.charAt(e<<2)}else{if(b+2==d.length){e=parseInt(d.substring(b,b+2),16);a+=b64map.charAt(e>>2)+b64map.charAt((e&3)<<4)}}if(b64pad){while((a.length&3)>0){a+=b64pad}}return a}function b64tohex(f){var d=\"\";var e;var b=0;var c;var a;for(e=0;e>2);c=a&3;b=1}else{if(b==1){d+=int2char((c<<2)|(a>>4));c=a&15;b=2}else{if(b==2){d+=int2char(c);d+=int2char(a>>2);c=a&3;b=3}else{d+=int2char((c<<2)|(a>>4));d+=int2char(a&15);b=0}}}}if(b==1){d+=int2char(c<<2)}return d}function b64toBA(e){var d=b64tohex(e);var c;var b=new Array();for(c=0;2*c=0){var d=a*this[f++]+b[e]+h;h=Math.floor(d/67108864);b[e++]=d&67108863}return h}function am2(f,q,r,e,o,a){var k=q&32767,p=q>>15;while(--a>=0){var d=this[f]&32767;var g=this[f++]>>15;var b=p*d+g*k;d=k*d+((b&32767)<<15)+r[e]+(o&1073741823);o=(d>>>30)+(b>>>15)+p*g+(o>>>30);r[e++]=d&1073741823}return o}function am3(f,q,r,e,o,a){var k=q&16383,p=q>>14;while(--a>=0){var d=this[f]&16383;var g=this[f++]>>14;var b=p*d+g*k;d=k*d+((b&16383)<<14)+r[e]+o;o=(d>>28)+(b>>14)+p*g;r[e++]=d&268435455}return o}if(j_lm&&(navigator.appName==\"Microsoft Internet Explorer\")){BigInteger.prototype.am=am2;dbits=30}else{if(j_lm&&(navigator.appName!=\"Netscape\")){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=((1<=0;--a){b[a]=this[a]}b.t=this.t;b.s=this.s}function bnpFromInt(a){this.t=1;this.s=(a<0)?-1:0;if(a>0){this[0]=a}else{if(a<-1){this[0]=a+this.DV}else{this.t=0}}}function nbv(a){var b=nbi();b.fromInt(a);return b}function bnpFromString(h,c){var e;if(c==16){e=4}else{if(c==8){e=3}else{if(c==256){e=8}else{if(c==2){e=1}else{if(c==32){e=5}else{if(c==4){e=2}else{this.fromRadix(h,c);return}}}}}}this.t=0;this.s=0;var g=h.length,d=false,f=0;while(--g>=0){var a=(e==8)?h[g]&255:intAt(h,g);if(a<0){if(h.charAt(g)==\"-\"){d=true}continue}d=false;if(f==0){this[this.t++]=a}else{if(f+e>this.DB){this[this.t-1]|=(a&((1<<(this.DB-f))-1))<>(this.DB-f))}else{this[this.t-1]|=a<=this.DB){f-=this.DB}}if(e==8&&(h[0]&128)!=0){this.s=-1;if(f>0){this[this.t-1]|=((1<<(this.DB-f))-1)<0&&this[this.t-1]==a){--this.t}}function bnToString(c){if(this.s<0){return\"-\"+this.negate().toString(c)}var e;if(c==16){e=4}else{if(c==8){e=3}else{if(c==2){e=1}else{if(c==32){e=5}else{if(c==4){e=2}else{return this.toRadix(c)}}}}}var g=(1<0){if(j>j)>0){a=true;h=int2char(l)}while(f>=0){if(j>(j+=this.DB-e)}else{l=(this[f]>>(j-=e))&g;if(j<=0){j+=this.DB;--f}}if(l>0){a=true}if(a){h+=int2char(l)}}}return a?h:\"0\"}function bnNegate(){var a=nbi();BigInteger.ZERO.subTo(this,a);return a}function bnAbs(){return(this.s<0)?this.negate():this}function bnCompareTo(b){var d=this.s-b.s;if(d!=0){return d}var c=this.t;d=c-b.t;if(d!=0){return(this.s<0)?-d:d}while(--c>=0){if((d=this[c]-b[c])!=0){return d}}return 0}function nbits(a){var c=1,b;if((b=a>>>16)!=0){a=b;c+=16}if((b=a>>8)!=0){a=b;c+=8}if((b=a>>4)!=0){a=b;c+=4}if((b=a>>2)!=0){a=b;c+=2}if((b=a>>1)!=0){a=b;c+=1}return c}function bnBitLength(){if(this.t<=0){return 0}return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM))}function bnpDLShiftTo(c,b){var a;for(a=this.t-1;a>=0;--a){b[a+c]=this[a]}for(a=c-1;a>=0;--a){b[a]=0}b.t=this.t+c;b.s=this.s}function bnpDRShiftTo(c,b){for(var a=c;a=0;--d){e[d+f+1]=(this[d]>>a)|h;h=(this[d]&g)<=0;--d){e[d]=0}e[f]=h;e.t=this.t+f+1;e.s=this.s;e.clamp()}function bnpRShiftTo(g,d){d.s=this.s;var e=Math.floor(g/this.DB);if(e>=this.t){d.t=0;return}var b=g%this.DB;var a=this.DB-b;var f=(1<>b;for(var c=e+1;c>b}if(b>0){d[this.t-e-1]|=(this.s&f)<>=this.DB}if(d.t>=this.DB}g+=this.s}else{g+=this.s;while(e>=this.DB}g-=d.s}f.s=(g<0)?-1:0;if(g<-1){f[e++]=this.DV+g}else{if(g>0){f[e++]=g}}f.t=e;f.clamp()}function bnpMultiplyTo(c,e){var b=this.abs(),f=c.abs();var d=b.t;e.t=d+f.t;while(--d>=0){e[d]=0}for(d=0;d=0){d[b]=0}for(b=0;b=a.DV){d[b+a.t]-=a.DV;d[b+a.t+1]=1}}if(d.t>0){d[d.t-1]+=a.am(b,a[b],d,2*b,0,1)}d.s=0;d.clamp()}function bnpDivRemTo(n,h,g){var w=n.abs();if(w.t<=0){return}var k=this.abs();if(k.t0){w.lShiftTo(v,d);k.lShiftTo(v,g)}else{w.copyTo(d);k.copyTo(g)}var p=d.t;var b=d[p-1];if(b==0){return}var o=b*(1<1)?d[p-2]>>this.F2:0);var A=this.FV/o,z=(1<=0){g[g.t++]=1;g.subTo(f,g)}BigInteger.ONE.dlShiftTo(p,f);f.subTo(d,d);while(d.t=0){var c=(g[--u]==b)?this.DM:Math.floor(g[u]*A+(g[u-1]+x)*z);if((g[u]+=d.am(0,c,g,s,0,p))0){g.rShiftTo(v,g)}if(a<0){BigInteger.ZERO.subTo(g,g)}}function bnMod(b){var c=nbi();this.abs().divRemTo(b,null,c);if(this.s<0&&c.compareTo(BigInteger.ZERO)>0){b.subTo(c,c)}return c}function Classic(a){this.m=a}function cConvert(a){if(a.s<0||a.compareTo(this.m)>=0){return a.mod(this.m)}else{return a}}function cRevert(a){return a}function cReduce(a){a.divRemTo(this.m,null,a)}function cMulTo(a,c,b){a.multiplyTo(c,b);this.reduce(b)}function cSqrTo(a,b){a.squareTo(b);this.reduce(b)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1){return 0}var a=this[0];if((a&1)==0){return 0}var b=a&3;b=(b*(2-(a&15)*b))&15;b=(b*(2-(a&255)*b))&255;b=(b*(2-(((a&65535)*b)&65535)))&65535;b=(b*(2-a*b%this.DV))%this.DV;return(b>0)?this.DV-b:-b}function Montgomery(a){this.m=a;this.mp=a.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<(a.DB-15))-1;this.mt2=2*a.t}function montConvert(a){var b=nbi();a.abs().dlShiftTo(this.m.t,b);b.divRemTo(this.m,null,b);if(a.s<0&&b.compareTo(BigInteger.ZERO)>0){this.m.subTo(b,b)}return b}function montRevert(a){var b=nbi();a.copyTo(b);this.reduce(b);return b}function montReduce(a){while(a.t<=this.mt2){a[a.t++]=0}for(var c=0;c>15)*this.mpl)&this.um)<<15))&a.DM;b=c+this.m.t;a[b]+=this.m.am(0,d,a,c,0,this.m.t);while(a[b]>=a.DV){a[b]-=a.DV;a[++b]++}}a.clamp();a.drShiftTo(this.m.t,a);if(a.compareTo(this.m)>=0){a.subTo(this.m,a)}}function montSqrTo(a,b){a.squareTo(b);this.reduce(b)}function montMulTo(a,c,b){a.multiplyTo(c,b);this.reduce(b)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return((this.t>0)?(this[0]&1):this.s)==0}function bnpExp(h,j){if(h>4294967295||h<1){return BigInteger.ONE}var f=nbi(),a=nbi(),d=j.convert(this),c=nbits(h)-1;d.copyTo(f);while(--c>=0){j.sqrTo(f,a);if((h&(1<0){j.mulTo(a,d,f)}else{var b=f;f=a;a=b}}return j.revert(f)}function bnModPowInt(b,a){var c;if(b<256||a.isEven()){c=new Classic(a)}else{c=new Montgomery(a)}return this.exp(b,c)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\r\n */\r\nfunction bnClone(){var a=nbi();this.copyTo(a);return a}function bnIntValue(){if(this.s<0){if(this.t==1){return this[0]-this.DV}else{if(this.t==0){return -1}}}else{if(this.t==1){return this[0]}else{if(this.t==0){return 0}}}return((this[1]&((1<<(32-this.DB))-1))<>24}function bnShortValue(){return(this.t==0)?this.s:(this[0]<<16)>>16}function bnpChunkSize(a){return Math.floor(Math.LN2*this.DB/Math.log(a))}function bnSigNum(){if(this.s<0){return -1}else{if(this.t<=0||(this.t==1&&this[0]<=0)){return 0}else{return 1}}}function bnpToRadix(c){if(c==null){c=10}if(this.signum()==0||c<2||c>36){return\"0\"}var f=this.chunkSize(c);var e=Math.pow(c,f);var i=nbv(e),j=nbi(),h=nbi(),g=\"\";this.divRemTo(i,j,h);while(j.signum()>0){g=(e+h.intValue()).toString(c).substr(1)+g;j.divRemTo(i,j,h)}return h.intValue().toString(c)+g}function bnpFromRadix(m,h){this.fromInt(0);if(h==null){h=10}var f=this.chunkSize(h);var g=Math.pow(h,f),e=false,a=0,l=0;for(var c=0;c=f){this.dMultiply(g);this.dAddOffset(l,0);a=0;l=0}}if(a>0){this.dMultiply(Math.pow(h,a));this.dAddOffset(l,0)}if(e){BigInteger.ZERO.subTo(this,this)}}function bnpFromNumber(f,e,h){if(\"number\"==typeof e){if(f<2){this.fromInt(1)}else{this.fromNumber(f,h);if(!this.testBit(f-1)){this.bitwiseTo(BigInteger.ONE.shiftLeft(f-1),op_or,this)}if(this.isEven()){this.dAddOffset(1,0)}while(!this.isProbablePrime(e)){this.dAddOffset(2,0);if(this.bitLength()>f){this.subTo(BigInteger.ONE.shiftLeft(f-1),this)}}}}else{var d=new Array(),g=f&7;d.length=(f>>3)+1;e.nextBytes(d);if(g>0){d[0]&=((1<0){if(e>e)!=(this.s&this.DM)>>e){c[a++]=f|(this.s<<(this.DB-e))}while(b>=0){if(e<8){f=(this[b]&((1<>(e+=this.DB-8)}else{f=(this[b]>>(e-=8))&255;if(e<=0){e+=this.DB;--b}}if((f&128)!=0){f|=-256}if(a==0&&(this.s&128)!=(f&128)){++a}if(a>0||f!=this.s){c[a++]=f}}}return c}function bnEquals(b){return(this.compareTo(b)==0)}function bnMin(b){return(this.compareTo(b)<0)?this:b}function bnMax(b){return(this.compareTo(b)>0)?this:b}function bnpBitwiseTo(c,h,e){var d,g,b=Math.min(c.t,this.t);for(d=0;d>=16;b+=16}if((a&255)==0){a>>=8;b+=8}if((a&15)==0){a>>=4;b+=4}if((a&3)==0){a>>=2;b+=2}if((a&1)==0){++b}return b}function bnGetLowestSetBit(){for(var a=0;a=this.t){return(this.s!=0)}return((this[a]&(1<<(b%this.DB)))!=0)}function bnpChangeBit(c,b){var a=BigInteger.ONE.shiftLeft(c);this.bitwiseTo(a,b,a);return a}function bnSetBit(a){return this.changeBit(a,op_or)}function bnClearBit(a){return this.changeBit(a,op_andnot)}function bnFlipBit(a){return this.changeBit(a,op_xor)}function bnpAddTo(d,f){var e=0,g=0,b=Math.min(d.t,this.t);while(e>=this.DB}if(d.t>=this.DB}g+=this.s}else{g+=this.s;while(e>=this.DB}g+=d.s}f.s=(g<0)?-1:0;if(g>0){f[e++]=g}else{if(g<-1){f[e++]=this.DV+g}}f.t=e;f.clamp()}function bnAdd(b){var c=nbi();this.addTo(b,c);return c}function bnSubtract(b){var c=nbi();this.subTo(b,c);return c}function bnMultiply(b){var c=nbi();this.multiplyTo(b,c);return c}function bnSquare(){var a=nbi();this.squareTo(a);return a}function bnDivide(b){var c=nbi();this.divRemTo(b,c,null);return c}function bnRemainder(b){var c=nbi();this.divRemTo(b,null,c);return c}function bnDivideAndRemainder(b){var d=nbi(),c=nbi();this.divRemTo(b,d,c);return new Array(d,c)}function bnpDMultiply(a){this[this.t]=this.am(0,a-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(b,a){if(b==0){return}while(this.t<=a){this[this.t++]=0}this[a]+=b;while(this[a]>=this.DV){this[a]-=this.DV;if(++a>=this.t){this[this.t++]=0}++this[a]}}function NullExp(){}function nNop(a){return a}function nMulTo(a,c,b){a.multiplyTo(c,b)}function nSqrTo(a,b){a.squareTo(b)}NullExp.prototype.convert=nNop;NullExp.prototype.revert=nNop;NullExp.prototype.mulTo=nMulTo;NullExp.prototype.sqrTo=nSqrTo;function bnPow(a){return this.exp(a,new NullExp())}function bnpMultiplyLowerTo(b,f,e){var d=Math.min(this.t+b.t,f);e.s=0;e.t=d;while(d>0){e[--d]=0}var c;for(c=e.t-this.t;d=0){d[c]=0}for(c=Math.max(e-this.t,0);c2*this.m.t){return a.mod(this.m)}else{if(a.compareTo(this.m)<0){return a}else{var b=nbi();a.copyTo(b);this.reduce(b);return b}}}function barrettRevert(a){return a}function barrettReduce(a){a.drShiftTo(this.m.t-1,this.r2);if(a.t>this.m.t+1){a.t=this.m.t+1;a.clamp()}this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);while(a.compareTo(this.r2)<0){a.dAddOffset(1,this.m.t+1)}a.subTo(this.r2,a);while(a.compareTo(this.m)>=0){a.subTo(this.m,a)}}function barrettSqrTo(a,b){a.squareTo(b);this.reduce(b)}function barrettMulTo(a,c,b){a.multiplyTo(c,b);this.reduce(b)}Barrett.prototype.convert=barrettConvert;Barrett.prototype.revert=barrettRevert;Barrett.prototype.reduce=barrettReduce;Barrett.prototype.mulTo=barrettMulTo;Barrett.prototype.sqrTo=barrettSqrTo;function bnModPow(q,f){var o=q.bitLength(),h,b=nbv(1),v;if(o<=0){return b}else{if(o<18){h=1}else{if(o<48){h=3}else{if(o<144){h=4}else{if(o<768){h=5}else{h=6}}}}}if(o<8){v=new Classic(f)}else{if(f.isEven()){v=new Barrett(f)}else{v=new Montgomery(f)}}var p=new Array(),d=3,s=h-1,a=(1<1){var A=nbi();v.sqrTo(p[1],A);while(d<=a){p[d]=nbi();v.mulTo(A,p[d-2],p[d]);d+=2}}var l=q.t-1,x,u=true,c=nbi(),y;o=nbits(q[l])-1;while(l>=0){if(o>=s){x=(q[l]>>(o-s))&a}else{x=(q[l]&((1<<(o+1))-1))<<(s-o);if(l>0){x|=q[l-1]>>(this.DB+o-s)}}d=h;while((x&1)==0){x>>=1;--d}if((o-=d)<0){o+=this.DB;--l}if(u){p[x].copyTo(b);u=false}else{while(d>1){v.sqrTo(b,c);v.sqrTo(c,b);d-=2}if(d>0){v.sqrTo(b,c)}else{y=b;b=c;c=y}v.mulTo(c,p[x],b)}while(l>=0&&(q[l]&(1<0){b.rShiftTo(f,b);h.rShiftTo(f,h)}while(b.signum()>0){if((d=b.getLowestSetBit())>0){b.rShiftTo(d,b)}if((d=h.getLowestSetBit())>0){h.rShiftTo(d,h)}if(b.compareTo(h)>=0){b.subTo(h,b);b.rShiftTo(1,b)}else{h.subTo(b,h);h.rShiftTo(1,h)}}if(f>0){h.lShiftTo(f,h)}return h}function bnpModInt(e){if(e<=0){return 0}var c=this.DV%e,b=(this.s<0)?e-1:0;if(this.t>0){if(c==0){b=this[0]%e}else{for(var a=this.t-1;a>=0;--a){b=(c*b+this[a])%e}}}return b}function bnModInverse(f){var j=f.isEven();if((this.isEven()&&j)||f.signum()==0){return BigInteger.ZERO}var i=f.clone(),h=this.clone();var g=nbv(1),e=nbv(0),l=nbv(0),k=nbv(1);while(i.signum()!=0){while(i.isEven()){i.rShiftTo(1,i);if(j){if(!g.isEven()||!e.isEven()){g.addTo(this,g);e.subTo(f,e)}g.rShiftTo(1,g)}else{if(!e.isEven()){e.subTo(f,e)}}e.rShiftTo(1,e)}while(h.isEven()){h.rShiftTo(1,h);if(j){if(!l.isEven()||!k.isEven()){l.addTo(this,l);k.subTo(f,k)}l.rShiftTo(1,l)}else{if(!k.isEven()){k.subTo(f,k)}}k.rShiftTo(1,k)}if(i.compareTo(h)>=0){i.subTo(h,i);if(j){g.subTo(l,g)}e.subTo(k,e)}else{h.subTo(i,h);if(j){l.subTo(g,l)}k.subTo(e,k)}}if(h.compareTo(BigInteger.ONE)!=0){return BigInteger.ZERO}if(k.compareTo(f)>=0){return k.subtract(f)}if(k.signum()<0){k.addTo(f,k)}else{return k}if(k.signum()<0){return k.add(f)}else{return k}}var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];var lplim=(1<<26)/lowprimes[lowprimes.length-1];function bnIsProbablePrime(e){var d,b=this.abs();if(b.t==1&&b[0]<=lowprimes[lowprimes.length-1]){for(d=0;d>1;if(f>lowprimes.length){f=lowprimes.length}var b=nbi();for(var e=0;e>8)&255;rng_pool[rng_pptr++]^=(a>>16)&255;rng_pool[rng_pptr++]^=(a>>24)&255;if(rng_pptr>=rng_psize){rng_pptr-=rng_psize}}function rng_seed_time(){rng_seed_int(new Date().getTime())}if(rng_pool==null){rng_pool=new Array();rng_pptr=0;var t;if(window!==undefined&&(window.crypto!==undefined||window.msCrypto!==undefined)){var crypto=window.crypto||window.msCrypto;if(crypto.getRandomValues){var ua=new Uint8Array(32);crypto.getRandomValues(ua);for(t=0;t<32;++t){rng_pool[rng_pptr++]=ua[t]}}else{if(navigator.appName==\"Netscape\"&&navigator.appVersion<\"5\"){var z=window.crypto.random(32);for(t=0;t>>8;rng_pool[rng_pptr++]=t&255}rng_pptr=0;rng_seed_time()}function rng_get_byte(){if(rng_state==null){rng_seed_time();rng_state=prng_newstate();rng_state.init(rng_pool);for(rng_pptr=0;rng_pptr=0&&h>0){var f=e.charCodeAt(d--);if(f<128){g[--h]=f}else{if((f>127)&&(f<2048)){g[--h]=(f&63)|128;g[--h]=(f>>6)|192}else{g[--h]=(f&63)|128;g[--h]=((f>>6)&63)|128;g[--h]=(f>>12)|224}}}g[--h]=0;var b=new SecureRandom();var a=new Array();while(h>2){a[0]=0;while(a[0]==0){b.nextBytes(a)}g[--h]=a[0]}g[--h]=2;g[--h]=0;return new BigInteger(g)}function oaep_mgf1_arr(c,a,e){var b=\"\",d=0;while(b.length>24,(d&16711680)>>16,(d&65280)>>8,d&255])));d+=1}return b}function oaep_pad(q,a,f,l){var c=KJUR.crypto.MessageDigest;var o=KJUR.crypto.Util;var b=null;if(!f){f=\"sha1\"}if(typeof f===\"string\"){b=c.getCanonicalAlgName(f);l=c.getHashLength(b);f=function(i){return hextorstr(o.hashHex(rstrtohex(i),b))}}if(q.length+2*l+2>a){throw\"Message too long for RSA\"}var k=\"\",e;for(e=0;e0&&a.length>0){this.n=parseBigInt(b,16);this.e=parseInt(a,16)}else{throw\"Invalid RSA public key\"}}}function RSADoPublic(a){return a.modPowInt(this.e,this.n)}function RSAEncrypt(d){var a=pkcs1pad2(d,(this.n.bitLength()+7)>>3);if(a==null){return null}var e=this.doPublic(a);if(e==null){return null}var b=e.toString(16);if((b.length&1)==0){return b}else{return\"0\"+b}}function RSAEncryptOAEP(f,e,b){var a=oaep_pad(f,(this.n.bitLength()+7)>>3,e,b);if(a==null){return null}var g=this.doPublic(a);if(g==null){return null}var d=g.toString(16);if((d.length&1)==0){return d}else{return\"0\"+d}}RSAKey.prototype.doPublic=RSADoPublic;RSAKey.prototype.setPublic=RSASetPublic;RSAKey.prototype.encrypt=RSAEncrypt;RSAKey.prototype.encryptOAEP=RSAEncryptOAEP;RSAKey.prototype.type=\"RSA\";\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\r\n */\r\nfunction ECFieldElementFp(b,a){this.x=a;this.q=b}function feFpEquals(a){if(a==this){return true}return(this.q.equals(a.q)&&this.x.equals(a.x))}function feFpToBigInteger(){return this.x}function feFpNegate(){return new ECFieldElementFp(this.q,this.x.negate().mod(this.q))}function feFpAdd(a){return new ECFieldElementFp(this.q,this.x.add(a.toBigInteger()).mod(this.q))}function feFpSubtract(a){return new ECFieldElementFp(this.q,this.x.subtract(a.toBigInteger()).mod(this.q))}function feFpMultiply(a){return new ECFieldElementFp(this.q,this.x.multiply(a.toBigInteger()).mod(this.q))}function feFpSquare(){return new ECFieldElementFp(this.q,this.x.square().mod(this.q))}function feFpDivide(a){return new ECFieldElementFp(this.q,this.x.multiply(a.toBigInteger().modInverse(this.q)).mod(this.q))}ECFieldElementFp.prototype.equals=feFpEquals;ECFieldElementFp.prototype.toBigInteger=feFpToBigInteger;ECFieldElementFp.prototype.negate=feFpNegate;ECFieldElementFp.prototype.add=feFpAdd;ECFieldElementFp.prototype.subtract=feFpSubtract;ECFieldElementFp.prototype.multiply=feFpMultiply;ECFieldElementFp.prototype.square=feFpSquare;ECFieldElementFp.prototype.divide=feFpDivide;function ECPointFp(c,a,d,b){this.curve=c;this.x=a;this.y=d;if(b==null){this.z=BigInteger.ONE}else{this.z=b}this.zinv=null}function pointFpGetX(){if(this.zinv==null){this.zinv=this.z.modInverse(this.curve.q)}return this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))}function pointFpGetY(){if(this.zinv==null){this.zinv=this.z.modInverse(this.curve.q)}return this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))}function pointFpEquals(a){if(a==this){return true}if(this.isInfinity()){return a.isInfinity()}if(a.isInfinity()){return this.isInfinity()}var c,b;c=a.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(a.z)).mod(this.curve.q);if(!c.equals(BigInteger.ZERO)){return false}b=a.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(a.z)).mod(this.curve.q);return b.equals(BigInteger.ZERO)}function pointFpIsInfinity(){if((this.x==null)&&(this.y==null)){return true}return this.z.equals(BigInteger.ZERO)&&!this.y.toBigInteger().equals(BigInteger.ZERO)}function pointFpNegate(){return new ECPointFp(this.curve,this.x,this.y.negate(),this.z)}function pointFpAdd(l){if(this.isInfinity()){return l}if(l.isInfinity()){return this}var p=l.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(l.z)).mod(this.curve.q);var o=l.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(l.z)).mod(this.curve.q);if(BigInteger.ZERO.equals(o)){if(BigInteger.ZERO.equals(p)){return this.twice()}return this.curve.getInfinity()}var j=new BigInteger(\"3\");var e=this.x.toBigInteger();var n=this.y.toBigInteger();var c=l.x.toBigInteger();var k=l.y.toBigInteger();var m=o.square();var i=m.multiply(o);var d=e.multiply(m);var g=p.square().multiply(this.z);var a=g.subtract(d.shiftLeft(1)).multiply(l.z).subtract(i).multiply(o).mod(this.curve.q);var h=d.multiply(j).multiply(p).subtract(n.multiply(i)).subtract(g.multiply(p)).multiply(l.z).add(p.multiply(i)).mod(this.curve.q);var f=i.multiply(this.z).multiply(l.z).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(h),f)}function pointFpTwice(){if(this.isInfinity()){return this}if(this.y.toBigInteger().signum()==0){return this.curve.getInfinity()}var g=new BigInteger(\"3\");var c=this.x.toBigInteger();var h=this.y.toBigInteger();var e=h.multiply(this.z);var j=e.multiply(h).mod(this.curve.q);var i=this.curve.a.toBigInteger();var k=c.square().multiply(g);if(!BigInteger.ZERO.equals(i)){k=k.add(this.z.square().multiply(i))}k=k.mod(this.curve.q);var b=k.square().subtract(c.shiftLeft(3).multiply(j)).shiftLeft(1).multiply(e).mod(this.curve.q);var f=k.multiply(g).multiply(c).subtract(j.shiftLeft(1)).shiftLeft(2).multiply(j).subtract(k.square().multiply(k)).mod(this.curve.q);var d=e.square().multiply(e).shiftLeft(3).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(b),this.curve.fromBigInteger(f),d)}function pointFpMultiply(d){if(this.isInfinity()){return this}if(d.signum()==0){return this.curve.getInfinity()}var m=d;var l=m.multiply(new BigInteger(\"3\"));var b=this.negate();var j=this;var q=this.curve.q.subtract(d);var o=q.multiply(new BigInteger(\"3\"));var c=new ECPointFp(this.curve,this.x,this.y);var a=c.negate();var g;for(g=l.bitLength()-2;g>0;--g){j=j.twice();var n=l.testBit(g);var f=m.testBit(g);if(n!=f){j=j.add(n?this:b)}}for(g=o.bitLength()-2;g>0;--g){c=c.twice();var p=o.testBit(g);var r=q.testBit(g);if(p!=r){c=c.add(p?c:a)}}return j}function pointFpMultiplyTwo(c,a,b){var d;if(c.bitLength()>b.bitLength()){d=c.bitLength()-1}else{d=b.bitLength()-1}var f=this.curve.getInfinity();var e=this.add(a);while(d>=0){f=f.twice();if(c.testBit(d)){if(b.testBit(d)){f=f.add(e)}else{f=f.add(this)}}else{if(b.testBit(d)){f=f.add(a)}}--d}return f}ECPointFp.prototype.getX=pointFpGetX;ECPointFp.prototype.getY=pointFpGetY;ECPointFp.prototype.equals=pointFpEquals;ECPointFp.prototype.isInfinity=pointFpIsInfinity;ECPointFp.prototype.negate=pointFpNegate;ECPointFp.prototype.add=pointFpAdd;ECPointFp.prototype.twice=pointFpTwice;ECPointFp.prototype.multiply=pointFpMultiply;ECPointFp.prototype.multiplyTwo=pointFpMultiplyTwo;function ECCurveFp(e,d,c){this.q=e;this.a=this.fromBigInteger(d);this.b=this.fromBigInteger(c);this.infinity=new ECPointFp(this,null,null)}function curveFpGetQ(){return this.q}function curveFpGetA(){return this.a}function curveFpGetB(){return this.b}function curveFpEquals(a){if(a==this){return true}return(this.q.equals(a.q)&&this.a.equals(a.a)&&this.b.equals(a.b))}function curveFpGetInfinity(){return this.infinity}function curveFpFromBigInteger(a){return new ECFieldElementFp(this.q,a)}function curveFpDecodePointHex(d){switch(parseInt(d.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:return null;case 4:case 6:case 7:var a=(d.length-2)/2;var c=d.substr(2,a);var b=d.substr(a+2,a);return new ECPointFp(this,this.fromBigInteger(new BigInteger(c,16)),this.fromBigInteger(new BigInteger(b,16)));default:return null}}ECCurveFp.prototype.getQ=curveFpGetQ;ECCurveFp.prototype.getA=curveFpGetA;ECCurveFp.prototype.getB=curveFpGetB;ECCurveFp.prototype.equals=curveFpEquals;ECCurveFp.prototype.getInfinity=curveFpGetInfinity;ECCurveFp.prototype.fromBigInteger=curveFpFromBigInteger;ECCurveFp.prototype.decodePointHex=curveFpDecodePointHex;\n/*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib\r\n */\r\nECFieldElementFp.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)};ECPointFp.prototype.getEncoded=function(c){var d=function(h,f){var g=h.toByteArrayUnsigned();if(fg.length){g.unshift(0)}}return g};var a=this.getX().toBigInteger();var e=this.getY().toBigInteger();var b=d(a,32);if(c){if(e.isEven()){b.unshift(2)}else{b.unshift(3)}}else{b.unshift(4);b=b.concat(d(e,32))}return b};ECPointFp.decodeFrom=function(g,c){var f=c[0];var e=c.length-1;var d=c.slice(1,1+e/2);var b=c.slice(1+e/2,1+e);d.unshift(0);b.unshift(0);var a=new BigInteger(d);var h=new BigInteger(b);return new ECPointFp(g,g.fromBigInteger(a),g.fromBigInteger(h))};ECPointFp.decodeFromHex=function(g,c){var f=c.substr(0,2);var e=c.length-2;var d=c.substr(2,e/2);var b=c.substr(2+e/2,e/2);var a=new BigInteger(d,16);var h=new BigInteger(b,16);return new ECPointFp(g,g.fromBigInteger(a),g.fromBigInteger(h))};ECPointFp.prototype.add2D=function(c){if(this.isInfinity()){return c}if(c.isInfinity()){return this}if(this.x.equals(c.x)){if(this.y.equals(c.y)){return this.twice()}return this.curve.getInfinity()}var g=c.x.subtract(this.x);var e=c.y.subtract(this.y);var a=e.divide(g);var d=a.square().subtract(this.x).subtract(c.x);var f=a.multiply(this.x.subtract(d)).subtract(this.y);return new ECPointFp(this.curve,d,f)};ECPointFp.prototype.twice2D=function(){if(this.isInfinity()){return this}if(this.y.toBigInteger().signum()==0){return this.curve.getInfinity()}var b=this.curve.fromBigInteger(BigInteger.valueOf(2));var e=this.curve.fromBigInteger(BigInteger.valueOf(3));var a=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(b));var c=a.square().subtract(this.x.multiply(b));var d=a.multiply(this.x.subtract(c)).subtract(this.y);return new ECPointFp(this.curve,c,d)};ECPointFp.prototype.multiply2D=function(b){if(this.isInfinity()){return this}if(b.signum()==0){return this.curve.getInfinity()}var g=b;var f=g.multiply(new BigInteger(\"3\"));var l=this.negate();var d=this;var c;for(c=f.bitLength()-2;c>0;--c){d=d.twice();var a=f.testBit(c);var j=g.testBit(c);if(a!=j){d=d.add2D(a?this:l)}}return d};ECPointFp.prototype.isOnCurve=function(){var d=this.getX().toBigInteger();var i=this.getY().toBigInteger();var f=this.curve.getA().toBigInteger();var c=this.curve.getB().toBigInteger();var h=this.curve.getQ();var e=i.multiply(i).mod(h);var g=d.multiply(d).multiply(d).add(f.multiply(d)).add(c).mod(h);return e.equals(g)};ECPointFp.prototype.toString=function(){return\"(\"+this.getX().toBigInteger().toString()+\",\"+this.getY().toBigInteger().toString()+\")\"};ECPointFp.prototype.validate=function(){var c=this.curve.getQ();if(this.isInfinity()){throw new Error(\"Point is at infinity.\")}var a=this.getX().toBigInteger();var b=this.getY().toBigInteger();if(a.compareTo(BigInteger.ONE)<0||a.compareTo(c.subtract(BigInteger.ONE))>0){throw new Error(\"x coordinate out of bounds\")}if(b.compareTo(BigInteger.ONE)<0||b.compareTo(c.subtract(BigInteger.ONE))>0){throw new Error(\"y coordinate out of bounds\")}if(!this.isOnCurve()){throw new Error(\"Point is not on the curve.\")}if(this.multiply(c).isInfinity()){throw new Error(\"Point is not a scalar multiple of G.\")}return true};\n/*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval\r\n */\r\nvar jsonParse=(function(){var e=\"(?:-?\\\\b(?:0|[1-9][0-9]*)(?:\\\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\\\b)\";var j='(?:[^\\\\0-\\\\x08\\\\x0a-\\\\x1f\"\\\\\\\\]|\\\\\\\\(?:[\"/\\\\\\\\bfnrt]|u[0-9A-Fa-f]{4}))';var i='(?:\"'+j+'*\")';var d=new RegExp(\"(?:false|true|null|[\\\\{\\\\}\\\\[\\\\]]|\"+e+\"|\"+i+\")\",\"g\");var k=new RegExp(\"\\\\\\\\(?:([^u])|u(.{4}))\",\"g\");var g={'\"':'\"',\"/\":\"/\",\"\\\\\":\"\\\\\",b:\"\\b\",f:\"\\f\",n:\"\\n\",r:\"\\r\",t:\"\\t\"};function h(l,m,n){return m?g[m]:String.fromCharCode(parseInt(n,16))}var c=new String(\"\");var a=\"\\\\\";var f={\"{\":Object,\"[\":Array};var b=Object.hasOwnProperty;return function(u,q){var p=u.match(d);var x;var v=p[0];var l=false;if(\"{\"===v){x={}}else{if(\"[\"===v){x=[]}else{x=[];l=true}}var t;var r=[x];for(var o=1-l,m=p.length;o=0;){delete D[n[A]]}}}return q.call(C,B,D)};x=s({\"\":x},\"\")}return x}})();\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.asn1==\"undefined\"||!KJUR.asn1){KJUR.asn1={}}KJUR.asn1.ASN1Util=new function(){this.integerToByteHex=function(a){var b=a.toString(16);if((b.length%2)==1){b=\"0\"+b}return b};this.bigIntToMinTwosComplementsHex=function(j){var f=j.toString(16);if(f.substr(0,1)!=\"-\"){if(f.length%2==1){f=\"0\"+f}else{if(!f.match(/^[0-7]/)){f=\"00\"+f}}}else{var a=f.substr(1);var e=a.length;if(e%2==1){e+=1}else{if(!f.match(/^[0-7]/)){e+=2}}var g=\"\";for(var d=0;d15){throw\"ASN.1 length too long to represent by 8x: n = \"+j.toString(16)}var g=128+h;return g.toString(16)+i}};this.getEncodedHex=function(){if(this.hTLV==null||this.isModified){this.hV=this.getFreshValueHex();this.hL=this.getLengthHexFromValue();this.hTLV=this.hT+this.hL+this.hV;this.isModified=false}return this.hTLV};this.getValueHex=function(){this.getEncodedHex();return this.hV};this.getFreshValueHex=function(){return\"\"};this.setByParam=function(g){this.params=g};if(e!=undefined){if(e.tlv!=undefined){this.hTLV=e.tlv;this.isModified=false}}};KJUR.asn1.DERAbstractString=function(c){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);var b=null;var a=null;this.getString=function(){return this.s};this.setString=function(d){this.hTLV=null;this.isModified=true;this.s=d;this.hV=utf8tohex(this.s).toLowerCase()};this.setStringHex=function(d){this.hTLV=null;this.isModified=true;this.s=null;this.hV=d};this.getFreshValueHex=function(){return this.hV};if(typeof c!=\"undefined\"){if(typeof c==\"string\"){this.setString(c)}else{if(typeof c.str!=\"undefined\"){this.setString(c.str)}else{if(typeof c.hex!=\"undefined\"){this.setStringHex(c.hex)}}}}};YAHOO.lang.extend(KJUR.asn1.DERAbstractString,KJUR.asn1.ASN1Object);KJUR.asn1.DERAbstractTime=function(c){KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);var b=null;var a=null;this.localDateToUTC=function(g){var e=g.getTime()+(g.getTimezoneOffset()*60000);var f=new Date(e);return f};this.formatDate=function(m,o,e){var g=this.zeroPadding;var n=this.localDateToUTC(m);var p=String(n.getFullYear());if(o==\"utc\"){p=p.substr(2,2)}var l=g(String(n.getMonth()+1),2);var q=g(String(n.getDate()),2);var h=g(String(n.getHours()),2);var i=g(String(n.getMinutes()),2);var j=g(String(n.getSeconds()),2);var r=p+l+q+h+i+j;if(e===true){var f=n.getMilliseconds();if(f!=0){var k=g(String(f),3);k=k.replace(/[0]+$/,\"\");r=r+\".\"+k}}return r+\"Z\"};this.zeroPadding=function(e,d){if(e.length>=d){return e}return new Array(d-e.length+1).join(\"0\")+e};this.getString=function(){return this.s};this.setString=function(d){this.hTLV=null;this.isModified=true;this.s=d;this.hV=stohex(d)};this.setByDateValue=function(h,j,e,d,f,g){var i=new Date(Date.UTC(h,j-1,e,d,f,g,0));this.setByDate(i)};this.getFreshValueHex=function(){return this.hV}};YAHOO.lang.extend(KJUR.asn1.DERAbstractTime,KJUR.asn1.ASN1Object);KJUR.asn1.DERAbstractStructured=function(b){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);var a=null;this.setByASN1ObjectArray=function(c){this.hTLV=null;this.isModified=true;this.asn1Array=c};this.appendASN1Object=function(c){this.hTLV=null;this.isModified=true;this.asn1Array.push(c)};this.asn1Array=new Array();if(typeof b!=\"undefined\"){if(typeof b.array!=\"undefined\"){this.asn1Array=b.array}}};YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured,KJUR.asn1.ASN1Object);KJUR.asn1.DERBoolean=function(a){KJUR.asn1.DERBoolean.superclass.constructor.call(this);this.hT=\"01\";if(a==false){this.hTLV=\"010100\"}else{this.hTLV=\"0101ff\"}};YAHOO.lang.extend(KJUR.asn1.DERBoolean,KJUR.asn1.ASN1Object);KJUR.asn1.DERInteger=function(a){KJUR.asn1.DERInteger.superclass.constructor.call(this);this.hT=\"02\";this.setByBigInteger=function(b){this.hTLV=null;this.isModified=true;this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(b)};this.setByInteger=function(c){var b=new BigInteger(String(c),10);this.setByBigInteger(b)};this.setValueHex=function(b){this.hV=b};this.getFreshValueHex=function(){return this.hV};if(typeof a!=\"undefined\"){if(typeof a.bigint!=\"undefined\"){this.setByBigInteger(a.bigint)}else{if(typeof a[\"int\"]!=\"undefined\"){this.setByInteger(a[\"int\"])}else{if(typeof a==\"number\"){this.setByInteger(a)}else{if(typeof a.hex!=\"undefined\"){this.setValueHex(a.hex)}}}}}};YAHOO.lang.extend(KJUR.asn1.DERInteger,KJUR.asn1.ASN1Object);KJUR.asn1.DERBitString=function(b){if(b!==undefined&&typeof b.obj!==\"undefined\"){var a=KJUR.asn1.ASN1Util.newObject(b.obj);b.hex=\"00\"+a.getEncodedHex()}KJUR.asn1.DERBitString.superclass.constructor.call(this);this.hT=\"03\";this.setHexValueIncludingUnusedBits=function(c){this.hTLV=null;this.isModified=true;this.hV=c};this.setUnusedBitsAndHexValue=function(c,e){if(c<0||7=f){break}}return j};ASN1HEX.getNthChildIdx=function(d,b,e){var c=ASN1HEX.getChildIdx(d,b);return c[e]};ASN1HEX.getIdxbyList=function(e,d,c,i){var g=ASN1HEX;var f,b;if(c.length==0){if(i!==undefined){if(e.substr(d,2)!==i){return -1}}return d}f=c.shift();b=g.getChildIdx(e,d);if(f>=b.length){return -1}return g.getIdxbyList(e,b[f],c,i)};ASN1HEX.getIdxbyListEx=function(f,k,b,g){var m=ASN1HEX;var d,l;if(b.length==0){if(g!==undefined){if(f.substr(k,2)!==g){return -1}}return k}d=b.shift();l=m.getChildIdx(f,k);var j=0;for(var e=0;e=d.length){return null}return e.getTLV(d,a)};ASN1HEX.getTLVbyListEx=function(d,c,b,f){var e=ASN1HEX;var a=e.getIdxbyListEx(d,c,b,f);if(a==-1){return null}return e.getTLV(d,a)};ASN1HEX.getVbyList=function(e,c,b,g,i){var f=ASN1HEX;var a,d;a=f.getIdxbyList(e,c,b,g);if(a==-1){return null}if(a>=e.length){return null}d=f.getV(e,a);if(i===true){d=d.substr(2)}return d};ASN1HEX.getVbyListEx=function(b,e,a,d,f){var j=ASN1HEX;var g,c,i;g=j.getIdxbyListEx(b,e,a,d);if(g==-1){return null}i=j.getV(b,g);if(b.substr(g,2)==\"03\"&&f!==false){i=i.substr(2)}return i};ASN1HEX.getInt=function(e,b,f){if(f==undefined){f=-1}try{var c=e.substr(b,2);if(c!=\"02\"&&c!=\"03\"){return f}var a=ASN1HEX.getV(e,b);if(c==\"02\"){return parseInt(a,16)}else{return bitstrtoint(a)}}catch(d){return f}};ASN1HEX.getOID=function(c,a,d){if(d==undefined){d=null}try{if(c.substr(a,2)!=\"06\"){return d}var e=ASN1HEX.getV(c,a);return hextooid(e)}catch(b){return d}};ASN1HEX.getOIDName=function(d,a,f){if(f==undefined){f=null}try{var e=ASN1HEX.getOID(d,a,f);if(e==f){return f}var b=KJUR.asn1.x509.OID.oid2name(e);if(b==\"\"){return e}return b}catch(c){return f}};ASN1HEX.getString=function(d,b,e){if(e==undefined){e=null}try{var a=ASN1HEX.getV(d,b);return hextorstr(a)}catch(c){return e}};ASN1HEX.hextooidstr=function(e){var h=function(b,a){if(b.length>=a){return b}return new Array(a-b.length+1).join(\"0\")+b};var l=[];var o=e.substr(0,2);var f=parseInt(o,16);l[0]=new String(Math.floor(f/40));l[1]=new String(f%40);var m=e.substr(2);var k=[];for(var g=0;g0){n=n+\".\"+j.join(\".\")}return n};ASN1HEX.dump=function(t,c,l,g){var p=ASN1HEX;var j=p.getV;var y=p.dump;var w=p.getChildIdx;var e=t;if(t instanceof KJUR.asn1.ASN1Object){e=t.getEncodedHex()}var q=function(A,i){if(A.length<=i*2){return A}else{var v=A.substr(0,i)+\"..(total \"+A.length/2+\"bytes)..\"+A.substr(A.length-i,i);return v}};if(c===undefined){c={ommit_long_octet:32}}if(l===undefined){l=0}if(g===undefined){g=\"\"}var x=c.ommit_long_octet;var z=e.substr(l,2);if(z==\"01\"){var h=j(e,l);if(h==\"00\"){return g+\"BOOLEAN FALSE\\n\"}else{return g+\"BOOLEAN TRUE\\n\"}}if(z==\"02\"){var h=j(e,l);return g+\"INTEGER \"+q(h,x)+\"\\n\"}if(z==\"03\"){var h=j(e,l);if(p.isASN1HEX(h.substr(2))){var k=g+\"BITSTRING, encapsulates\\n\";k=k+y(h.substr(2),c,0,g+\" \");return k}else{return g+\"BITSTRING \"+q(h,x)+\"\\n\"}}if(z==\"04\"){var h=j(e,l);if(p.isASN1HEX(h)){var k=g+\"OCTETSTRING, encapsulates\\n\";k=k+y(h,c,0,g+\" \");return k}else{return g+\"OCTETSTRING \"+q(h,x)+\"\\n\"}}if(z==\"05\"){return g+\"NULL\\n\"}if(z==\"06\"){var m=j(e,l);var b=KJUR.asn1.ASN1Util.oidHexToInt(m);var o=KJUR.asn1.x509.OID.oid2name(b);var a=b.replace(/\\./g,\" \");if(o!=\"\"){return g+\"ObjectIdentifier \"+o+\" (\"+a+\")\\n\"}else{return g+\"ObjectIdentifier (\"+a+\")\\n\"}}if(z==\"0a\"){return g+\"ENUMERATED \"+parseInt(j(e,l))+\"\\n\"}if(z==\"0c\"){return g+\"UTF8String '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"13\"){return g+\"PrintableString '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"14\"){return g+\"TeletexString '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"16\"){return g+\"IA5String '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"17\"){return g+\"UTCTime \"+hextoutf8(j(e,l))+\"\\n\"}if(z==\"18\"){return g+\"GeneralizedTime \"+hextoutf8(j(e,l))+\"\\n\"}if(z==\"1a\"){return g+\"VisualString '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"1e\"){return g+\"BMPString '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"30\"){if(e.substr(l,4)==\"3000\"){return g+\"SEQUENCE {}\\n\"}var k=g+\"SEQUENCE\\n\";var d=w(e,l);var f=c;if((d.length==2||d.length==3)&&e.substr(d[0],2)==\"06\"&&e.substr(d[d.length-1],2)==\"04\"){var o=p.oidname(j(e,d[0]));var r=JSON.parse(JSON.stringify(c));r.x509ExtName=o;f=r}for(var u=0;u31){return false}if(((f&192)==128)&&((f&31)==e)){return true}return false}catch(d){return false}};ASN1HEX.isASN1HEX=function(e){var d=ASN1HEX;if(e.length%2==1){return false}var c=d.getVblen(e,0);var b=e.substr(0,2);var f=d.getL(e,0);var a=e.length-b.length-f.length;if(a==c*2){return true}return false};ASN1HEX.checkStrictDER=function(g,o,d,c,r){var s=ASN1HEX;if(d===undefined){if(typeof g!=\"string\"){throw new Error(\"not hex string\")}g=g.toLowerCase();if(!KJUR.lang.String.isHex(g)){throw new Error(\"not hex string\")}d=g.length;c=g.length/2;if(c<128){r=1}else{r=Math.ceil(c.toString(16))+1}}var k=s.getL(g,o);if(k.length>r*2){throw new Error(\"L of TLV too long: idx=\"+o)}var n=s.getVblen(g,o);if(n>c){throw new Error(\"value of L too long than hex: idx=\"+o)}var q=s.getTLV(g,o);var f=q.length-2-s.getL(g,o).length;if(f!==(n*2)){throw new Error(\"V string length and L's value not the same:\"+f+\"/\"+(n*2))}if(o===0){if(g.length!=q.length){throw new Error(\"total length and TLV length unmatch:\"+g.length+\"!=\"+q.length)}}var b=g.substr(o,2);if(b===\"02\"){var a=s.getVidx(g,o);if(g.substr(a,2)==\"00\"&&g.charCodeAt(a+2)<56){throw new Error(\"not least zeros for DER INTEGER\")}}if(parseInt(b,16)&32){var p=s.getVblen(g,o);var m=0;var l=s.getChildIdx(g,o);for(var e=0;ef.length){f=c[d]}}e=e.replace(f,\"::\");return e.slice(1,-1)}function hextoip(b){var d=\"malformed hex value\";if(!b.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/)){throw d}if(b.length==8){var c;try{c=parseInt(b.substr(0,2),16)+\".\"+parseInt(b.substr(2,2),16)+\".\"+parseInt(b.substr(4,2),16)+\".\"+parseInt(b.substr(6,2),16);return c}catch(a){throw d}}else{if(b.length==32){return hextoipv6(b)}else{return b}}}function iptohex(f){var j=\"malformed IP address\";f=f.toLowerCase(f);if(f.match(/^[0-9.]+$/)){var b=f.split(\".\");if(b.length!==4){throw j}var g=\"\";try{for(var e=0;e<4;e++){var h=parseInt(b[e]);g+=(\"0\"+h.toString(16)).slice(-2)}return g}catch(c){throw j}}else{if(f.match(/^[0-9a-f:]+$/)&&f.indexOf(\":\")!==-1){return ipv6tohex(f)}else{throw j}}}function encodeURIComponentAll(a){var d=encodeURIComponent(a);var b=\"\";for(var c=0;c\"7\"){return\"00\"+a}return a}function intarystrtohex(b){b=b.replace(/^\\s*\\[\\s*/,\"\");b=b.replace(/\\s*\\]\\s*$/,\"\");b=b.replace(/\\s*/g,\"\");try{var c=b.split(/,/).map(function(g,e,h){var f=parseInt(g);if(f<0||255a.length){d=a.length}for(var b=0;b0){o=o+\".\"+k.join(\".\")}return o}catch(j){return null}}var strpad=function(c,b,a){if(a==undefined){a=\"0\"}if(c.length>=b){return c}return new Array(b-c.length+1).join(a)+c};function bitstrtoint(e){try{var a=e.substr(0,2);if(a==\"00\"){return parseInt(e.substr(2),16)}var b=parseInt(a,16);var f=e.substr(2);var d=parseInt(f,16).toString(2);if(d==\"0\"){d=\"00000000\"}d=d.slice(0,0-b);return parseInt(d,2)}catch(c){return -1}}function inttobitstr(e){var c=Number(e).toString(2);var b=8-c.length%8;if(b==8){b=0}c=c+strpad(\"\",b,\"0\");var d=parseInt(c,2).toString(16);if(d.length%2==1){d=\"0\"+d}var a=\"0\"+b;return a+d};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.crypto==\"undefined\"||!KJUR.crypto){KJUR.crypto={}}KJUR.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:\"3021300906052b0e03021a05000414\",sha224:\"302d300d06096086480165030402040500041c\",sha256:\"3031300d060960864801650304020105000420\",sha384:\"3041300d060960864801650304020205000430\",sha512:\"3051300d060960864801650304020305000440\",md2:\"3020300c06082a864886f70d020205000410\",md5:\"3020300c06082a864886f70d020505000410\",ripemd160:\"3021300906052b2403020105000414\",};this.DEFAULTPROVIDER={md5:\"cryptojs\",sha1:\"cryptojs\",sha224:\"cryptojs\",sha256:\"cryptojs\",sha384:\"cryptojs\",sha512:\"cryptojs\",ripemd160:\"cryptojs\",hmacmd5:\"cryptojs\",hmacsha1:\"cryptojs\",hmacsha224:\"cryptojs\",hmacsha256:\"cryptojs\",hmacsha384:\"cryptojs\",hmacsha512:\"cryptojs\",hmacripemd160:\"cryptojs\",MD5withRSA:\"cryptojs/jsrsa\",SHA1withRSA:\"cryptojs/jsrsa\",SHA224withRSA:\"cryptojs/jsrsa\",SHA256withRSA:\"cryptojs/jsrsa\",SHA384withRSA:\"cryptojs/jsrsa\",SHA512withRSA:\"cryptojs/jsrsa\",RIPEMD160withRSA:\"cryptojs/jsrsa\",MD5withECDSA:\"cryptojs/jsrsa\",SHA1withECDSA:\"cryptojs/jsrsa\",SHA224withECDSA:\"cryptojs/jsrsa\",SHA256withECDSA:\"cryptojs/jsrsa\",SHA384withECDSA:\"cryptojs/jsrsa\",SHA512withECDSA:\"cryptojs/jsrsa\",RIPEMD160withECDSA:\"cryptojs/jsrsa\",SHA1withDSA:\"cryptojs/jsrsa\",SHA224withDSA:\"cryptojs/jsrsa\",SHA256withDSA:\"cryptojs/jsrsa\",MD5withRSAandMGF1:\"cryptojs/jsrsa\",SHAwithRSAandMGF1:\"cryptojs/jsrsa\",SHA1withRSAandMGF1:\"cryptojs/jsrsa\",SHA224withRSAandMGF1:\"cryptojs/jsrsa\",SHA256withRSAandMGF1:\"cryptojs/jsrsa\",SHA384withRSAandMGF1:\"cryptojs/jsrsa\",SHA512withRSAandMGF1:\"cryptojs/jsrsa\",RIPEMD160withRSAandMGF1:\"cryptojs/jsrsa\",};this.CRYPTOJSMESSAGEDIGESTNAME={md5:CryptoJS.algo.MD5,sha1:CryptoJS.algo.SHA1,sha224:CryptoJS.algo.SHA224,sha256:CryptoJS.algo.SHA256,sha384:CryptoJS.algo.SHA384,sha512:CryptoJS.algo.SHA512,ripemd160:CryptoJS.algo.RIPEMD160};this.getDigestInfoHex=function(a,b){if(typeof this.DIGESTINFOHEAD[b]==\"undefined\"){throw\"alg not supported in Util.DIGESTINFOHEAD: \"+b}return this.DIGESTINFOHEAD[b]+a};this.getPaddedDigestInfoHex=function(h,a,j){var c=this.getDigestInfoHex(h,a);var d=j/4;if(c.length+22>d){throw\"key is too short for SigAlg: keylen=\"+j+\",\"+a}var b=\"0001\";var k=\"00\"+c;var g=\"\";var l=d-b.length-k.length;for(var f=0;f=0;--u){v=v.twice2D();v.z=f.ONE;if(t.testBit(u)){if(s.testBit(u)){v=v.add2D(y)}else{v=v.add2D(x)}}else{if(s.testBit(u)){v=v.add2D(w)}}}return v}this.getBigRandom=function(r){return new f(r.bitLength(),a).mod(r.subtract(f.ONE)).add(f.ONE)};this.setNamedCurve=function(r){this.ecparams=c.getByName(r);this.prvKeyHex=null;this.pubKeyHex=null;this.curveName=r};this.setPrivateKeyHex=function(r){this.isPrivate=true;this.prvKeyHex=r};this.setPublicKeyHex=function(r){this.isPublic=true;this.pubKeyHex=r};this.getPublicKeyXYHex=function(){var t=this.pubKeyHex;if(t.substr(0,2)!==\"04\"){throw\"this method supports uncompressed format(04) only\"}var s=this.ecparams.keylen/4;if(t.length!==2+s*2){throw\"malformed public key hex length\"}var r={};r.x=t.substr(2,s);r.y=t.substr(2+s);return r};this.getShortNISTPCurveName=function(){var r=this.curveName;if(r===\"secp256r1\"||r===\"NIST P-256\"||r===\"P-256\"||r===\"prime256v1\"){return\"P-256\"}if(r===\"secp384r1\"||r===\"NIST P-384\"||r===\"P-384\"){return\"P-384\"}return null};this.generateKeyPairHex=function(){var t=this.ecparams.n;var w=this.getBigRandom(t);var u=this.ecparams.G.multiply(w);var z=u.getX().toBigInteger();var x=u.getY().toBigInteger();var r=this.ecparams.keylen/4;var v=(\"0000000000\"+w.toString(16)).slice(-r);var A=(\"0000000000\"+z.toString(16)).slice(-r);var y=(\"0000000000\"+x.toString(16)).slice(-r);var s=\"04\"+A+y;this.setPrivateKeyHex(v);this.setPublicKeyHex(s);return{ecprvhex:v,ecpubhex:s}};this.signWithMessageHash=function(r){return this.signHex(r,this.prvKeyHex)};this.signHex=function(x,u){var A=new f(u,16);var v=this.ecparams.n;var z=new f(x.substring(0,this.ecparams.keylen/4),16);do{var w=this.getBigRandom(v);var B=this.ecparams.G;var y=B.multiply(w);var t=y.getX().toBigInteger().mod(v)}while(t.compareTo(f.ZERO)<=0);var C=w.modInverse(v).multiply(z.add(A.multiply(t))).mod(v);return m.biRSSigToASN1Sig(t,C)};this.sign=function(w,B){var z=B;var u=this.ecparams.n;var y=f.fromByteArrayUnsigned(w);do{var v=this.getBigRandom(u);var A=this.ecparams.G;var x=A.multiply(v);var t=x.getX().toBigInteger().mod(u)}while(t.compareTo(BigInteger.ZERO)<=0);var C=v.modInverse(u).multiply(y.add(z.multiply(t))).mod(u);return this.serializeSig(t,C)};this.verifyWithMessageHash=function(s,r){return this.verifyHex(s,r,this.pubKeyHex)};this.verifyHex=function(v,y,u){try{var t,B;var w=m.parseSigHex(y);t=w.r;B=w.s;var x=h.decodeFromHex(this.ecparams.curve,u);var z=new f(v.substring(0,this.ecparams.keylen/4),16);return this.verifyRaw(z,t,B,x)}catch(A){return false}};this.verify=function(z,A,u){var w,t;if(Bitcoin.Util.isArray(A)){var y=this.parseSig(A);w=y.r;t=y.s}else{if(\"object\"===typeof A&&A.r&&A.s){w=A.r;t=A.s}else{throw\"Invalid value for signature\"}}var v;if(u instanceof ECPointFp){v=u}else{if(Bitcoin.Util.isArray(u)){v=h.decodeFrom(this.ecparams.curve,u)}else{throw\"Invalid format for pubkey value, must be byte array or ECPointFp\"}}var x=f.fromByteArrayUnsigned(z);return this.verifyRaw(x,w,t,v)};this.verifyRaw=function(z,t,E,y){var x=this.ecparams.n;var D=this.ecparams.G;if(t.compareTo(f.ONE)<0||t.compareTo(x)>=0){return false}if(E.compareTo(f.ONE)<0||E.compareTo(x)>=0){return false}var A=E.modInverse(x);var w=z.multiply(A).mod(x);var u=t.multiply(A).mod(x);var B=D.multiply(w).add(y.multiply(u));var C=B.getX().toBigInteger().mod(x);return C.equals(t)};this.serializeSig=function(v,u){var w=v.toByteArraySigned();var t=u.toByteArraySigned();var x=[];x.push(2);x.push(w.length);x=x.concat(w);x.push(2);x.push(t.length);x=x.concat(t);x.unshift(x.length);x.unshift(48);return x};this.parseSig=function(y){var x;if(y[0]!=48){throw new Error(\"Signature not a valid DERSequence\")}x=2;if(y[x]!=2){throw new Error(\"First element in signature must be a DERInteger\")}var w=y.slice(x+2,x+2+y[x+1]);x+=2+y[x+1];if(y[x]!=2){throw new Error(\"Second element in signature must be a DERInteger\")}var t=y.slice(x+2,x+2+y[x+1]);x+=2+y[x+1];var v=f.fromByteArrayUnsigned(w);var u=f.fromByteArrayUnsigned(t);return{r:v,s:u}};this.parseSigCompact=function(w){if(w.length!==65){throw\"Signature has the wrong length\"}var t=w[0]-27;if(t<0||t>7){throw\"Invalid signature type\"}var x=this.ecparams.n;var v=f.fromByteArrayUnsigned(w.slice(1,33)).mod(x);var u=f.fromByteArrayUnsigned(w.slice(33,65)).mod(x);return{r:v,s:u,i:t}};this.readPKCS5PrvKeyHex=function(u){if(k(u)===false){throw new Error(\"not ASN.1 hex string\")}var r,t,v;try{r=n(u,0,[\"[0]\",0],\"06\");t=n(u,0,[1],\"04\");try{v=n(u,0,[\"[1]\",0],\"03\")}catch(s){}}catch(s){throw new Error(\"malformed PKCS#1/5 plain ECC private key\")}this.curveName=d(r);if(this.curveName===undefined){throw\"unsupported curve name\"}this.setNamedCurve(this.curveName);this.setPublicKeyHex(v);this.setPrivateKeyHex(t);this.isPublic=false};this.readPKCS8PrvKeyHex=function(v){if(k(v)===false){throw new j(\"not ASN.1 hex string\")}var t,r,u,w;try{t=n(v,0,[1,0],\"06\");r=n(v,0,[1,1],\"06\");u=n(v,0,[2,0,1],\"04\");try{w=n(v,0,[2,0,\"[1]\",0],\"03\")}catch(s){}}catch(s){throw new j(\"malformed PKCS#8 plain ECC private key\")}this.curveName=d(r);if(this.curveName===undefined){throw new j(\"unsupported curve name\")}this.setNamedCurve(this.curveName);this.setPublicKeyHex(w);this.setPrivateKeyHex(u);this.isPublic=false};this.readPKCS8PubKeyHex=function(u){if(k(u)===false){throw new j(\"not ASN.1 hex string\")}var t,r,v;try{t=n(u,0,[0,0],\"06\");r=n(u,0,[0,1],\"06\");v=n(u,0,[1],\"03\")}catch(s){throw new j(\"malformed PKCS#8 ECC public key\")}this.curveName=d(r);if(this.curveName===null){throw new j(\"unsupported curve name\")}this.setNamedCurve(this.curveName);this.setPublicKeyHex(v)};this.readCertPubKeyHex=function(t,v){if(k(t)===false){throw new j(\"not ASN.1 hex string\")}var r,u;try{r=n(t,0,[0,5,0,1],\"06\");u=n(t,0,[0,5,1],\"03\")}catch(s){throw new j(\"malformed X.509 certificate ECC public key\")}this.curveName=d(r);if(this.curveName===null){throw new j(\"unsupported curve name\")}this.setNamedCurve(this.curveName);this.setPublicKeyHex(u)};if(e!==undefined){if(e.curve!==undefined){this.curveName=e.curve}}if(this.curveName===undefined){this.curveName=g}this.setNamedCurve(this.curveName);if(e!==undefined){if(e.prv!==undefined){this.setPrivateKeyHex(e.prv)}if(e.pub!==undefined){this.setPublicKeyHex(e.pub)}}};KJUR.crypto.ECDSA.parseSigHex=function(a){var b=KJUR.crypto.ECDSA.parseSigHexInHexRS(a);var d=new BigInteger(b.r,16);var c=new BigInteger(b.s,16);return{r:d,s:c}};KJUR.crypto.ECDSA.parseSigHexInHexRS=function(f){var j=ASN1HEX,i=j.getChildIdx,g=j.getV;j.checkStrictDER(f,0);if(f.substr(0,2)!=\"30\"){throw new Error(\"signature is not a ASN.1 sequence\")}var h=i(f,0);if(h.length!=2){throw new Error(\"signature shall have two elements\")}var e=h[0];var d=h[1];if(f.substr(e,2)!=\"02\"){throw new Error(\"1st item not ASN.1 integer\")}if(f.substr(d,2)!=\"02\"){throw new Error(\"2nd item not ASN.1 integer\")}var c=g(f,e);var b=g(f,d);return{r:c,s:b}};KJUR.crypto.ECDSA.asn1SigToConcatSig=function(c){var d=KJUR.crypto.ECDSA.parseSigHexInHexRS(c);var b=d.r;var a=d.s;if(b.substr(0,2)==\"00\"&&(b.length%32)==2){b=b.substr(2)}if(a.substr(0,2)==\"00\"&&(a.length%32)==2){a=a.substr(2)}if((b.length%32)==30){b=\"00\"+b}if((a.length%32)==30){a=\"00\"+a}if(b.length%32!=0){throw\"unknown ECDSA sig r length error\"}if(a.length%32!=0){throw\"unknown ECDSA sig s length error\"}return b+a};KJUR.crypto.ECDSA.concatSigToASN1Sig=function(a){if((((a.length/2)*8)%(16*8))!=0){throw\"unknown ECDSA concatinated r-s sig length error\"}var c=a.substr(0,a.length/2);var b=a.substr(a.length/2);return KJUR.crypto.ECDSA.hexRSSigToASN1Sig(c,b)};KJUR.crypto.ECDSA.hexRSSigToASN1Sig=function(b,a){var d=new BigInteger(b,16);var c=new BigInteger(a,16);return KJUR.crypto.ECDSA.biRSSigToASN1Sig(d,c)};KJUR.crypto.ECDSA.biRSSigToASN1Sig=function(f,d){var c=KJUR.asn1;var b=new c.DERInteger({bigint:f});var a=new c.DERInteger({bigint:d});var e=new c.DERSequence({array:[b,a]});return e.getEncodedHex()};KJUR.crypto.ECDSA.getName=function(a){if(a===\"2b8104001f\"){return\"secp192k1\"}if(a===\"2a8648ce3d030107\"){return\"secp256r1\"}if(a===\"2b8104000a\"){return\"secp256k1\"}if(a===\"2b81040021\"){return\"secp224r1\"}if(a===\"2b81040022\"){return\"secp384r1\"}if(\"|secp256r1|NIST P-256|P-256|prime256v1|\".indexOf(a)!==-1){return\"secp256r1\"}if(\"|secp256k1|\".indexOf(a)!==-1){return\"secp256k1\"}if(\"|secp224r1|NIST P-224|P-224|\".indexOf(a)!==-1){return\"secp224r1\"}if(\"|secp384r1|NIST P-384|P-384|\".indexOf(a)!==-1){return\"secp384r1\"}return null};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.crypto==\"undefined\"||!KJUR.crypto){KJUR.crypto={}}KJUR.crypto.ECParameterDB=new function(){var b={};var c={};function a(d){return new BigInteger(d,16)}this.getByName=function(e){var d=e;if(typeof c[d]!=\"undefined\"){d=c[e]}if(typeof b[d]!=\"undefined\"){return b[d]}throw\"unregistered EC curve name: \"+d};this.regist=function(A,l,o,g,m,e,j,f,k,u,d,x){b[A]={};var s=a(o);var z=a(g);var y=a(m);var t=a(e);var w=a(j);var r=new ECCurveFp(s,z,y);var q=r.decodePointHex(\"04\"+f+k);b[A][\"name\"]=A;b[A][\"keylen\"]=l;b[A][\"curve\"]=r;b[A][\"G\"]=q;b[A][\"n\"]=t;b[A][\"h\"]=w;b[A][\"oid\"]=d;b[A][\"info\"]=x;for(var v=0;v=u*2){break}}var z={};z.keyhex=x.substr(0,i[q][\"keylen\"]*2);z.ivhex=x.substr(i[q][\"keylen\"]*2,i[q][\"ivlen\"]*2);return z};var b=function(p,v,r,w){var s=CryptoJS.enc.Base64.parse(p);var q=CryptoJS.enc.Hex.stringify(s);var u=i[v][\"proc\"];var t=u(q,r,w);return t};var h=function(p,s,q,u){var r=i[s][\"eproc\"];var t=r(p,q,u);return t};return{version:\"1.0.0\",parsePKCS5PEM:function(p){return n(p)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(q,p,r){return j(q,p,r)},decryptKeyB64:function(p,r,q,s){return b(p,r,q,s)},getDecryptedKeyHex:function(y,x){var q=n(y);var t=q.type;var r=q.cipher;var p=q.ivsalt;var s=q.data;var w=j(r,x,p);var v=w.keyhex;var u=b(s,r,v,p);return u},getEncryptedPKCS5PEMFromPrvKeyHex:function(x,s,A,t,r){var p=\"\";if(typeof t==\"undefined\"||t==null){t=\"AES-256-CBC\"}if(typeof i[t]==\"undefined\"){throw\"KEYUTIL unsupported algorithm: \"+t}if(typeof r==\"undefined\"||r==null){var v=i[t][\"ivlen\"];var u=m(v);r=u.toUpperCase()}var z=j(t,A,r);var y=z.keyhex;var w=h(s,t,y,r);var q=w.replace(/(.{64})/g,\"$1\\r\\n\");var p=\"-----BEGIN \"+x+\" PRIVATE KEY-----\\r\\n\";p+=\"Proc-Type: 4,ENCRYPTED\\r\\n\";p+=\"DEK-Info: \"+t+\",\"+r+\"\\r\\n\";p+=\"\\r\\n\";p+=q;p+=\"\\r\\n-----END \"+x+\" PRIVATE KEY-----\\r\\n\";return p},parseHexOfEncryptedPKCS8:function(y){var B=ASN1HEX;var z=B.getChildIdx;var w=B.getV;var t={};var r=z(y,0);if(r.length!=2){throw\"malformed format: SEQUENCE(0).items != 2: \"+r.length}t.ciphertext=w(y,r[1]);var A=z(y,r[0]);if(A.length!=2){throw\"malformed format: SEQUENCE(0.0).items != 2: \"+A.length}if(w(y,A[0])!=\"2a864886f70d01050d\"){throw\"this only supports pkcs5PBES2\"}var p=z(y,A[1]);if(A.length!=2){throw\"malformed format: SEQUENCE(0.0.1).items != 2: \"+p.length}var q=z(y,p[1]);if(q.length!=2){throw\"malformed format: SEQUENCE(0.0.1.1).items != 2: \"+q.length}if(w(y,q[0])!=\"2a864886f70d0307\"){throw\"this only supports TripleDES\"}t.encryptionSchemeAlg=\"TripleDES\";t.encryptionSchemeIV=w(y,q[1]);var s=z(y,p[0]);if(s.length!=2){throw\"malformed format: SEQUENCE(0.0.1.0).items != 2: \"+s.length}if(w(y,s[0])!=\"2a864886f70d01050c\"){throw\"this only supports pkcs5PBKDF2\"}var x=z(y,s[1]);if(x.length<2){throw\"malformed format: SEQUENCE(0.0.1.0.1).items < 2: \"+x.length}t.pbkdf2Salt=w(y,x[0]);var u=w(y,x[1]);try{t.pbkdf2Iter=parseInt(u,16)}catch(v){throw\"malformed format pbkdf2Iter: \"+u}return t},getPBKDF2KeyHexFromParam:function(u,p){var t=CryptoJS.enc.Hex.parse(u.pbkdf2Salt);var q=u.pbkdf2Iter;var s=CryptoJS.PBKDF2(p,t,{keySize:192/32,iterations:q});var r=CryptoJS.enc.Hex.stringify(s);return r},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(x,y){var r=pemtohex(x,\"ENCRYPTED PRIVATE KEY\");var p=this.parseHexOfEncryptedPKCS8(r);var u=KEYUTIL.getPBKDF2KeyHexFromParam(p,y);var v={};v.ciphertext=CryptoJS.enc.Hex.parse(p.ciphertext);var t=CryptoJS.enc.Hex.parse(u);var s=CryptoJS.enc.Hex.parse(p.encryptionSchemeIV);var w=CryptoJS.TripleDES.decrypt(v,t,{iv:s});var q=CryptoJS.enc.Hex.stringify(w);return q},getKeyFromEncryptedPKCS8PEM:function(s,q){var p=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(s,q);var r=this.getKeyFromPlainPrivatePKCS8Hex(p);return r},parsePlainPrivatePKCS8Hex:function(s){var v=ASN1HEX;var u=v.getChildIdx;var t=v.getV;var q={};q.algparam=null;if(s.substr(0,2)!=\"30\"){throw\"malformed plain PKCS8 private key(code:001)\"}var r=u(s,0);if(r.length!=3){throw\"malformed plain PKCS8 private key(code:002)\"}if(s.substr(r[1],2)!=\"30\"){throw\"malformed PKCS8 private key(code:003)\"}var p=u(s,r[1]);if(p.length!=2){throw\"malformed PKCS8 private key(code:004)\"}if(s.substr(p[0],2)!=\"06\"){throw\"malformed PKCS8 private key(code:005)\"}q.algoid=t(s,p[0]);if(s.substr(p[1],2)==\"06\"){q.algparam=t(s,p[1])}if(s.substr(r[2],2)!=\"04\"){throw\"malformed PKCS8 private key(code:006)\"}q.keyidx=v.getVidx(s,r[2]);return q},getKeyFromPlainPrivatePKCS8PEM:function(q){var p=pemtohex(q,\"PRIVATE KEY\");var r=this.getKeyFromPlainPrivatePKCS8Hex(p);return r},getKeyFromPlainPrivatePKCS8Hex:function(p){var q=this.parsePlainPrivatePKCS8Hex(p);var r;if(q.algoid==\"2a864886f70d010101\"){r=new RSAKey()}else{if(q.algoid==\"2a8648ce380401\"){r=new KJUR.crypto.DSA()}else{if(q.algoid==\"2a8648ce3d0201\"){r=new KJUR.crypto.ECDSA()}else{throw\"unsupported private key algorithm\"}}}r.readPKCS8PrvKeyHex(p);return r},_getKeyFromPublicPKCS8Hex:function(q){var p;var r=ASN1HEX.getVbyList(q,0,[0,0],\"06\");if(r===\"2a864886f70d010101\"){p=new RSAKey()}else{if(r===\"2a8648ce380401\"){p=new KJUR.crypto.DSA()}else{if(r===\"2a8648ce3d0201\"){p=new KJUR.crypto.ECDSA()}else{throw\"unsupported PKCS#8 public key hex\"}}}p.readPKCS8PubKeyHex(q);return p},parsePublicRawRSAKeyHex:function(r){var u=ASN1HEX;var t=u.getChildIdx;var s=u.getV;var p={};if(r.substr(0,2)!=\"30\"){throw\"malformed RSA key(code:001)\"}var q=t(r,0);if(q.length!=2){throw\"malformed RSA key(code:002)\"}if(r.substr(q[0],2)!=\"02\"){throw\"malformed RSA key(code:003)\"}p.n=s(r,q[0]);if(r.substr(q[1],2)!=\"02\"){throw\"malformed RSA key(code:004)\"}p.e=s(r,q[1]);return p},parsePublicPKCS8Hex:function(t){var v=ASN1HEX;var u=v.getChildIdx;var s=v.getV;var q={};q.algparam=null;var r=u(t,0);if(r.length!=2){throw\"outer DERSequence shall have 2 elements: \"+r.length}var w=r[0];if(t.substr(w,2)!=\"30\"){throw\"malformed PKCS8 public key(code:001)\"}var p=u(t,w);if(p.length!=2){throw\"malformed PKCS8 public key(code:002)\"}if(t.substr(p[0],2)!=\"06\"){throw\"malformed PKCS8 public key(code:003)\"}q.algoid=s(t,p[0]);if(t.substr(p[1],2)==\"06\"){q.algparam=s(t,p[1])}else{if(t.substr(p[1],2)==\"30\"){q.algparam={};q.algparam.p=v.getVbyList(t,p[1],[0],\"02\");q.algparam.q=v.getVbyList(t,p[1],[1],\"02\");q.algparam.g=v.getVbyList(t,p[1],[2],\"02\")}}if(t.substr(r[1],2)!=\"03\"){throw\"malformed PKCS8 public key(code:004)\"}q.key=s(t,r[1]).substr(2);return q},}}();KEYUTIL.getKey=function(l,k,n){var G=ASN1HEX,L=G.getChildIdx,v=G.getV,d=G.getVbyList,c=KJUR.crypto,i=c.ECDSA,C=c.DSA,w=RSAKey,M=pemtohex,F=KEYUTIL;if(typeof w!=\"undefined\"&&l instanceof w){return l}if(typeof i!=\"undefined\"&&l instanceof i){return l}if(typeof C!=\"undefined\"&&l instanceof C){return l}if(l.curve!==undefined&&l.xy!==undefined&&l.d===undefined){return new i({pub:l.xy,curve:l.curve})}if(l.curve!==undefined&&l.d!==undefined){return new i({prv:l.d,curve:l.curve})}if(l.kty===undefined&&l.n!==undefined&&l.e!==undefined&&l.d===undefined){var P=new w();P.setPublic(l.n,l.e);return P}if(l.kty===undefined&&l.n!==undefined&&l.e!==undefined&&l.d!==undefined&&l.p!==undefined&&l.q!==undefined&&l.dp!==undefined&&l.dq!==undefined&&l.co!==undefined&&l.qi===undefined){var P=new w();P.setPrivateEx(l.n,l.e,l.d,l.p,l.q,l.dp,l.dq,l.co);return P}if(l.kty===undefined&&l.n!==undefined&&l.e!==undefined&&l.d!==undefined&&l.p===undefined){var P=new w();P.setPrivate(l.n,l.e,l.d);return P}if(l.p!==undefined&&l.q!==undefined&&l.g!==undefined&&l.y!==undefined&&l.x===undefined){var P=new C();P.setPublic(l.p,l.q,l.g,l.y);return P}if(l.p!==undefined&&l.q!==undefined&&l.g!==undefined&&l.y!==undefined&&l.x!==undefined){var P=new C();P.setPrivate(l.p,l.q,l.g,l.y,l.x);return P}if(l.kty===\"RSA\"&&l.n!==undefined&&l.e!==undefined&&l.d===undefined){var P=new w();P.setPublic(b64utohex(l.n),b64utohex(l.e));return P}if(l.kty===\"RSA\"&&l.n!==undefined&&l.e!==undefined&&l.d!==undefined&&l.p!==undefined&&l.q!==undefined&&l.dp!==undefined&&l.dq!==undefined&&l.qi!==undefined){var P=new w();P.setPrivateEx(b64utohex(l.n),b64utohex(l.e),b64utohex(l.d),b64utohex(l.p),b64utohex(l.q),b64utohex(l.dp),b64utohex(l.dq),b64utohex(l.qi));return P}if(l.kty===\"RSA\"&&l.n!==undefined&&l.e!==undefined&&l.d!==undefined){var P=new w();P.setPrivate(b64utohex(l.n),b64utohex(l.e),b64utohex(l.d));return P}if(l.kty===\"EC\"&&l.crv!==undefined&&l.x!==undefined&&l.y!==undefined&&l.d===undefined){var j=new i({curve:l.crv});var t=j.ecparams.keylen/4;var B=(\"0000000000\"+b64utohex(l.x)).slice(-t);var z=(\"0000000000\"+b64utohex(l.y)).slice(-t);var u=\"04\"+B+z;j.setPublicKeyHex(u);return j}if(l.kty===\"EC\"&&l.crv!==undefined&&l.x!==undefined&&l.y!==undefined&&l.d!==undefined){var j=new i({curve:l.crv});var t=j.ecparams.keylen/4;var B=(\"0000000000\"+b64utohex(l.x)).slice(-t);var z=(\"0000000000\"+b64utohex(l.y)).slice(-t);var u=\"04\"+B+z;var b=(\"0000000000\"+b64utohex(l.d)).slice(-t);j.setPublicKeyHex(u);j.setPrivateKeyHex(b);return j}if(n===\"pkcs5prv\"){var J=l,G=ASN1HEX,N,P;N=L(J,0);if(N.length===9){P=new w();P.readPKCS5PrvKeyHex(J)}else{if(N.length===6){P=new C();P.readPKCS5PrvKeyHex(J)}else{if(N.length>2&&J.substr(N[1],2)===\"04\"){P=new i();P.readPKCS5PrvKeyHex(J)}else{throw\"unsupported PKCS#1/5 hexadecimal key\"}}}return P}if(n===\"pkcs8prv\"){var P=F.getKeyFromPlainPrivatePKCS8Hex(l);return P}if(n===\"pkcs8pub\"){return F._getKeyFromPublicPKCS8Hex(l)}if(n===\"x509pub\"){return X509.getPublicKeyFromCertHex(l)}if(l.indexOf(\"-END CERTIFICATE-\",0)!=-1||l.indexOf(\"-END X509 CERTIFICATE-\",0)!=-1||l.indexOf(\"-END TRUSTED CERTIFICATE-\",0)!=-1){return X509.getPublicKeyFromCertPEM(l)}if(l.indexOf(\"-END PUBLIC KEY-\")!=-1){var O=pemtohex(l,\"PUBLIC KEY\");return F._getKeyFromPublicPKCS8Hex(O)}if(l.indexOf(\"-END RSA PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")==-1){var m=M(l,\"RSA PRIVATE KEY\");return F.getKey(m,null,\"pkcs5prv\")}if(l.indexOf(\"-END DSA PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")==-1){var I=M(l,\"DSA PRIVATE KEY\");var E=d(I,0,[1],\"02\");var D=d(I,0,[2],\"02\");var K=d(I,0,[3],\"02\");var r=d(I,0,[4],\"02\");var s=d(I,0,[5],\"02\");var P=new C();P.setPrivate(new BigInteger(E,16),new BigInteger(D,16),new BigInteger(K,16),new BigInteger(r,16),new BigInteger(s,16));return P}if(l.indexOf(\"-END EC PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")==-1){var m=M(l,\"EC PRIVATE KEY\");return F.getKey(m,null,\"pkcs5prv\")}if(l.indexOf(\"-END PRIVATE KEY-\")!=-1){return F.getKeyFromPlainPrivatePKCS8PEM(l)}if(l.indexOf(\"-END RSA PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")!=-1){var o=F.getDecryptedKeyHex(l,k);var H=new RSAKey();H.readPKCS5PrvKeyHex(o);return H}if(l.indexOf(\"-END EC PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")!=-1){var I=F.getDecryptedKeyHex(l,k);var P=d(I,0,[1],\"04\");var f=d(I,0,[2,0],\"06\");var A=d(I,0,[3,0],\"03\").substr(2);var e=\"\";if(KJUR.crypto.OID.oidhex2name[f]!==undefined){e=KJUR.crypto.OID.oidhex2name[f]}else{throw\"undefined OID(hex) in KJUR.crypto.OID: \"+f}var j=new i({curve:e});j.setPublicKeyHex(A);j.setPrivateKeyHex(P);j.isPublic=false;return j}if(l.indexOf(\"-END DSA PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")!=-1){var I=F.getDecryptedKeyHex(l,k);var E=d(I,0,[1],\"02\");var D=d(I,0,[2],\"02\");var K=d(I,0,[3],\"02\");var r=d(I,0,[4],\"02\");var s=d(I,0,[5],\"02\");var P=new C();P.setPrivate(new BigInteger(E,16),new BigInteger(D,16),new BigInteger(K,16),new BigInteger(r,16),new BigInteger(s,16));return P}if(l.indexOf(\"-END ENCRYPTED PRIVATE KEY-\")!=-1){return F.getKeyFromEncryptedPKCS8PEM(l,k)}throw new Error(\"not supported argument\")};KEYUTIL.generateKeypair=function(a,c){if(a==\"RSA\"){var b=c;var h=new RSAKey();h.generate(b,\"10001\");h.isPrivate=true;h.isPublic=true;var f=new RSAKey();var e=h.n.toString(16);var i=h.e.toString(16);f.setPublic(e,i);f.isPrivate=false;f.isPublic=true;var k={};k.prvKeyObj=h;k.pubKeyObj=f;return k}else{if(a==\"EC\"){var d=c;var g=new KJUR.crypto.ECDSA({curve:d});var j=g.generateKeyPairHex();var h=new KJUR.crypto.ECDSA({curve:d});h.setPublicKeyHex(j.ecpubhex);h.setPrivateKeyHex(j.ecprvhex);h.isPrivate=true;h.isPublic=false;var f=new KJUR.crypto.ECDSA({curve:d});f.setPublicKeyHex(j.ecpubhex);f.isPrivate=false;f.isPublic=true;var k={};k.prvKeyObj=h;k.pubKeyObj=f;return k}else{throw\"unknown algorithm: \"+a}}};KEYUTIL.getPEM=function(b,D,y,m,q,j){var F=KJUR,k=F.asn1,z=k.DERObjectIdentifier,f=k.DERInteger,l=k.ASN1Util.newObject,a=k.x509,C=a.SubjectPublicKeyInfo,e=F.crypto,u=e.DSA,r=e.ECDSA,n=RSAKey;function A(s){var G=l({seq:[{\"int\":0},{\"int\":{bigint:s.n}},{\"int\":s.e},{\"int\":{bigint:s.d}},{\"int\":{bigint:s.p}},{\"int\":{bigint:s.q}},{\"int\":{bigint:s.dmp1}},{\"int\":{bigint:s.dmq1}},{\"int\":{bigint:s.coeff}}]});return G}function B(G){var s=l({seq:[{\"int\":1},{octstr:{hex:G.prvKeyHex}},{tag:[\"a0\",true,{oid:{name:G.curveName}}]},{tag:[\"a1\",true,{bitstr:{hex:\"00\"+G.pubKeyHex}}]}]});return s}function x(s){var G=l({seq:[{\"int\":0},{\"int\":{bigint:s.p}},{\"int\":{bigint:s.q}},{\"int\":{bigint:s.g}},{\"int\":{bigint:s.y}},{\"int\":{bigint:s.x}}]});return G}if(((n!==undefined&&b instanceof n)||(u!==undefined&&b instanceof u)||(r!==undefined&&b instanceof r))&&b.isPublic==true&&(D===undefined||D==\"PKCS8PUB\")){var E=new C(b);var w=E.getEncodedHex();return hextopem(w,\"PUBLIC KEY\")}if(D==\"PKCS1PRV\"&&n!==undefined&&b instanceof n&&(y===undefined||y==null)&&b.isPrivate==true){var E=A(b);var w=E.getEncodedHex();return hextopem(w,\"RSA PRIVATE KEY\")}if(D==\"PKCS1PRV\"&&r!==undefined&&b instanceof r&&(y===undefined||y==null)&&b.isPrivate==true){var i=new z({name:b.curveName});var v=i.getEncodedHex();var h=B(b);var t=h.getEncodedHex();var p=\"\";p+=hextopem(v,\"EC PARAMETERS\");p+=hextopem(t,\"EC PRIVATE KEY\");return p}if(D==\"PKCS1PRV\"&&u!==undefined&&b instanceof u&&(y===undefined||y==null)&&b.isPrivate==true){var E=x(b);var w=E.getEncodedHex();return hextopem(w,\"DSA PRIVATE KEY\")}if(D==\"PKCS5PRV\"&&n!==undefined&&b instanceof n&&(y!==undefined&&y!=null)&&b.isPrivate==true){var E=A(b);var w=E.getEncodedHex();if(m===undefined){m=\"DES-EDE3-CBC\"}return this.getEncryptedPKCS5PEMFromPrvKeyHex(\"RSA\",w,y,m,j)}if(D==\"PKCS5PRV\"&&r!==undefined&&b instanceof r&&(y!==undefined&&y!=null)&&b.isPrivate==true){var E=B(b);var w=E.getEncodedHex();if(m===undefined){m=\"DES-EDE3-CBC\"}return this.getEncryptedPKCS5PEMFromPrvKeyHex(\"EC\",w,y,m,j)}if(D==\"PKCS5PRV\"&&u!==undefined&&b instanceof u&&(y!==undefined&&y!=null)&&b.isPrivate==true){var E=x(b);var w=E.getEncodedHex();if(m===undefined){m=\"DES-EDE3-CBC\"}return this.getEncryptedPKCS5PEMFromPrvKeyHex(\"DSA\",w,y,m,j)}var o=function(G,s){var I=c(G,s);var H=new l({seq:[{seq:[{oid:{name:\"pkcs5PBES2\"}},{seq:[{seq:[{oid:{name:\"pkcs5PBKDF2\"}},{seq:[{octstr:{hex:I.pbkdf2Salt}},{\"int\":I.pbkdf2Iter}]}]},{seq:[{oid:{name:\"des-EDE3-CBC\"}},{octstr:{hex:I.encryptionSchemeIV}}]}]}]},{octstr:{hex:I.ciphertext}}]});return H.getEncodedHex()};var c=function(N,O){var H=100;var M=CryptoJS.lib.WordArray.random(8);var L=\"DES-EDE3-CBC\";var s=CryptoJS.lib.WordArray.random(8);var I=CryptoJS.PBKDF2(O,M,{keySize:192/32,iterations:H});var J=CryptoJS.enc.Hex.parse(N);var K=CryptoJS.TripleDES.encrypt(J,I,{iv:s})+\"\";var G={};G.ciphertext=K;G.pbkdf2Salt=CryptoJS.enc.Hex.stringify(M);G.pbkdf2Iter=H;G.encryptionSchemeAlg=L;G.encryptionSchemeIV=CryptoJS.enc.Hex.stringify(s);return G};if(D==\"PKCS8PRV\"&&n!=undefined&&b instanceof n&&b.isPrivate==true){var g=A(b);var d=g.getEncodedHex();var E=l({seq:[{\"int\":0},{seq:[{oid:{name:\"rsaEncryption\"}},{\"null\":true}]},{octstr:{hex:d}}]});var w=E.getEncodedHex();if(y===undefined||y==null){return hextopem(w,\"PRIVATE KEY\")}else{var t=o(w,y);return hextopem(t,\"ENCRYPTED PRIVATE KEY\")}}if(D==\"PKCS8PRV\"&&r!==undefined&&b instanceof r&&b.isPrivate==true){var g=new l({seq:[{\"int\":1},{octstr:{hex:b.prvKeyHex}},{tag:[\"a1\",true,{bitstr:{hex:\"00\"+b.pubKeyHex}}]}]});var d=g.getEncodedHex();var E=l({seq:[{\"int\":0},{seq:[{oid:{name:\"ecPublicKey\"}},{oid:{name:b.curveName}}]},{octstr:{hex:d}}]});var w=E.getEncodedHex();if(y===undefined||y==null){return hextopem(w,\"PRIVATE KEY\")}else{var t=o(w,y);return hextopem(t,\"ENCRYPTED PRIVATE KEY\")}}if(D==\"PKCS8PRV\"&&u!==undefined&&b instanceof u&&b.isPrivate==true){var g=new f({bigint:b.x});var d=g.getEncodedHex();var E=l({seq:[{\"int\":0},{seq:[{oid:{name:\"dsa\"}},{seq:[{\"int\":{bigint:b.p}},{\"int\":{bigint:b.q}},{\"int\":{bigint:b.g}}]}]},{octstr:{hex:d}}]});var w=E.getEncodedHex();if(y===undefined||y==null){return hextopem(w,\"PRIVATE KEY\")}else{var t=o(w,y);return hextopem(t,\"ENCRYPTED PRIVATE KEY\")}}throw new Error(\"unsupported object nor format\")};KEYUTIL.getKeyFromCSRPEM=function(b){var a=pemtohex(b,\"CERTIFICATE REQUEST\");var c=KEYUTIL.getKeyFromCSRHex(a);return c};KEYUTIL.getKeyFromCSRHex=function(a){var c=KEYUTIL.parseCSRHex(a);var b=KEYUTIL.getKey(c.p8pubkeyhex,null,\"pkcs8pub\");return b};KEYUTIL.parseCSRHex=function(d){var i=ASN1HEX;var f=i.getChildIdx;var c=i.getTLV;var b={};var g=d;if(g.substr(0,2)!=\"30\"){throw\"malformed CSR(code:001)\"}var e=f(g,0);if(e.length<1){throw\"malformed CSR(code:002)\"}if(g.substr(e[0],2)!=\"30\"){throw\"malformed CSR(code:003)\"}var a=f(g,e[0]);if(a.length<3){throw\"malformed CSR(code:004)\"}b.p8pubkeyhex=c(g,a[2]);return b};KEYUTIL.getKeyID=function(f){var c=KEYUTIL;var e=ASN1HEX;if(typeof f===\"string\"&&f.indexOf(\"BEGIN \")!=-1){f=c.getKey(f)}var d=pemtohex(c.getPEM(f));var b=e.getIdxbyList(d,0,[1]);var a=e.getV(d,b).substring(2);return KJUR.crypto.Util.hashHex(a,\"sha1\")};KEYUTIL.getJWKFromKey=function(d){var b={};if(d instanceof RSAKey&&d.isPrivate){b.kty=\"RSA\";b.n=hextob64u(d.n.toString(16));b.e=hextob64u(d.e.toString(16));b.d=hextob64u(d.d.toString(16));b.p=hextob64u(d.p.toString(16));b.q=hextob64u(d.q.toString(16));b.dp=hextob64u(d.dmp1.toString(16));b.dq=hextob64u(d.dmq1.toString(16));b.qi=hextob64u(d.coeff.toString(16));return b}else{if(d instanceof RSAKey&&d.isPublic){b.kty=\"RSA\";b.n=hextob64u(d.n.toString(16));b.e=hextob64u(d.e.toString(16));return b}else{if(d instanceof KJUR.crypto.ECDSA&&d.isPrivate){var a=d.getShortNISTPCurveName();if(a!==\"P-256\"&&a!==\"P-384\"){throw\"unsupported curve name for JWT: \"+a}var c=d.getPublicKeyXYHex();b.kty=\"EC\";b.crv=a;b.x=hextob64u(c.x);b.y=hextob64u(c.y);b.d=hextob64u(d.prvKeyHex);return b}else{if(d instanceof KJUR.crypto.ECDSA&&d.isPublic){var a=d.getShortNISTPCurveName();if(a!==\"P-256\"&&a!==\"P-384\"){throw\"unsupported curve name for JWT: \"+a}var c=d.getPublicKeyXYHex();b.kty=\"EC\";b.crv=a;b.x=hextob64u(c.x);b.y=hextob64u(c.y);return b}}}}throw\"not supported key object\"};\nRSAKey.getPosArrayOfChildrenFromHex=function(a){return ASN1HEX.getChildIdx(a,0)};RSAKey.getHexValueArrayOfChildrenFromHex=function(f){var n=ASN1HEX;var i=n.getV;var k=RSAKey.getPosArrayOfChildrenFromHex(f);var e=i(f,k[0]);var j=i(f,k[1]);var b=i(f,k[2]);var c=i(f,k[3]);var h=i(f,k[4]);var g=i(f,k[5]);var m=i(f,k[6]);var l=i(f,k[7]);var d=i(f,k[8]);var k=new Array();k.push(e,j,b,c,h,g,m,l,d);return k};RSAKey.prototype.readPrivateKeyFromPEMString=function(d){var c=pemtohex(d);var b=RSAKey.getHexValueArrayOfChildrenFromHex(c);this.setPrivateEx(b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8])};RSAKey.prototype.readPKCS5PrvKeyHex=function(c){var b=RSAKey.getHexValueArrayOfChildrenFromHex(c);this.setPrivateEx(b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8])};RSAKey.prototype.readPKCS8PrvKeyHex=function(e){var c,i,k,b,a,f,d,j;var m=ASN1HEX;var l=m.getVbyListEx;if(m.isASN1HEX(e)===false){throw new Error(\"not ASN.1 hex string\")}try{c=l(e,0,[2,0,1],\"02\");i=l(e,0,[2,0,2],\"02\");k=l(e,0,[2,0,3],\"02\");b=l(e,0,[2,0,4],\"02\");a=l(e,0,[2,0,5],\"02\");f=l(e,0,[2,0,6],\"02\");d=l(e,0,[2,0,7],\"02\");j=l(e,0,[2,0,8],\"02\")}catch(g){throw new Error(\"malformed PKCS#8 plain RSA private key\")}this.setPrivateEx(c,i,k,b,a,f,d,j)};RSAKey.prototype.readPKCS5PubKeyHex=function(c){var e=ASN1HEX;var b=e.getV;if(e.isASN1HEX(c)===false){throw new Error(\"keyHex is not ASN.1 hex string\")}var a=e.getChildIdx(c,0);if(a.length!==2||c.substr(a[0],2)!==\"02\"||c.substr(a[1],2)!==\"02\"){throw new Error(\"wrong hex for PKCS#5 public key\")}var f=b(c,a[0]);var d=b(c,a[1]);this.setPublic(f,d)};RSAKey.prototype.readPKCS8PubKeyHex=function(b){var c=ASN1HEX;if(c.isASN1HEX(b)===false){throw new Error(\"not ASN.1 hex string\")}if(c.getTLVbyListEx(b,0,[0,0])!==\"06092a864886f70d010101\"){throw new Error(\"not PKCS8 RSA public key\")}var a=c.getTLVbyListEx(b,0,[1,0]);this.readPKCS5PubKeyHex(a)};RSAKey.prototype.readCertPubKeyHex=function(b,d){var a,c;a=new X509();a.readCertHex(b);c=a.getPublicKeyHex();this.readPKCS8PubKeyHex(c)};\nvar _RE_HEXDECONLY=new RegExp(\"[^0-9a-f]\",\"gi\");function _rsasign_getHexPaddedDigestInfoForString(d,e,a){var b=function(f){return KJUR.crypto.Util.hashString(f,a)};var c=b(d);return KJUR.crypto.Util.getPaddedDigestInfoHex(c,a,e)}function _zeroPaddingOfSignature(e,d){var c=\"\";var a=d/4-e.length;for(var b=0;b>24,(d&16711680)>>16,(d&65280)>>8,d&255]))));d+=1}return b}RSAKey.prototype.signPSS=function(e,a,d){var c=function(f){return KJUR.crypto.Util.hashHex(f,a)};var b=c(rstrtohex(e));if(d===undefined){d=-1}return this.signWithMessageHashPSS(b,a,d)};RSAKey.prototype.signWithMessageHashPSS=function(l,a,k){var b=hextorstr(l);var g=b.length;var m=this.n.bitLength()-1;var c=Math.ceil(m/8);var d;var o=function(i){return KJUR.crypto.Util.hashHex(i,a)};if(k===-1||k===undefined){k=g}else{if(k===-2){k=c-g-2}else{if(k<-2){throw new Error(\"invalid salt length\")}}}if(c<(g+k+2)){throw new Error(\"data too long\")}var f=\"\";if(k>0){f=new Array(k);new SecureRandom().nextBytes(f);f=String.fromCharCode.apply(String,f)}var n=hextorstr(o(rstrtohex(\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"+b+f)));var j=[];for(d=0;d>(8*c-m))&255;q[0]&=~p;for(d=0;dthis.n.bitLength()){return 0}var i=this.doPublic(b);var e=i.toString(16).replace(/^1f+00/,\"\");var g=_rsasign_getAlgNameAndHashFromHexDisgestInfo(e);if(g.length==0){return false}var d=g[0];var h=g[1];var a=function(k){return KJUR.crypto.Util.hashString(k,d)};var c=a(f);return(h==c)};RSAKey.prototype.verifyWithMessageHash=function(e,a){if(a.length!=Math.ceil(this.n.bitLength()/4)){return false}var b=parseBigInt(a,16);if(b.bitLength()>this.n.bitLength()){return 0}var h=this.doPublic(b);var g=h.toString(16).replace(/^1f+00/,\"\");var c=_rsasign_getAlgNameAndHashFromHexDisgestInfo(g);if(c.length==0){return false}var d=c[0];var f=c[1];return(f==e)};RSAKey.prototype.verifyPSS=function(c,b,a,f){var e=function(g){return KJUR.crypto.Util.hashHex(g,a)};var d=e(rstrtohex(c));if(f===undefined){f=-1}return this.verifyWithMessageHashPSS(d,b,a,f)};RSAKey.prototype.verifyWithMessageHashPSS=function(f,s,l,c){if(s.length!=Math.ceil(this.n.bitLength()/4)){return false}var k=new BigInteger(s,16);var r=function(i){return KJUR.crypto.Util.hashHex(i,l)};var j=hextorstr(f);var h=j.length;var g=this.n.bitLength()-1;var m=Math.ceil(g/8);var q;if(c===-1||c===undefined){c=h}else{if(c===-2){c=m-h-2}else{if(c<-2){throw new Error(\"invalid salt length\")}}}if(m<(h+c+2)){throw new Error(\"data too long\")}var a=this.doPublic(k).toByteArray();for(q=0;q>(8*m-g))&255;if((d.charCodeAt(0)&p)!==0){throw new Error(\"bits beyond keysize not zero\")}var n=pss_mgf1_str(e,d.length,r);var o=[];for(q=0;q1){var z=b(v,u[1]);var t=this.getGeneralName(z);if(t.uri!=undefined){s.uri=t.uri}}if(u.length>2){var w=b(v,u[2]);if(w==\"0101ff\"){s.reqauth=true}if(w==\"010100\"){s.reqauth=false}}return s};this.getX500NameRule=function(s){var z=true;var D=true;var C=false;var t=\"\";var w=\"\";var F=null;var A=[];for(var v=0;v0){s.ext=this.getExtParamArray()}s.sighex=this.getSignatureValueHex();return s};this.getExtParamArray=function(t){if(t==undefined){var v=e(this.hex,0,[0,\"[3]\"]);if(v!=-1){t=l(this.hex,0,[0,\"[3]\",0],\"30\")}}var s=[];var u=n(t,0);for(var w=0;w0){var b=\":\"+n.join(\":\")+\":\";if(b.indexOf(\":\"+k+\":\")==-1){throw\"algorithm '\"+k+\"' not accepted in the list\"}}if(k!=\"none\"&&B===null){throw\"key shall be specified to verify.\"}if(typeof B==\"string\"&&B.indexOf(\"-----BEGIN \")!=-1){B=KEYUTIL.getKey(B)}if(z==\"RS\"||z==\"PS\"){if(!(B instanceof m)){throw\"key shall be a RSAKey obj for RS* and PS* algs\"}}if(z==\"ES\"){if(!(B instanceof p)){throw\"key shall be a ECDSA obj for ES* algs\"}}if(k==\"none\"){}var u=null;if(t.jwsalg2sigalg[l.alg]===undefined){throw\"unsupported alg name: \"+k}else{u=t.jwsalg2sigalg[k]}if(u==\"none\"){throw\"not supported\"}else{if(u.substr(0,4)==\"Hmac\"){var o=null;if(B===undefined){throw\"hexadecimal key shall be specified for HMAC\"}var j=new s({alg:u,pass:B});j.updateString(c);o=j.doFinal();return A==o}else{if(u.indexOf(\"withECDSA\")!=-1){var h=null;try{h=p.concatSigToASN1Sig(A)}catch(v){return false}var g=new d({alg:u});g.init(B);g.updateString(c);return g.verify(h)}else{var g=new d({alg:u});g.init(B);g.updateString(c);return g.verify(A)}}}};KJUR.jws.JWS.parse=function(g){var c=g.split(\".\");var b={};var f,e,d;if(c.length!=2&&c.length!=3){throw\"malformed sJWS: wrong number of '.' splitted elements\"}f=c[0];e=c[1];if(c.length==3){d=c[2]}b.headerObj=KJUR.jws.JWS.readSafeJSONString(b64utoutf8(f));b.payloadObj=KJUR.jws.JWS.readSafeJSONString(b64utoutf8(e));b.headerPP=JSON.stringify(b.headerObj,null,\" \");if(b.payloadObj==null){b.payloadPP=b64utoutf8(e)}else{b.payloadPP=JSON.stringify(b.payloadObj,null,\" \")}if(d!==undefined){b.sigHex=b64utohex(d)}return b};KJUR.jws.JWS.verifyJWT=function(e,l,r){var d=KJUR,j=d.jws,o=j.JWS,n=o.readSafeJSONString,p=o.inArray,f=o.includedArray;var k=e.split(\".\");var c=k[0];var i=k[1];var q=c+\".\"+i;var m=b64utohex(k[2]);var h=n(b64utoutf8(c));var g=n(b64utoutf8(i));if(h.alg===undefined){return false}if(r.alg===undefined){throw\"acceptField.alg shall be specified\"}if(!p(h.alg,r.alg)){return false}if(g.iss!==undefined&&typeof r.iss===\"object\"){if(!p(g.iss,r.iss)){return false}}if(g.sub!==undefined&&typeof r.sub===\"object\"){if(!p(g.sub,r.sub)){return false}}if(g.aud!==undefined&&typeof r.aud===\"object\"){if(typeof g.aud==\"string\"){if(!p(g.aud,r.aud)){return false}}else{if(typeof g.aud==\"object\"){if(!f(g.aud,r.aud)){return false}}}}var b=j.IntDate.getNow();if(r.verifyAt!==undefined&&typeof r.verifyAt===\"number\"){b=r.verifyAt}if(r.gracePeriod===undefined||typeof r.gracePeriod!==\"number\"){r.gracePeriod=0}if(g.exp!==undefined&&typeof g.exp==\"number\"){if(g.exp+r.gracePeriod\"~\", \"~1\"=\"%2f\"=>\"/\"\n * @param o\n * @param s The path to walk o along\n * @return any\n */\nexports.objectGetPath = function objectGetPath(o, s) {\n var parts = s.split('/').slice(1);\n var k;\n while (typeof (k=parts.shift()) == 'string') {\n var n = decodeURIComponent(k.replace(/~0/,'~').replace(/~1/g,'/'));\n if (!(n in o)) return;\n o = o[n];\n }\n return o;\n};\n\nfunction pathEncoder (v) {\n return '/'+encodeURIComponent(v).replace(/~/g,'%7E');\n}\n/**\n * Accept an Array of property names and return a JSON Pointer URI fragment\n * @param Array a\n * @return {String}\n */\nexports.encodePath = function encodePointer(a){\n // ~ must be encoded explicitly because hacks\n // the slash is encoded by encodeURIComponent\n return a.map(pathEncoder).join('');\n};\n\n\n/**\n * Calculate the number of decimal places a number uses\n * We need this to get correct results out of multipleOf and divisibleBy\n * when either figure is has decimal places, due to IEEE-754 float issues.\n * @param number\n * @returns {number}\n */\nexports.getDecimalPlaces = function getDecimalPlaces(number) {\n\n var decimalPlaces = 0;\n if (isNaN(number)) return decimalPlaces;\n\n if (typeof number !== 'number') {\n number = Number(number);\n }\n\n var parts = number.toString().split('e');\n if (parts.length === 2) {\n if (parts[1][0] !== '-') {\n return decimalPlaces;\n } else {\n decimalPlaces = Number(parts[1].slice(1));\n }\n }\n\n var decimalParts = parts[0].split('.');\n if (decimalParts.length === 2) {\n decimalPlaces += decimalParts[1].length;\n }\n\n return decimalPlaces;\n};\n\nexports.isSchema = function isSchema(val){\n return (typeof val === 'object' && val) || (typeof val === 'boolean');\n};\n\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","/** PURE_IMPORTS_START _scheduleObservable,_schedulePromise,_scheduleArray,_scheduleIterable,_util_isInteropObservable,_util_isPromise,_util_isArrayLike,_util_isIterable PURE_IMPORTS_END */\nimport { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n var observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next: function (value) { sub.add(scheduler.schedule(function () { return subscriber.next(value); })); },\n error: function (err) { sub.add(scheduler.schedule(function () { return subscriber.error(err); })); },\n complete: function () { sub.add(scheduler.schedule(function () { return subscriber.complete(); })); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n return input.then(function (value) {\n sub.add(scheduler.schedule(function () {\n subscriber.next(value);\n sub.add(scheduler.schedule(function () { return subscriber.complete(); }));\n }));\n }, function (err) {\n sub.add(scheduler.schedule(function () { return subscriber.error(err); }));\n });\n }));\n return sub;\n });\n}\n//# sourceMappingURL=schedulePromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var iterator;\n sub.add(function () {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(function () {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n var value;\n var done;\n try {\n var result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeTo,_scheduled_scheduled PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n//# sourceMappingURL=from.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(switchMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) { return source.lift(new SwitchMapOperator(project)); };\n}\nvar SwitchMapOperator = /*@__PURE__*/ (function () {\n function SwitchMapOperator(project) {\n this.project = project;\n }\n SwitchMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n };\n return SwitchMapOperator;\n}());\nvar SwitchMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SwitchMapSubscriber, _super);\n function SwitchMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.index = 0;\n return _this;\n }\n SwitchMapSubscriber.prototype._next = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result);\n };\n SwitchMapSubscriber.prototype._innerSub = function (result) {\n var innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = innerSubscribe(result, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n };\n SwitchMapSubscriber.prototype._complete = function () {\n var innerSubscription = this.innerSubscription;\n if (!innerSubscription || innerSubscription.closed) {\n _super.prototype._complete.call(this);\n }\n this.unsubscribe();\n };\n SwitchMapSubscriber.prototype._unsubscribe = function () {\n this.innerSubscription = undefined;\n };\n SwitchMapSubscriber.prototype.notifyComplete = function () {\n this.innerSubscription = undefined;\n if (this.isStopped) {\n _super.prototype._complete.call(this);\n }\n };\n SwitchMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n return SwitchMapSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=switchMap.js.map\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleArray.js.map\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","/** PURE_IMPORTS_START _subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */\nimport { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeTo = function (result) {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n var value = isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeToObservable = function (obj) {\n return function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n };\n};\n//# sourceMappingURL=subscribeToObservable.js.map\n","/** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */\nimport { hostReportError } from './hostReportError';\nexport var subscribeToPromise = function (promise) {\n return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, hostReportError);\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToPromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport var subscribeToIterable = function (iterable) {\n return function (subscriber) {\n var iterator = iterable[Symbol_iterator]();\n do {\n var item = void 0;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(function () {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToIterable.js.map\n","var Scheduler = /*@__PURE__*/ (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = function () { return Date.now(); };\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Scheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n var _this = _super.call(this, SchedulerAction, function () {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n }) || this;\n _this.actions = [];\n _this.active = false;\n _this.scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return _super.prototype.schedule.call(this, work, delay, state);\n }\n };\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Action PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Action } from './Action';\nvar AsyncAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START _util_isScheduler,_fromArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n//# sourceMappingURL=of.js.map\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(function (subscriber) { return subscriber.error(error); });\n }\n else {\n return new Observable(function (subscriber) { return scheduler.schedule(dispatch, 0, { error: error, subscriber: subscriber }); });\n }\n}\nfunction dispatch(_a) {\n var error = _a.error, subscriber = _a.subscriber;\n subscriber.error(error);\n}\n//# sourceMappingURL=throwError.js.map\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o) {\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = unsupportedIterableToArray(o))) {\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var it,\n normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export var KEY_PREFIX = 'persist:';\nexport var FLUSH = 'persist/FLUSH';\nexport var REHYDRATE = 'persist/REHYDRATE';\nexport var PAUSE = 'persist/PAUSE';\nexport var PERSIST = 'persist/PERSIST';\nexport var PURGE = 'persist/PURGE';\nexport var REGISTER = 'persist/REGISTER';\nexport var DEFAULT_VERSION = -1;","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/*\n autoMergeLevel1: \n - merges 1 level of substate\n - skips substate if already modified\n*/\nexport default function autoMergeLevel1(inboundState, originalState, reducedState, _ref) {\n var debug = _ref.debug;\n\n var newState = _objectSpread({}, reducedState); // only rehydrate if inboundState exists and is an object\n\n\n if (inboundState && _typeof(inboundState) === 'object') {\n Object.keys(inboundState).forEach(function (key) {\n // ignore _persist data\n if (key === '_persist') return; // if reducer modifies substate, skip auto rehydration\n\n if (originalState[key] !== reducedState[key]) {\n if (process.env.NODE_ENV !== 'production' && debug) console.log('redux-persist/stateReconciler: sub state for key `%s` modified, skipping.', key);\n return;\n } // otherwise hard set the new value\n\n\n newState[key] = inboundState[key];\n });\n }\n\n if (process.env.NODE_ENV !== 'production' && debug && inboundState && _typeof(inboundState) === 'object') console.log(\"redux-persist/stateReconciler: rehydrated keys '\".concat(Object.keys(inboundState).join(', '), \"'\"));\n return newState;\n}","import { KEY_PREFIX, REHYDRATE } from './constants';\n// @TODO remove once flow < 0.63 support is no longer required.\nexport default function createPersistoid(config) {\n // defaults\n var blacklist = config.blacklist || null;\n var whitelist = config.whitelist || null;\n var transforms = config.transforms || [];\n var throttle = config.throttle || 0;\n var storageKey = \"\".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);\n var storage = config.storage;\n var serialize;\n\n if (config.serialize === false) {\n serialize = function serialize(x) {\n return x;\n };\n } else if (typeof config.serialize === 'function') {\n serialize = config.serialize;\n } else {\n serialize = defaultSerialize;\n }\n\n var writeFailHandler = config.writeFailHandler || null; // initialize stateful values\n\n var lastState = {};\n var stagedState = {};\n var keysToProcess = [];\n var timeIterator = null;\n var writePromise = null;\n\n var update = function update(state) {\n // add any changed keys to the queue\n Object.keys(state).forEach(function (key) {\n if (!passWhitelistBlacklist(key)) return; // is keyspace ignored? noop\n\n if (lastState[key] === state[key]) return; // value unchanged? noop\n\n if (keysToProcess.indexOf(key) !== -1) return; // is key already queued? noop\n\n keysToProcess.push(key); // add key to queue\n }); //if any key is missing in the new state which was present in the lastState,\n //add it for processing too\n\n Object.keys(lastState).forEach(function (key) {\n if (state[key] === undefined && passWhitelistBlacklist(key) && keysToProcess.indexOf(key) === -1 && lastState[key] !== undefined) {\n keysToProcess.push(key);\n }\n }); // start the time iterator if not running (read: throttle)\n\n if (timeIterator === null) {\n timeIterator = setInterval(processNextKey, throttle);\n }\n\n lastState = state;\n };\n\n function processNextKey() {\n if (keysToProcess.length === 0) {\n if (timeIterator) clearInterval(timeIterator);\n timeIterator = null;\n return;\n }\n\n var key = keysToProcess.shift();\n var endState = transforms.reduce(function (subState, transformer) {\n return transformer.in(subState, key, lastState);\n }, lastState[key]);\n\n if (endState !== undefined) {\n try {\n stagedState[key] = serialize(endState);\n } catch (err) {\n console.error('redux-persist/createPersistoid: error serializing state', err);\n }\n } else {\n //if the endState is undefined, no need to persist the existing serialized content\n delete stagedState[key];\n }\n\n if (keysToProcess.length === 0) {\n writeStagedState();\n }\n }\n\n function writeStagedState() {\n // cleanup any removed keys just before write.\n Object.keys(stagedState).forEach(function (key) {\n if (lastState[key] === undefined) {\n delete stagedState[key];\n }\n });\n writePromise = storage.setItem(storageKey, serialize(stagedState)).catch(onWriteFail);\n }\n\n function passWhitelistBlacklist(key) {\n if (whitelist && whitelist.indexOf(key) === -1 && key !== '_persist') return false;\n if (blacklist && blacklist.indexOf(key) !== -1) return false;\n return true;\n }\n\n function onWriteFail(err) {\n // @TODO add fail handlers (typically storage full)\n if (writeFailHandler) writeFailHandler(err);\n\n if (err && process.env.NODE_ENV !== 'production') {\n console.error('Error storing data', err);\n }\n }\n\n var flush = function flush() {\n while (keysToProcess.length !== 0) {\n processNextKey();\n }\n\n return writePromise || Promise.resolve();\n }; // return `persistoid`\n\n\n return {\n update: update,\n flush: flush\n };\n} // @NOTE in the future this may be exposed via config\n\nfunction defaultSerialize(data) {\n return JSON.stringify(data);\n}","import { KEY_PREFIX } from './constants';\nexport default function getStoredState(config) {\n var transforms = config.transforms || [];\n var storageKey = \"\".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);\n var storage = config.storage;\n var debug = config.debug;\n var deserialize;\n\n if (config.deserialize === false) {\n deserialize = function deserialize(x) {\n return x;\n };\n } else if (typeof config.deserialize === 'function') {\n deserialize = config.deserialize;\n } else {\n deserialize = defaultDeserialize;\n }\n\n return storage.getItem(storageKey).then(function (serialized) {\n if (!serialized) return undefined;else {\n try {\n var state = {};\n var rawState = deserialize(serialized);\n Object.keys(rawState).forEach(function (key) {\n state[key] = transforms.reduceRight(function (subState, transformer) {\n return transformer.out(subState, key, rawState);\n }, deserialize(rawState[key]));\n });\n return state;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production' && debug) console.log(\"redux-persist/getStoredState: Error restoring data \".concat(serialized), err);\n throw err;\n }\n }\n });\n}\n\nfunction defaultDeserialize(serial) {\n return JSON.parse(serial);\n}","import { KEY_PREFIX } from './constants';\nexport default function purgeStoredState(config) {\n var storage = config.storage;\n var storageKey = \"\".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);\n return storage.removeItem(storageKey, warnIfRemoveError);\n}\n\nfunction warnIfRemoveError(err) {\n if (err && process.env.NODE_ENV !== 'production') {\n console.error('redux-persist/purgeStoredState: Error purging data stored state', err);\n }\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { FLUSH, PAUSE, PERSIST, PURGE, REHYDRATE, DEFAULT_VERSION } from './constants';\nimport autoMergeLevel1 from './stateReconciler/autoMergeLevel1';\nimport createPersistoid from './createPersistoid';\nimport defaultGetStoredState from './getStoredState';\nimport purgeStoredState from './purgeStoredState';\nvar DEFAULT_TIMEOUT = 5000;\n/*\n @TODO add validation / handling for:\n - persisting a reducer which has nested _persist\n - handling actions that fire before reydrate is called\n*/\n\nexport default function persistReducer(config, baseReducer) {\n if (process.env.NODE_ENV !== 'production') {\n if (!config) throw new Error('config is required for persistReducer');\n if (!config.key) throw new Error('key is required in persistor config');\n if (!config.storage) throw new Error(\"redux-persist: config.storage is required. Try using one of the provided storage engines `import storage from 'redux-persist/lib/storage'`\");\n }\n\n var version = config.version !== undefined ? config.version : DEFAULT_VERSION;\n var debug = config.debug || false;\n var stateReconciler = config.stateReconciler === undefined ? autoMergeLevel1 : config.stateReconciler;\n var getStoredState = config.getStoredState || defaultGetStoredState;\n var timeout = config.timeout !== undefined ? config.timeout : DEFAULT_TIMEOUT;\n var _persistoid = null;\n var _purge = false;\n var _paused = true;\n\n var conditionalUpdate = function conditionalUpdate(state) {\n // update the persistoid only if we are rehydrated and not paused\n state._persist.rehydrated && _persistoid && !_paused && _persistoid.update(state);\n return state;\n };\n\n return function (state, action) {\n var _ref = state || {},\n _persist = _ref._persist,\n rest = _objectWithoutProperties(_ref, [\"_persist\"]); // $FlowIgnore need to update State type\n\n\n var restState = rest;\n\n if (action.type === PERSIST) {\n var _sealed = false;\n\n var _rehydrate = function _rehydrate(payload, err) {\n // dev warning if we are already sealed\n if (process.env.NODE_ENV !== 'production' && _sealed) console.error(\"redux-persist: rehydrate for \\\"\".concat(config.key, \"\\\" called after timeout.\"), payload, err); // only rehydrate if we are not already sealed\n\n if (!_sealed) {\n action.rehydrate(config.key, payload, err);\n _sealed = true;\n }\n };\n\n timeout && setTimeout(function () {\n !_sealed && _rehydrate(undefined, new Error(\"redux-persist: persist timed out for persist key \\\"\".concat(config.key, \"\\\"\")));\n }, timeout); // @NOTE PERSIST resumes if paused.\n\n _paused = false; // @NOTE only ever create persistoid once, ensure we call it at least once, even if _persist has already been set\n\n if (!_persistoid) _persistoid = createPersistoid(config); // @NOTE PERSIST can be called multiple times, noop after the first\n\n if (_persist) {\n // We still need to call the base reducer because there might be nested\n // uses of persistReducer which need to be aware of the PERSIST action\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: _persist\n });\n }\n\n if (typeof action.rehydrate !== 'function' || typeof action.register !== 'function') throw new Error('redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.');\n action.register(config.key);\n getStoredState(config).then(function (restoredState) {\n var migrate = config.migrate || function (s, v) {\n return Promise.resolve(s);\n };\n\n migrate(restoredState, version).then(function (migratedState) {\n _rehydrate(migratedState);\n }, function (migrateErr) {\n if (process.env.NODE_ENV !== 'production' && migrateErr) console.error('redux-persist: migration error', migrateErr);\n\n _rehydrate(undefined, migrateErr);\n });\n }, function (err) {\n _rehydrate(undefined, err);\n });\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: {\n version: version,\n rehydrated: false\n }\n });\n } else if (action.type === PURGE) {\n _purge = true;\n action.result(purgeStoredState(config));\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: _persist\n });\n } else if (action.type === FLUSH) {\n action.result(_persistoid && _persistoid.flush());\n return _objectSpread({}, baseReducer(restState, action), {\n _persist: _persist\n });\n } else if (action.type === PAUSE) {\n _paused = true;\n } else if (action.type === REHYDRATE) {\n // noop on restState if purging\n if (_purge) return _objectSpread({}, restState, {\n _persist: _objectSpread({}, _persist, {\n rehydrated: true\n }) // @NOTE if key does not match, will continue to default else below\n\n });\n\n if (action.key === config.key) {\n var reducedState = baseReducer(restState, action);\n var inboundState = action.payload; // only reconcile state if stateReconciler and inboundState are both defined\n\n var reconciledRest = stateReconciler !== false && inboundState !== undefined ? stateReconciler(inboundState, state, reducedState, config) : reducedState;\n\n var _newState = _objectSpread({}, reconciledRest, {\n _persist: _objectSpread({}, _persist, {\n rehydrated: true\n })\n });\n\n return conditionalUpdate(_newState);\n }\n } // if we have not already handled PERSIST, straight passthrough\n\n\n if (!_persist) return baseReducer(state, action); // run base reducer:\n // is state modified ? return original : return updated\n\n var newState = baseReducer(restState, action);\n if (newState === restState) return state;\n return conditionalUpdate(_objectSpread({}, newState, {\n _persist: _persist\n }));\n };\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { createStore } from 'redux';\nimport { FLUSH, PAUSE, PERSIST, PURGE, REGISTER, REHYDRATE } from './constants';\nvar initialState = {\n registry: [],\n bootstrapped: false\n};\n\nvar persistorReducer = function persistorReducer() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case REGISTER:\n return _objectSpread({}, state, {\n registry: [].concat(_toConsumableArray(state.registry), [action.key])\n });\n\n case REHYDRATE:\n var firstIndex = state.registry.indexOf(action.key);\n\n var registry = _toConsumableArray(state.registry);\n\n registry.splice(firstIndex, 1);\n return _objectSpread({}, state, {\n registry: registry,\n bootstrapped: registry.length === 0\n });\n\n default:\n return state;\n }\n};\n\nexport default function persistStore(store, options, cb) {\n // help catch incorrect usage of passing PersistConfig in as PersistorOptions\n if (process.env.NODE_ENV !== 'production') {\n var optionsToTest = options || {};\n var bannedKeys = ['blacklist', 'whitelist', 'transforms', 'storage', 'keyPrefix', 'migrate'];\n bannedKeys.forEach(function (k) {\n if (!!optionsToTest[k]) console.error(\"redux-persist: invalid option passed to persistStore: \\\"\".concat(k, \"\\\". You may be incorrectly passing persistConfig into persistStore, whereas it should be passed into persistReducer.\"));\n });\n }\n\n var boostrappedCb = cb || false;\n\n var _pStore = createStore(persistorReducer, initialState, options && options.enhancer ? options.enhancer : undefined);\n\n var register = function register(key) {\n _pStore.dispatch({\n type: REGISTER,\n key: key\n });\n };\n\n var rehydrate = function rehydrate(key, payload, err) {\n var rehydrateAction = {\n type: REHYDRATE,\n payload: payload,\n err: err,\n key: key // dispatch to `store` to rehydrate and `persistor` to track result\n\n };\n store.dispatch(rehydrateAction);\n\n _pStore.dispatch(rehydrateAction);\n\n if (boostrappedCb && persistor.getState().bootstrapped) {\n boostrappedCb();\n boostrappedCb = false;\n }\n };\n\n var persistor = _objectSpread({}, _pStore, {\n purge: function purge() {\n var results = [];\n store.dispatch({\n type: PURGE,\n result: function result(purgeResult) {\n results.push(purgeResult);\n }\n });\n return Promise.all(results);\n },\n flush: function flush() {\n var results = [];\n store.dispatch({\n type: FLUSH,\n result: function result(flushResult) {\n results.push(flushResult);\n }\n });\n return Promise.all(results);\n },\n pause: function pause() {\n store.dispatch({\n type: PAUSE\n });\n },\n persist: function persist() {\n store.dispatch({\n type: PERSIST,\n register: register,\n rehydrate: rehydrate\n });\n }\n });\n\n if (!(options && options.manualPersist)) {\n persistor.persist();\n }\n\n return persistor;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import setPrototypeOf from \"./setPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nimport setPrototypeOf from \"./setPrototypeOf\";\nimport isNativeFunction from \"./isNativeFunction\";\nimport construct from \"./construct\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n var operator = new CatchOperator(selector);\n var caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nvar CatchOperator = /*@__PURE__*/ (function () {\n function CatchOperator(selector) {\n this.selector = selector;\n }\n CatchOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n };\n return CatchOperator;\n}());\nvar CatchSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CatchSubscriber, _super);\n function CatchSubscriber(destination, selector, caught) {\n var _this = _super.call(this, destination) || this;\n _this.selector = selector;\n _this.caught = caught;\n return _this;\n }\n CatchSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var result = void 0;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n _super.prototype.error.call(this, err2);\n return;\n }\n this._unsubscribeAndRecycle();\n var innerSubscriber = new SimpleInnerSubscriber(this);\n this.add(innerSubscriber);\n var innerSubscription = innerSubscribe(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n };\n return CatchSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=catchError.js.map\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","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\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","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(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 isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toYears = exports.toMonths = exports.toWeeks = exports.toDays = exports.toHours = exports.toMinutes = exports.toSeconds = exports.toUnit = exports.toMilliseconds = void 0;\nvar parse_1 = require(\"./parse\");\nvar units_1 = require(\"./lib/units\");\n/**\n * Convert the input value to milliseconds represented by a duration object.\n * If a number is passed this is returned verbatim as the number\n * of milliseconds.\n *\n * @example toMilliseconds({ days: 1 }) // 86400000\n */\nvar toMilliseconds = function (duration) {\n var parsed = parse_1.parse(duration);\n return units_1.UNITS_META.reduce(function (total, _a) {\n var unit = _a.unit, milliseconds = _a.milliseconds;\n return total + (parsed[unit] * milliseconds);\n }, 0);\n};\nexports.toMilliseconds = toMilliseconds;\n/**\n * Convert the input value to the specificed unit.\n * @example toUnit({ minutes: 2 }, 'seconds') // 120\n */\nvar toUnit = function (duration, unit) {\n return exports.toMilliseconds(duration) / units_1.UNITS_META_MAP[unit].milliseconds;\n};\nexports.toUnit = toUnit;\nvar createDurationConverter = function (unit) {\n return function (duration) { return exports.toUnit(duration, unit); };\n};\n/**\n * Convert the input value to seconds.\n * @example toSeconds({ minutes: 2 }) // 120\n */\nexports.toSeconds = createDurationConverter('seconds');\n/**\n * Convert the input value to minutes.\n * @example toMinutes({ hours: 1, minutes: 10 }) // 70\n */\nexports.toMinutes = createDurationConverter('minutes');\n/**\n * Convert the input value to hours.\n * @example toHours({ days: 1 }) // 24\n */\nexports.toHours = createDurationConverter('hours');\n/**\n * Convert the input value to days.\n * @example toDays({ hours: 12 }) // 0.5\n */\nexports.toDays = createDurationConverter('days');\n/**\n * Convert the input value to weeks.\n * @example toWeeks({ days: 14 }) // 2\n */\nexports.toWeeks = createDurationConverter('weeks');\n/**\n * Convert the input value to months.\n * Note, this is a rough approximation as the length of a month is variable.\n *\n * @example toMonths({ months: 10, days: 365 }) // 11\n */\nexports.toMonths = createDurationConverter('months');\n/**\n * Convert the input value to years.\n * Note, this is a rough approximation as the length of a year is variable.\n *\n * @example toYears({ years: 10, days: 365 }) // 11\n */\nexports.toYears = createDurationConverter('years');\n//# sourceMappingURL=toUnit.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.negate = void 0;\nvar units_1 = require(\"./lib/units\");\nvar parse_1 = require(\"./parse\");\n/**\n * Gets the negative of the input duration.\n *\n * @example\n * negate({ days: -1 }) // { days: 1 }\n * negate({ days: -1, hours 2 }) // { days: 1, hours: -2 }\n */\nvar negate = function (duration) {\n var output = __assign({}, parse_1.parse(duration));\n units_1.UNITS.forEach(function (unit) {\n output[unit] = output[unit] === 0\n ? 0\n : -output[unit];\n });\n return output;\n};\nexports.negate = negate;\n//# sourceMappingURL=negate.js.map","var obj;\nvar NOTHING = typeof Symbol !== \"undefined\" ? Symbol(\"immer-nothing\") : ( obj = {}, obj[\"immer-nothing\"] = true, obj );\nvar DRAFTABLE = typeof Symbol !== \"undefined\" && Symbol.for ? Symbol.for(\"immer-draftable\") : \"__$immer_draftable\";\nvar DRAFT_STATE = typeof Symbol !== \"undefined\" && Symbol.for ? Symbol.for(\"immer-state\") : \"__$immer_state\";\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value) { return false; }\n return isPlainObject(value) || !!value[DRAFTABLE] || !!value.constructor[DRAFTABLE];\n}\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\") { return false; }\n if (Array.isArray(value)) { return true; }\n var proto = Object.getPrototypeOf(value);\n return !proto || proto === Object.prototype;\n}\nfunction original(value) {\n if (value && value[DRAFT_STATE]) {\n return value[DRAFT_STATE].base;\n } // otherwise return undefined\n\n}\nvar assign = Object.assign || function assign(target, value) {\n for (var key in value) {\n if (has(value, key)) {\n target[key] = value[key];\n }\n }\n\n return target;\n};\nvar ownKeys = typeof Reflect !== \"undefined\" && Reflect.ownKeys ? Reflect.ownKeys : typeof Object.getOwnPropertySymbols !== \"undefined\" ? function (obj) { return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj)); } : Object.getOwnPropertyNames;\nfunction shallowCopy(base, invokeGetters) {\n if ( invokeGetters === void 0 ) invokeGetters = false;\n\n if (Array.isArray(base)) { return base.slice(); }\n var clone = Object.create(Object.getPrototypeOf(base));\n ownKeys(base).forEach(function (key) {\n if (key === DRAFT_STATE) {\n return; // Never copy over draft state.\n }\n\n var desc = Object.getOwnPropertyDescriptor(base, key);\n var value = desc.value;\n\n if (desc.get) {\n if (!invokeGetters) {\n throw new Error(\"Immer drafts cannot have computed properties\");\n }\n\n value = desc.get.call(base);\n }\n\n if (desc.enumerable) {\n clone[key] = value;\n } else {\n Object.defineProperty(clone, key, {\n value: value,\n writable: true,\n configurable: true\n });\n }\n });\n return clone;\n}\nfunction each(value, cb) {\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) { cb(i, value[i], value); }\n } else {\n ownKeys(value).forEach(function (key) { return cb(key, value[key], value); });\n }\n}\nfunction isEnumerable(base, prop) {\n var desc = Object.getOwnPropertyDescriptor(base, prop);\n return !!desc && desc.enumerable;\n}\nfunction has(thing, prop) {\n return Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction is(x, y) {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction clone(obj) {\n if (!isDraftable(obj)) { return obj; }\n if (Array.isArray(obj)) { return obj.map(clone); }\n var cloned = Object.create(Object.getPrototypeOf(obj));\n\n for (var key in obj) { cloned[key] = clone(obj[key]); }\n\n return cloned;\n}\nfunction deepFreeze(obj) {\n if (!isDraftable(obj) || isDraft(obj) || Object.isFrozen(obj)) { return; }\n Object.freeze(obj);\n if (Array.isArray(obj)) { obj.forEach(deepFreeze); }else { for (var key in obj) { deepFreeze(obj[key]); } }\n}\n\n/** Each scope represents a `produce` call. */\n\nvar ImmerScope = function ImmerScope(parent) {\n this.drafts = [];\n this.parent = parent; // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n\n this.canAutoFreeze = true; // To avoid prototype lookups:\n\n this.patches = null;\n};\n\nImmerScope.prototype.usePatches = function usePatches (patchListener) {\n if (patchListener) {\n this.patches = [];\n this.inversePatches = [];\n this.patchListener = patchListener;\n }\n};\n\nImmerScope.prototype.revoke = function revoke$1 () {\n this.leave();\n this.drafts.forEach(revoke);\n this.drafts = null; // Make draft-related methods throw.\n};\n\nImmerScope.prototype.leave = function leave () {\n if (this === ImmerScope.current) {\n ImmerScope.current = this.parent;\n }\n};\nImmerScope.current = null;\n\nImmerScope.enter = function () {\n return this.current = new ImmerScope(this.current);\n};\n\nfunction revoke(draft) {\n draft[DRAFT_STATE].revoke();\n}\n\n// but share them all instead\n\nvar descriptors = {};\nfunction willFinalize(scope, result, isReplaced) {\n scope.drafts.forEach(function (draft) {\n draft[DRAFT_STATE].finalizing = true;\n });\n\n if (!isReplaced) {\n if (scope.patches) {\n markChangesRecursively(scope.drafts[0]);\n } // This is faster when we don't care about which attributes changed.\n\n\n markChangesSweep(scope.drafts);\n } // When a child draft is returned, look for changes.\n else if (isDraft(result) && result[DRAFT_STATE].scope === scope) {\n markChangesSweep(scope.drafts);\n }\n}\nfunction createProxy(base, parent) {\n var isArray = Array.isArray(base);\n var draft = clonePotentialDraft(base);\n each(draft, function (prop) {\n proxyProperty(draft, prop, isArray || isEnumerable(base, prop));\n }); // See \"proxy.js\" for property documentation.\n\n var scope = parent ? parent.scope : ImmerScope.current;\n var state = {\n scope: scope,\n modified: false,\n finalizing: false,\n // es5 only\n finalized: false,\n assigned: {},\n parent: parent,\n base: base,\n draft: draft,\n copy: null,\n revoke: revoke$1,\n revoked: false // es5 only\n\n };\n createHiddenProperty(draft, DRAFT_STATE, state);\n scope.drafts.push(draft);\n return draft;\n}\n\nfunction revoke$1() {\n this.revoked = true;\n}\n\nfunction source(state) {\n return state.copy || state.base;\n} // Access a property without creating an Immer draft.\n\n\nfunction peek(draft, prop) {\n var state = draft[DRAFT_STATE];\n\n if (state && !state.finalizing) {\n state.finalizing = true;\n var value = draft[prop];\n state.finalizing = false;\n return value;\n }\n\n return draft[prop];\n}\n\nfunction get(state, prop) {\n assertUnrevoked(state);\n var value = peek(source(state), prop);\n if (state.finalizing) { return value; } // Create a draft if the value is unmodified.\n\n if (value === peek(state.base, prop) && isDraftable(value)) {\n prepareCopy(state);\n return state.copy[prop] = createProxy(value, state);\n }\n\n return value;\n}\n\nfunction set(state, prop, value) {\n assertUnrevoked(state);\n state.assigned[prop] = true;\n\n if (!state.modified) {\n if (is(value, peek(source(state), prop))) { return; }\n markChanged(state);\n prepareCopy(state);\n }\n\n state.copy[prop] = value;\n}\n\nfunction markChanged(state) {\n if (!state.modified) {\n state.modified = true;\n if (state.parent) { markChanged(state.parent); }\n }\n}\n\nfunction prepareCopy(state) {\n if (!state.copy) { state.copy = clonePotentialDraft(state.base); }\n}\n\nfunction clonePotentialDraft(base) {\n var state = base && base[DRAFT_STATE];\n\n if (state) {\n state.finalizing = true;\n var draft = shallowCopy(state.draft, true);\n state.finalizing = false;\n return draft;\n }\n\n return shallowCopy(base);\n}\n\nfunction proxyProperty(draft, prop, enumerable) {\n var desc = descriptors[prop];\n\n if (desc) {\n desc.enumerable = enumerable;\n } else {\n descriptors[prop] = desc = {\n configurable: true,\n enumerable: enumerable,\n\n get: function get$1() {\n return get(this[DRAFT_STATE], prop);\n },\n\n set: function set$1(value) {\n set(this[DRAFT_STATE], prop, value);\n }\n\n };\n }\n\n Object.defineProperty(draft, prop, desc);\n}\n\nfunction assertUnrevoked(state) {\n if (state.revoked === true) { throw new Error(\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + JSON.stringify(source(state))); }\n} // This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\n\n\nfunction markChangesSweep(drafts) {\n // The natural order of drafts in the `scope` array is based on when they\n // were accessed. By processing drafts in reverse natural order, we have a\n // better chance of processing leaf nodes first. When a leaf node is known to\n // have changed, we can avoid any traversal of its ancestor nodes.\n for (var i = drafts.length - 1; i >= 0; i--) {\n var state = drafts[i][DRAFT_STATE];\n\n if (!state.modified) {\n if (Array.isArray(state.base)) {\n if (hasArrayChanges(state)) { markChanged(state); }\n } else if (hasObjectChanges(state)) { markChanged(state); }\n }\n }\n}\n\nfunction markChangesRecursively(object) {\n if (!object || typeof object !== \"object\") { return; }\n var state = object[DRAFT_STATE];\n if (!state) { return; }\n var base = state.base;\n var draft = state.draft;\n var assigned = state.assigned;\n\n if (!Array.isArray(object)) {\n // Look for added keys.\n Object.keys(draft).forEach(function (key) {\n // The `undefined` check is a fast path for pre-existing keys.\n if (base[key] === undefined && !has(base, key)) {\n assigned[key] = true;\n markChanged(state);\n } else if (!assigned[key]) {\n // Only untouched properties trigger recursion.\n markChangesRecursively(draft[key]);\n }\n }); // Look for removed keys.\n\n Object.keys(base).forEach(function (key) {\n // The `undefined` check is a fast path for pre-existing keys.\n if (draft[key] === undefined && !has(draft, key)) {\n assigned[key] = false;\n markChanged(state);\n }\n });\n } else if (hasArrayChanges(state)) {\n markChanged(state);\n assigned.length = true;\n\n if (draft.length < base.length) {\n for (var i = draft.length; i < base.length; i++) { assigned[i] = false; }\n } else {\n for (var i$1 = base.length; i$1 < draft.length; i$1++) { assigned[i$1] = true; }\n }\n\n for (var i$2 = 0; i$2 < draft.length; i$2++) {\n // Only untouched indices trigger recursion.\n if (assigned[i$2] === undefined) { markChangesRecursively(draft[i$2]); }\n }\n }\n}\n\nfunction hasObjectChanges(state) {\n var base = state.base;\n var draft = state.draft; // Search for added keys and changed keys. Start at the back, because\n // non-numeric keys are ordered by time of definition on the object.\n\n var keys = Object.keys(draft);\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var baseValue = base[key]; // The `undefined` check is a fast path for pre-existing keys.\n\n if (baseValue === undefined && !has(base, key)) {\n return true;\n } // Once a base key is deleted, future changes go undetected, because its\n // descriptor is erased. This branch detects any missed changes.\n else {\n var value = draft[key];\n var state$1 = value && value[DRAFT_STATE];\n\n if (state$1 ? state$1.base !== baseValue : !is(value, baseValue)) {\n return true;\n }\n }\n } // At this point, no keys were added or changed.\n // Compare key count to determine if keys were deleted.\n\n\n return keys.length !== Object.keys(base).length;\n}\n\nfunction hasArrayChanges(state) {\n var draft = state.draft;\n if (draft.length !== state.base.length) { return true; } // See #116\n // If we first shorten the length, our array interceptors will be removed.\n // If after that new items are added, result in the same original length,\n // those last items will have no intercepting property.\n // So if there is no own descriptor on the last position, we know that items were removed and added\n // N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n // the last one\n\n var descriptor = Object.getOwnPropertyDescriptor(draft, draft.length - 1); // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n\n if (descriptor && !descriptor.get) { return true; } // For all other cases, we don't have to compare, as they would have been picked up by the index setters\n\n return false;\n}\n\nfunction createHiddenProperty(target, prop, value) {\n Object.defineProperty(target, prop, {\n value: value,\n enumerable: false,\n writable: true\n });\n}\n\nvar legacyProxy = /*#__PURE__*/Object.freeze({\n\twillFinalize: willFinalize,\n\tcreateProxy: createProxy\n});\n\nfunction willFinalize$1() {}\nfunction createProxy$1(base, parent) {\n var scope = parent ? parent.scope : ImmerScope.current;\n var state = {\n // Track which produce call this is associated with.\n scope: scope,\n // True for both shallow and deep changes.\n modified: false,\n // Used during finalization.\n finalized: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned: {},\n // The parent draft state.\n parent: parent,\n // The base state.\n base: base,\n // The base proxy.\n draft: null,\n // Any property proxies.\n drafts: {},\n // The base copy with any updated values.\n copy: null,\n // Called by the `produce` function.\n revoke: null\n };\n var ref = Array.isArray(base) ? // [state] is used for arrays, to make sure the proxy is array-ish and not violate invariants,\n // although state itself is an object\n Proxy.revocable([state], arrayTraps) : Proxy.revocable(state, objectTraps);\n var revoke = ref.revoke;\n var proxy = ref.proxy;\n state.draft = proxy;\n state.revoke = revoke;\n scope.drafts.push(proxy);\n return proxy;\n}\nvar objectTraps = {\n get: get$1,\n\n has: function has(target, prop) {\n return prop in source$1(target);\n },\n\n ownKeys: function ownKeys(target) {\n return Reflect.ownKeys(source$1(target));\n },\n\n set: set$1,\n deleteProperty: deleteProperty,\n getOwnPropertyDescriptor: getOwnPropertyDescriptor,\n\n defineProperty: function defineProperty() {\n throw new Error(\"Object.defineProperty() cannot be used on an Immer draft\"); // prettier-ignore\n },\n\n getPrototypeOf: function getPrototypeOf(target) {\n return Object.getPrototypeOf(target.base);\n },\n\n setPrototypeOf: function setPrototypeOf() {\n throw new Error(\"Object.setPrototypeOf() cannot be used on an Immer draft\"); // prettier-ignore\n }\n\n};\nvar arrayTraps = {};\neach(objectTraps, function (key, fn) {\n arrayTraps[key] = function () {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\n\narrayTraps.deleteProperty = function (state, prop) {\n if (isNaN(parseInt(prop))) {\n throw new Error(\"Immer only supports deleting array indices\"); // prettier-ignore\n }\n\n return objectTraps.deleteProperty.call(this, state[0], prop);\n};\n\narrayTraps.set = function (state, prop, value) {\n if (prop !== \"length\" && isNaN(parseInt(prop))) {\n throw new Error(\"Immer only supports setting array indices and the 'length' property\"); // prettier-ignore\n }\n\n return objectTraps.set.call(this, state[0], prop, value);\n}; // returns the object we should be reading the current value from, which is base, until some change has been made\n\n\nfunction source$1(state) {\n return state.copy || state.base;\n} // Access a property without creating an Immer draft.\n\n\nfunction peek$1(draft, prop) {\n var state = draft[DRAFT_STATE];\n var desc = Reflect.getOwnPropertyDescriptor(state ? source$1(state) : draft, prop);\n return desc && desc.value;\n}\n\nfunction get$1(state, prop) {\n if (prop === DRAFT_STATE) { return state; }\n var drafts = state.drafts; // Check for existing draft in unmodified state.\n\n if (!state.modified && has(drafts, prop)) {\n return drafts[prop];\n }\n\n var value = source$1(state)[prop];\n\n if (state.finalized || !isDraftable(value)) {\n return value;\n } // Check for existing draft in modified state.\n\n\n if (state.modified) {\n // Assigned values are never drafted. This catches any drafts we created, too.\n if (value !== peek$1(state.base, prop)) { return value; } // Store drafts on the copy (when one exists).\n\n drafts = state.copy;\n }\n\n return drafts[prop] = createProxy$1(value, state);\n}\n\nfunction set$1(state, prop, value) {\n if (!state.modified) {\n var baseValue = peek$1(state.base, prop); // Optimize based on value's truthiness. Truthy values are guaranteed to\n // never be undefined, so we can avoid the `in` operator. Lastly, truthy\n // values may be drafts, but falsy values are never drafts.\n\n var isUnchanged = value ? is(baseValue, value) || value === state.drafts[prop] : is(baseValue, value) && prop in state.base;\n if (isUnchanged) { return true; }\n markChanged$1(state);\n }\n\n state.assigned[prop] = true;\n state.copy[prop] = value;\n return true;\n}\n\nfunction deleteProperty(state, prop) {\n // The `undefined` check is a fast path for pre-existing keys.\n if (peek$1(state.base, prop) !== undefined || prop in state.base) {\n state.assigned[prop] = false;\n markChanged$1(state);\n } else if (state.assigned[prop]) {\n // if an originally not assigned property was deleted\n delete state.assigned[prop];\n }\n\n if (state.copy) { delete state.copy[prop]; }\n return true;\n} // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n// the same guarantee in ES5 mode.\n\n\nfunction getOwnPropertyDescriptor(state, prop) {\n var owner = source$1(state);\n var desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n\n if (desc) {\n desc.writable = true;\n desc.configurable = !Array.isArray(owner) || prop !== \"length\";\n }\n\n return desc;\n}\n\nfunction markChanged$1(state) {\n if (!state.modified) {\n state.modified = true;\n state.copy = assign(shallowCopy(state.base), state.drafts);\n state.drafts = null;\n if (state.parent) { markChanged$1(state.parent); }\n }\n}\n\nvar modernProxy = /*#__PURE__*/Object.freeze({\n\twillFinalize: willFinalize$1,\n\tcreateProxy: createProxy$1\n});\n\nfunction generatePatches(state, basePath, patches, inversePatches) {\n Array.isArray(state.base) ? generateArrayPatches(state, basePath, patches, inversePatches) : generateObjectPatches(state, basePath, patches, inversePatches);\n}\n\nfunction generateArrayPatches(state, basePath, patches, inversePatches) {\n var assign, assign$1;\n\n var base = state.base;\n var copy = state.copy;\n var assigned = state.assigned; // Reduce complexity by ensuring `base` is never longer.\n\n if (copy.length < base.length) {\n (assign = [copy, base], base = assign[0], copy = assign[1]);\n (assign$1 = [inversePatches, patches], patches = assign$1[0], inversePatches = assign$1[1]);\n }\n\n var delta = copy.length - base.length; // Find the first replaced index.\n\n var start = 0;\n\n while (base[start] === copy[start] && start < base.length) {\n ++start;\n } // Find the last replaced index. Search from the end to optimize splice patches.\n\n\n var end = base.length;\n\n while (end > start && base[end - 1] === copy[end + delta - 1]) {\n --end;\n } // Process replaced indices.\n\n\n for (var i = start; i < end; ++i) {\n if (assigned[i] && copy[i] !== base[i]) {\n var path = basePath.concat([i]);\n patches.push({\n op: \"replace\",\n path: path,\n value: copy[i]\n });\n inversePatches.push({\n op: \"replace\",\n path: path,\n value: base[i]\n });\n }\n }\n\n var replaceCount = patches.length; // Process added indices.\n\n for (var i$1 = end + delta - 1; i$1 >= end; --i$1) {\n var path$1 = basePath.concat([i$1]);\n patches[replaceCount + i$1 - end] = {\n op: \"add\",\n path: path$1,\n value: copy[i$1]\n };\n inversePatches.push({\n op: \"remove\",\n path: path$1\n });\n }\n}\n\nfunction generateObjectPatches(state, basePath, patches, inversePatches) {\n var base = state.base;\n var copy = state.copy;\n each(state.assigned, function (key, assignedValue) {\n var origValue = base[key];\n var value = copy[key];\n var op = !assignedValue ? \"remove\" : key in base ? \"replace\" : \"add\";\n if (origValue === value && op === \"replace\") { return; }\n var path = basePath.concat(key);\n patches.push(op === \"remove\" ? {\n op: op,\n path: path\n } : {\n op: op,\n path: path,\n value: value\n });\n inversePatches.push(op === \"add\" ? {\n op: \"remove\",\n path: path\n } : op === \"remove\" ? {\n op: \"add\",\n path: path,\n value: origValue\n } : {\n op: \"replace\",\n path: path,\n value: origValue\n });\n });\n}\n\nvar applyPatches = function (draft, patches) {\n for (var i$1 = 0, list = patches; i$1 < list.length; i$1 += 1) {\n var patch = list[i$1];\n\n var path = patch.path;\n var op = patch.op;\n var value = clone(patch.value); // used to clone patch to ensure original patch is not modified, see #411\n\n if (!path.length) { throw new Error(\"Illegal state\"); }\n var base = draft;\n\n for (var i = 0; i < path.length - 1; i++) {\n base = base[path[i]];\n if (!base || typeof base !== \"object\") { throw new Error(\"Cannot apply patch, path doesn't resolve: \" + path.join(\"/\")); } // prettier-ignore\n }\n\n var key = path[path.length - 1];\n\n switch (op) {\n case \"replace\":\n // if value is an object, then it's assigned by reference\n // in the following add or remove ops, the value field inside the patch will also be modifyed\n // so we use value from the cloned patch\n base[key] = value;\n break;\n\n case \"add\":\n if (Array.isArray(base)) {\n // TODO: support \"foo/-\" paths for appending to an array\n base.splice(key, 0, value);\n } else {\n base[key] = value;\n }\n\n break;\n\n case \"remove\":\n if (Array.isArray(base)) {\n base.splice(key, 1);\n } else {\n delete base[key];\n }\n\n break;\n\n default:\n throw new Error(\"Unsupported patch operation: \" + op);\n }\n }\n\n return draft;\n};\n\nfunction verifyMinified() {}\n\nvar configDefaults = {\n useProxies: typeof Proxy !== \"undefined\" && typeof Proxy.revocable !== \"undefined\" && typeof Reflect !== \"undefined\",\n autoFreeze: typeof process !== \"undefined\" ? process.env.NODE_ENV !== \"production\" : verifyMinified.name === \"verifyMinified\",\n onAssign: null,\n onDelete: null,\n onCopy: null\n};\nvar Immer = function Immer(config) {\n assign(this, configDefaults, config);\n this.setUseProxies(this.useProxies);\n this.produce = this.produce.bind(this);\n};\n\nImmer.prototype.produce = function produce (base, recipe, patchListener) {\n var this$1 = this;\n\n // curried invocation\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n var defaultBase = recipe;\n recipe = base;\n var self = this;\n return function curriedProduce(base) {\n var this$1 = this;\n if ( base === void 0 ) base = defaultBase;\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n return self.produce(base, function (draft) { return recipe.call.apply(recipe, [ this$1, draft ].concat( args )); }); // prettier-ignore\n };\n } // prettier-ignore\n\n\n {\n if (typeof recipe !== \"function\") {\n throw new Error(\"The first or second argument to `produce` must be a function\");\n }\n\n if (patchListener !== undefined && typeof patchListener !== \"function\") {\n throw new Error(\"The third argument to `produce` must be a function or undefined\");\n }\n }\n var result; // Only plain objects, arrays, and \"immerable classes\" are drafted.\n\n if (isDraftable(base)) {\n var scope = ImmerScope.enter();\n var proxy = this.createProxy(base);\n var hasError = true;\n\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n // finally instead of catch + rethrow better preserves original stack\n if (hasError) { scope.revoke(); }else { scope.leave(); }\n }\n\n if (result instanceof Promise) {\n return result.then(function (result) {\n scope.usePatches(patchListener);\n return this$1.processResult(result, scope);\n }, function (error) {\n scope.revoke();\n throw error;\n });\n }\n\n scope.usePatches(patchListener);\n return this.processResult(result, scope);\n } else {\n result = recipe(base);\n if (result === NOTHING) { return undefined; }\n if (result === undefined) { result = base; }\n this.maybeFreeze(result, true);\n return result;\n }\n};\n\nImmer.prototype.produceWithPatches = function produceWithPatches (arg1, arg2, arg3) {\n var this$1 = this;\n\n if (typeof arg1 === \"function\") {\n return function (state) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n return this$1.produceWithPatches(state, function (draft) { return arg1.apply(void 0, [ draft ].concat( args )); });\n };\n } // non-curried form\n\n\n if (arg3) { throw new Error(\"A patch listener cannot be passed to produceWithPatches\"); }\n var patches, inversePatches;\n var nextState = this.produce(arg1, arg2, function (p, ip) {\n patches = p;\n inversePatches = ip;\n });\n return [nextState, patches, inversePatches];\n};\n\nImmer.prototype.createDraft = function createDraft (base) {\n if (!isDraftable(base)) {\n throw new Error(\"First argument to `createDraft` must be a plain object, an array, or an immerable object\"); // prettier-ignore\n }\n\n var scope = ImmerScope.enter();\n var proxy = this.createProxy(base);\n proxy[DRAFT_STATE].isManual = true;\n scope.leave();\n return proxy;\n};\n\nImmer.prototype.finishDraft = function finishDraft (draft, patchListener) {\n var state = draft && draft[DRAFT_STATE];\n\n if (!state || !state.isManual) {\n throw new Error(\"First argument to `finishDraft` must be a draft returned by `createDraft`\"); // prettier-ignore\n }\n\n if (state.finalized) {\n throw new Error(\"The given draft is already finalized\"); // prettier-ignore\n }\n\n var scope = state.scope;\n scope.usePatches(patchListener);\n return this.processResult(undefined, scope);\n};\n\nImmer.prototype.setAutoFreeze = function setAutoFreeze (value) {\n this.autoFreeze = value;\n};\n\nImmer.prototype.setUseProxies = function setUseProxies (value) {\n this.useProxies = value;\n assign(this, value ? modernProxy : legacyProxy);\n};\n\nImmer.prototype.applyPatches = function applyPatches$1 (base, patches) {\n // If a patch replaces the entire state, take that replacement as base\n // before applying patches\n var i;\n\n for (i = patches.length - 1; i >= 0; i--) {\n var patch = patches[i];\n\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n\n if (isDraft(base)) {\n // N.B: never hits if some patch a replacement, patches are never drafts\n return applyPatches(base, patches);\n } // Otherwise, produce a copy of the base state.\n\n\n return this.produce(base, function (draft) { return applyPatches(draft, patches.slice(i + 1)); });\n};\n/** @internal */\n\n\nImmer.prototype.processResult = function processResult (result, scope) {\n var baseDraft = scope.drafts[0];\n var isReplaced = result !== undefined && result !== baseDraft;\n this.willFinalize(scope, result, isReplaced);\n\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified) {\n scope.revoke();\n throw new Error(\"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\"); // prettier-ignore\n }\n\n if (isDraftable(result)) {\n // Finalize the result in case it contains (or is) a subset of the draft.\n result = this.finalize(result, null, scope);\n this.maybeFreeze(result);\n }\n\n if (scope.patches) {\n scope.patches.push({\n op: \"replace\",\n path: [],\n value: result\n });\n scope.inversePatches.push({\n op: \"replace\",\n path: [],\n value: baseDraft[DRAFT_STATE].base\n });\n }\n } else {\n // Finalize the base draft.\n result = this.finalize(baseDraft, [], scope);\n }\n\n scope.revoke();\n\n if (scope.patches) {\n scope.patchListener(scope.patches, scope.inversePatches);\n }\n\n return result !== NOTHING ? result : undefined;\n};\n/**\n * @internal\n * Finalize a draft, returning either the unmodified base state or a modified\n * copy of the base state.\n */\n\n\nImmer.prototype.finalize = function finalize (draft, path, scope) {\n var this$1 = this;\n\n var state = draft[DRAFT_STATE];\n\n if (!state) {\n if (Object.isFrozen(draft)) { return draft; }\n return this.finalizeTree(draft, null, scope);\n } // Never finalize drafts owned by another scope.\n\n\n if (state.scope !== scope) {\n return draft;\n }\n\n if (!state.modified) {\n this.maybeFreeze(state.base, true);\n return state.base;\n }\n\n if (!state.finalized) {\n state.finalized = true;\n this.finalizeTree(state.draft, path, scope);\n\n if (this.onDelete) {\n // The `assigned` object is unreliable with ES5 drafts.\n if (this.useProxies) {\n var assigned = state.assigned;\n\n for (var prop in assigned) {\n if (!assigned[prop]) { this.onDelete(state, prop); }\n }\n } else {\n var base = state.base;\n var copy = state.copy;\n each(base, function (prop) {\n if (!has(copy, prop)) { this$1.onDelete(state, prop); }\n });\n }\n }\n\n if (this.onCopy) {\n this.onCopy(state);\n } // At this point, all descendants of `state.copy` have been finalized,\n // so we can be sure that `scope.canAutoFreeze` is accurate.\n\n\n if (this.autoFreeze && scope.canAutoFreeze) {\n Object.freeze(state.copy);\n }\n\n if (path && scope.patches) {\n generatePatches(state, path, scope.patches, scope.inversePatches);\n }\n }\n\n return state.copy;\n};\n/**\n * @internal\n * Finalize all drafts in the given state tree.\n */\n\n\nImmer.prototype.finalizeTree = function finalizeTree (root, rootPath, scope) {\n var this$1 = this;\n\n var state = root[DRAFT_STATE];\n\n if (state) {\n if (!this.useProxies) {\n // Create the final copy, with added keys and without deleted keys.\n state.copy = shallowCopy(state.draft, true);\n }\n\n root = state.copy;\n }\n\n var needPatches = !!rootPath && !!scope.patches;\n\n var finalizeProperty = function (prop, value, parent) {\n if (value === parent) {\n throw Error(\"Immer forbids circular references\");\n } // In the `finalizeTree` method, only the `root` object may be a draft.\n\n\n var isDraftProp = !!state && parent === root;\n\n if (isDraft(value)) {\n var path = isDraftProp && needPatches && !state.assigned[prop] ? rootPath.concat(prop) : null; // Drafts owned by `scope` are finalized here.\n\n value = this$1.finalize(value, path, scope); // Drafts from another scope must prevent auto-freezing.\n\n if (isDraft(value)) {\n scope.canAutoFreeze = false;\n } // Preserve non-enumerable properties.\n\n\n if (Array.isArray(parent) || isEnumerable(parent, prop)) {\n parent[prop] = value;\n } else {\n Object.defineProperty(parent, prop, {\n value: value\n });\n } // Unchanged drafts are never passed to the `onAssign` hook.\n\n\n if (isDraftProp && value === state.base[prop]) { return; }\n } // Unchanged draft properties are ignored.\n else if (isDraftProp && is(value, state.base[prop])) {\n return;\n } // Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n else if (isDraftable(value) && !Object.isFrozen(value)) {\n each(value, finalizeProperty);\n this$1.maybeFreeze(value);\n }\n\n if (isDraftProp && this$1.onAssign) {\n this$1.onAssign(state, prop, value);\n }\n };\n\n each(root, finalizeProperty);\n return root;\n};\n\nImmer.prototype.maybeFreeze = function maybeFreeze (value, deep) {\n if ( deep === void 0 ) deep = false;\n\n if (this.autoFreeze && !isDraft(value)) {\n if (deep) { deepFreeze(value); }else { Object.freeze(value); }\n }\n};\n\nvar immer = new Immer();\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n\nvar produce = immer.produce;\n/**\n * Like `produce`, but `produceWithPatches` always returns a tuple\n * [nextState, patches, inversePatches] (instead of just the next state)\n */\n\nvar produceWithPatches = immer.produceWithPatches.bind(immer);\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is disabled in production.\n */\n\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\n/**\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n * always faster than using ES5 proxies.\n *\n * By default, feature detection is used, so calling this is rarely necessary.\n */\n\nvar setUseProxies = immer.setUseProxies.bind(immer);\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\n\nvar applyPatches$1 = immer.applyPatches.bind(immer);\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\n\nvar createDraft = immer.createDraft.bind(immer);\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\n\nvar finishDraft = immer.finishDraft.bind(immer);\n\nexport default produce;\nexport { Immer, applyPatches$1 as applyPatches, createDraft, finishDraft, DRAFTABLE as immerable, isDraft, isDraftable, NOTHING as nothing, original, produce, produceWithPatches, setAutoFreeze, setUseProxies };\n//# sourceMappingURL=immer.module.js.map\n",null,null,null,null,null,null,"/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var subscribeToArray = function (array) {\n return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n };\n};\n//# sourceMappingURL=subscribeToArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport var EMPTY = /*@__PURE__*/ new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n//# sourceMappingURL=isScheduler.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeToArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n//# sourceMappingURL=fromArray.js.map\n","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n","import isObject from './isObject.js';\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nexport default isStrictComparable;\n","import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nexport default matchesStrictComparable;\n","import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nexport default baseMatches;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nexport default hasIn;\n","import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default baseProperty;\n","import baseGet from './_baseGet.js';\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nexport default basePropertyDeep;\n","import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nexport default property;\n","import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nexport default baseIteratee;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n","import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n","import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UNITS = void 0;\n__exportStar(require(\"./abs\"), exports);\n__exportStar(require(\"./apply\"), exports);\n__exportStar(require(\"./between\"), exports);\n__exportStar(require(\"./isNegative\"), exports);\n__exportStar(require(\"./isZero\"), exports);\n__exportStar(require(\"./negate\"), exports);\n__exportStar(require(\"./normalize\"), exports);\n__exportStar(require(\"./parse\"), exports);\n__exportStar(require(\"./subtract\"), exports);\n__exportStar(require(\"./sum\"), exports);\n__exportStar(require(\"./toString\"), exports);\n__exportStar(require(\"./toUnit\"), exports);\n__exportStar(require(\"./types\"), exports);\nvar units_1 = require(\"./lib/units\");\nObject.defineProperty(exports, \"UNITS\", { enumerable: true, get: function () { return units_1.UNITS; } });\n//# sourceMappingURL=index.js.map","import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nexport default baseSome;\n","import arraySome from './_arraySome.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseSome from './_baseSome.js';\nimport isArray from './isArray.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default some;\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar OuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(Subscriber));\nexport { OuterSubscriber };\n//# sourceMappingURL=OuterSubscriber.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar InnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n _this.index = 0;\n return _this;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(Subscriber));\nexport { InnerSubscriber };\n//# sourceMappingURL=InnerSubscriber.js.map\n","/** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo,_Observable PURE_IMPORTS_END */\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber) {\n if (innerSubscriber === void 0) {\n innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n }\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=subscribeToResult.js.map\n","/** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return function (source) {\n var project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n var observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nvar WithLatestFromOperator = /*@__PURE__*/ (function () {\n function WithLatestFromOperator(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n WithLatestFromOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n };\n return WithLatestFromOperator;\n}());\nvar WithLatestFromSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WithLatestFromSubscriber, _super);\n function WithLatestFromSubscriber(destination, observables, project) {\n var _this = _super.call(this, destination) || this;\n _this.observables = observables;\n _this.project = project;\n _this.toRespond = [];\n var len = observables.length;\n _this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n _this.toRespond.push(i);\n }\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n _this.add(subscribeToResult(_this, observable, undefined, i));\n }\n return _this;\n }\n WithLatestFromSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n this.values[outerIndex] = innerValue;\n var toRespond = this.toRespond;\n if (toRespond.length > 0) {\n var found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n };\n WithLatestFromSubscriber.prototype.notifyComplete = function () {\n };\n WithLatestFromSubscriber.prototype._next = function (value) {\n if (this.toRespond.length === 0) {\n var args = [value].concat(this.values);\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n };\n WithLatestFromSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return WithLatestFromSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","module.exports = {};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","'use strict';\n\nvar required = require('requires-port')\n , qs = require('querystringify')\n , CRHTLF = /[\\n\\r\\t]/g\n , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//\n , protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i\n , windowsDriveLetter = /^[a-zA-Z]:/\n , whitespace = /^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/;\n\n/**\n * Trim a given string.\n *\n * @param {String} str String to trim.\n * @public\n */\nfunction trimLeft(str) {\n return (str ? str : '').toString().replace(whitespace, '');\n}\n\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n * indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n * the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\nvar rules = [\n ['#', 'hash'], // Extract from the back.\n ['?', 'query'], // Extract from the back.\n function sanitize(address, url) { // Sanitize what is left of the address\n return isSpecial(url.protocol) ? address.replace(/\\\\/g, '/') : address;\n },\n ['/', 'pathname'], // Extract from the back.\n ['@', 'auth', 1], // Extract from the front.\n [NaN, 'host', undefined, 1, 1], // Set left over value.\n [/:(\\d*)$/, 'port', undefined, 1], // RegExp the back.\n [NaN, 'hostname', undefined, 1, 1] // Set left over.\n];\n\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\nvar ignore = { hash: 1, query: 1 };\n\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\nfunction lolcation(loc) {\n var globalVar;\n\n if (typeof window !== 'undefined') globalVar = window;\n else if (typeof global !== 'undefined') globalVar = global;\n else if (typeof self !== 'undefined') globalVar = self;\n else globalVar = {};\n\n var location = globalVar.location || {};\n loc = loc || location;\n\n var finaldestination = {}\n , type = typeof loc\n , key;\n\n if ('blob:' === loc.protocol) {\n finaldestination = new Url(unescape(loc.pathname), {});\n } else if ('string' === type) {\n finaldestination = new Url(loc, {});\n for (key in ignore) delete finaldestination[key];\n } else if ('object' === type) {\n for (key in loc) {\n if (key in ignore) continue;\n finaldestination[key] = loc[key];\n }\n\n if (finaldestination.slashes === undefined) {\n finaldestination.slashes = slashes.test(loc.href);\n }\n }\n\n return finaldestination;\n}\n\n/**\n * Check whether a protocol scheme is special.\n *\n * @param {String} The protocol scheme of the URL\n * @return {Boolean} `true` if the protocol scheme is special, else `false`\n * @private\n */\nfunction isSpecial(scheme) {\n return (\n scheme === 'file:' ||\n scheme === 'ftp:' ||\n scheme === 'http:' ||\n scheme === 'https:' ||\n scheme === 'ws:' ||\n scheme === 'wss:'\n );\n}\n\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @param {Object} location\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\nfunction extractProtocol(address, location) {\n address = trimLeft(address);\n address = address.replace(CRHTLF, '');\n location = location || {};\n\n var match = protocolre.exec(address);\n var protocol = match[1] ? match[1].toLowerCase() : '';\n var forwardSlashes = !!match[2];\n var otherSlashes = !!match[3];\n var slashesCount = 0;\n var rest;\n\n if (forwardSlashes) {\n if (otherSlashes) {\n rest = match[2] + match[3] + match[4];\n slashesCount = match[2].length + match[3].length;\n } else {\n rest = match[2] + match[4];\n slashesCount = match[2].length;\n }\n } else {\n if (otherSlashes) {\n rest = match[3] + match[4];\n slashesCount = match[3].length;\n } else {\n rest = match[4]\n }\n }\n\n if (protocol === 'file:') {\n if (slashesCount >= 2) {\n rest = rest.slice(2);\n }\n } else if (isSpecial(protocol)) {\n rest = match[4];\n } else if (protocol) {\n if (forwardSlashes) {\n rest = rest.slice(2);\n }\n } else if (slashesCount >= 2 && isSpecial(location.protocol)) {\n rest = match[4];\n }\n\n return {\n protocol: protocol,\n slashes: forwardSlashes || isSpecial(protocol),\n slashesCount: slashesCount,\n rest: rest\n };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n if (relative === '') return base;\n\n var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n , i = path.length\n , last = path[i - 1]\n , unshift = false\n , up = 0;\n\n while (i--) {\n if (path[i] === '.') {\n path.splice(i, 1);\n } else if (path[i] === '..') {\n path.splice(i, 1);\n up++;\n } else if (up) {\n if (i === 0) unshift = true;\n path.splice(i, 1);\n up--;\n }\n }\n\n if (unshift) path.unshift('');\n if (last === '.' || last === '..') path.push('');\n\n return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n address = trimLeft(address);\n address = address.replace(CRHTLF, '');\n\n if (!(this instanceof Url)) {\n return new Url(address, location, parser);\n }\n\n var relative, extracted, parse, instruction, index, key\n , instructions = rules.slice()\n , type = typeof location\n , url = this\n , i = 0;\n\n //\n // The following if statements allows this module two have compatibility with\n // 2 different API:\n //\n // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n // where the boolean indicates that the query string should also be parsed.\n //\n // 2. The `URL` interface of the browser which accepts a URL, object as\n // arguments. The supplied object will be used as default values / fall-back\n // for relative paths.\n //\n if ('object' !== type && 'string' !== type) {\n parser = location;\n location = null;\n }\n\n if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n location = lolcation(location);\n\n //\n // Extract protocol information before running the instructions.\n //\n extracted = extractProtocol(address || '', location);\n relative = !extracted.protocol && !extracted.slashes;\n url.slashes = extracted.slashes || relative && location.slashes;\n url.protocol = extracted.protocol || location.protocol || '';\n address = extracted.rest;\n\n //\n // When the authority component is absent the URL starts with a path\n // component.\n //\n if (\n extracted.protocol === 'file:' && (\n extracted.slashesCount !== 2 || windowsDriveLetter.test(address)) ||\n (!extracted.slashes &&\n (extracted.protocol ||\n extracted.slashesCount < 2 ||\n !isSpecial(url.protocol)))\n ) {\n instructions[3] = [/(.*)/, 'pathname'];\n }\n\n for (; i < instructions.length; i++) {\n instruction = instructions[i];\n\n if (typeof instruction === 'function') {\n address = instruction(address, url);\n continue;\n }\n\n parse = instruction[0];\n key = instruction[1];\n\n if (parse !== parse) {\n url[key] = address;\n } else if ('string' === typeof parse) {\n index = parse === '@'\n ? address.lastIndexOf(parse)\n : address.indexOf(parse);\n\n if (~index) {\n if ('number' === typeof instruction[2]) {\n url[key] = address.slice(0, index);\n address = address.slice(index + instruction[2]);\n } else {\n url[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else if ((index = parse.exec(address))) {\n url[key] = index[1];\n address = address.slice(0, index.index);\n }\n\n url[key] = url[key] || (\n relative && instruction[3] ? location[key] || '' : ''\n );\n\n //\n // Hostname, host and protocol should be lowercased so they can be used to\n // create a proper `origin`.\n //\n if (instruction[4]) url[key] = url[key].toLowerCase();\n }\n\n //\n // Also parse the supplied query string in to an object. If we're supplied\n // with a custom parser as function use that instead of the default build-in\n // parser.\n //\n if (parser) url.query = parser(url.query);\n\n //\n // If the URL is relative, resolve the pathname against the base URL.\n //\n if (\n relative\n && location.slashes\n && url.pathname.charAt(0) !== '/'\n && (url.pathname !== '' || location.pathname !== '')\n ) {\n url.pathname = resolve(url.pathname, location.pathname);\n }\n\n //\n // Default to a / for pathname if none exists. This normalizes the URL\n // to always have a /\n //\n if (url.pathname.charAt(0) !== '/' && isSpecial(url.protocol)) {\n url.pathname = '/' + url.pathname;\n }\n\n //\n // We should not add port numbers if they are already the default port number\n // for a given protocol. As the host also contains the port number we're going\n // override it with the hostname which contains no port number.\n //\n if (!required(url.port, url.protocol)) {\n url.host = url.hostname;\n url.port = '';\n }\n\n //\n // Parse down the `auth` for the username and password.\n //\n url.username = url.password = '';\n\n if (url.auth) {\n index = url.auth.indexOf(':');\n\n if (~index) {\n url.username = url.auth.slice(0, index);\n url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n url.password = url.auth.slice(index + 1);\n url.password = encodeURIComponent(decodeURIComponent(url.password))\n } else {\n url.username = encodeURIComponent(decodeURIComponent(url.auth));\n }\n\n url.auth = url.password ? url.username +':'+ url.password : url.username;\n }\n\n url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n ? url.protocol +'//'+ url.host\n : 'null';\n\n //\n // The href is just the compiled result.\n //\n url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part Property we need to adjust.\n * @param {Mixed} value The newly assigned value.\n * @param {Boolean|Function} fn When setting the query, it will be the function\n * used to parse the query.\n * When setting the protocol, double slash will be\n * removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n var url = this;\n\n switch (part) {\n case 'query':\n if ('string' === typeof value && value.length) {\n value = (fn || qs.parse)(value);\n }\n\n url[part] = value;\n break;\n\n case 'port':\n url[part] = value;\n\n if (!required(value, url.protocol)) {\n url.host = url.hostname;\n url[part] = '';\n } else if (value) {\n url.host = url.hostname +':'+ value;\n }\n\n break;\n\n case 'hostname':\n url[part] = value;\n\n if (url.port) value += ':'+ url.port;\n url.host = value;\n break;\n\n case 'host':\n url[part] = value;\n\n if (/:\\d+$/.test(value)) {\n value = value.split(':');\n url.port = value.pop();\n url.hostname = value.join(':');\n } else {\n url.hostname = value;\n url.port = '';\n }\n\n break;\n\n case 'protocol':\n url.protocol = value.toLowerCase();\n url.slashes = !fn;\n break;\n\n case 'pathname':\n case 'hash':\n if (value) {\n var char = part === 'pathname' ? '/' : '#';\n url[part] = value.charAt(0) !== char ? char + value : value;\n } else {\n url[part] = value;\n }\n break;\n\n case 'username':\n case 'password':\n url[part] = encodeURIComponent(value);\n break;\n\n case 'auth':\n var index = value.indexOf(':');\n\n if (~index) {\n url.username = value.slice(0, index);\n url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n url.password = value.slice(index + 1);\n url.password = encodeURIComponent(decodeURIComponent(url.password));\n } else {\n url.username = encodeURIComponent(decodeURIComponent(value));\n }\n }\n\n for (var i = 0; i < rules.length; i++) {\n var ins = rules[i];\n\n if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n }\n\n url.auth = url.password ? url.username +':'+ url.password : url.username;\n\n url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n ? url.protocol +'//'+ url.host\n : 'null';\n\n url.href = url.toString();\n\n return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n var query\n , url = this\n , host = url.host\n , protocol = url.protocol;\n\n if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n var result =\n protocol +\n ((url.protocol && url.slashes) || isSpecial(url.protocol) ? '//' : '');\n\n if (url.username) {\n result += url.username;\n if (url.password) result += ':'+ url.password;\n result += '@';\n } else if (url.password) {\n result += ':'+ url.password;\n result += '@';\n } else if (\n url.protocol !== 'file:' &&\n isSpecial(url.protocol) &&\n !host &&\n url.pathname !== '/'\n ) {\n //\n // Add back the empty userinfo, otherwise the original invalid URL\n // might be transformed into a valid one with `url.pathname` as host.\n //\n result += '@';\n }\n\n //\n // Trailing colon is removed from `url.host` when it is parsed. If it still\n // ends with a colon, then add back the trailing colon that was removed. This\n // prevents an invalid URL from being transformed into a valid one.\n //\n if (host[host.length - 1] === ':') host += ':';\n result += host + url.pathname;\n\n query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n if (url.hash) result += url.hash;\n\n return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.trimLeft = trimLeft;\nUrl.qs = qs;\n\nmodule.exports = Url;\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 punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","\"use strict\";\n\nvar urilib = require('url');\nvar helpers = require('./helpers');\n\nmodule.exports.SchemaScanResult = SchemaScanResult;\nfunction SchemaScanResult(found, ref){\n this.id = found;\n this.ref = ref;\n}\n\n/**\n * Adds a schema with a certain urn to the Validator instance.\n * @param string uri\n * @param object schema\n * @return {Object}\n */\nmodule.exports.scan = function scan(base, schema){\n function scanSchema(baseuri, schema){\n if(!schema || typeof schema!='object') return;\n // Mark all referenced schemas so we can tell later which schemas are referred to, but never defined\n if(schema.$ref){\n var resolvedUri = urilib.resolve(baseuri, schema.$ref);\n ref[resolvedUri] = ref[resolvedUri] ? ref[resolvedUri]+1 : 0;\n return;\n }\n var id = schema.$id || schema.id;\n var ourBase = id ? urilib.resolve(baseuri, id) : baseuri;\n if (ourBase) {\n // If there's no fragment, append an empty one\n if(ourBase.indexOf('#')<0) ourBase += '#';\n if(found[ourBase]){\n if(!helpers.deepCompareStrict(found[ourBase], schema)){\n throw new Error('Schema <'+ourBase+'> already exists with different definition');\n }\n return found[ourBase];\n }\n found[ourBase] = schema;\n // strip trailing fragment\n if(ourBase[ourBase.length-1]=='#'){\n found[ourBase.substring(0, ourBase.length-1)] = schema;\n }\n }\n scanArray(ourBase+'/items', (Array.isArray(schema.items)?schema.items:[schema.items]));\n scanArray(ourBase+'/extends', (Array.isArray(schema.extends)?schema.extends:[schema.extends]));\n scanSchema(ourBase+'/additionalItems', schema.additionalItems);\n scanObject(ourBase+'/properties', schema.properties);\n scanSchema(ourBase+'/additionalProperties', schema.additionalProperties);\n scanObject(ourBase+'/definitions', schema.definitions);\n scanObject(ourBase+'/patternProperties', schema.patternProperties);\n scanObject(ourBase+'/dependencies', schema.dependencies);\n scanArray(ourBase+'/disallow', schema.disallow);\n scanArray(ourBase+'/allOf', schema.allOf);\n scanArray(ourBase+'/anyOf', schema.anyOf);\n scanArray(ourBase+'/oneOf', schema.oneOf);\n scanSchema(ourBase+'/not', schema.not);\n }\n function scanArray(baseuri, schemas){\n if(!Array.isArray(schemas)) return;\n for(var i=0; i true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nexport default isEmpty;\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\n\nvar ClientUAInstance = new UAParser();\nvar browser = ClientUAInstance.getBrowser();\nvar cpu = ClientUAInstance.getCPU();\nvar device = ClientUAInstance.getDevice();\nvar engine = ClientUAInstance.getEngine();\nvar os = ClientUAInstance.getOS();\nvar ua = ClientUAInstance.getUA();\nvar setUa = function setUa(userAgentString) {\n return ClientUAInstance.setUA(userAgentString);\n};\nvar parseUserAgent = function parseUserAgent(userAgent) {\n if (!userAgent) {\n console.error('No userAgent string was provided');\n return;\n }\n\n var UserAgentInstance = new UAParser(userAgent);\n return {\n UA: UserAgentInstance,\n browser: UserAgentInstance.getBrowser(),\n cpu: UserAgentInstance.getCPU(),\n device: UserAgentInstance.getDevice(),\n engine: UserAgentInstance.getEngine(),\n os: UserAgentInstance.getOS(),\n ua: UserAgentInstance.getUA(),\n setUserAgent: function setUserAgent(userAgentString) {\n return UserAgentInstance.setUA(userAgentString);\n }\n };\n};\n\nvar UAHelper = /*#__PURE__*/Object.freeze({\n ClientUAInstance: ClientUAInstance,\n browser: browser,\n cpu: cpu,\n device: device,\n engine: engine,\n os: os,\n ua: ua,\n setUa: setUa,\n parseUserAgent: parseUserAgent\n});\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar DeviceTypes = {\n Mobile: 'mobile',\n Tablet: 'tablet',\n SmartTv: 'smarttv',\n Console: 'console',\n Wearable: 'wearable',\n Embedded: 'embedded',\n Browser: undefined\n};\nvar BrowserTypes = {\n Chrome: 'Chrome',\n Firefox: 'Firefox',\n Opera: 'Opera',\n Yandex: 'Yandex',\n Safari: 'Safari',\n InternetExplorer: 'Internet Explorer',\n Edge: 'Edge',\n Chromium: 'Chromium',\n Ie: 'IE',\n MobileSafari: 'Mobile Safari',\n EdgeChromium: 'Edge Chromium',\n MIUI: 'MIUI Browser',\n SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n IOS: 'iOS',\n Android: 'Android',\n WindowsPhone: 'Windows Phone',\n Windows: 'Windows',\n MAC_OS: 'Mac OS'\n};\nvar InitialDeviceTypes = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\n\nvar checkDeviceType = function checkDeviceType(type) {\n switch (type) {\n case DeviceTypes.Mobile:\n return {\n isMobile: true\n };\n\n case DeviceTypes.Tablet:\n return {\n isTablet: true\n };\n\n case DeviceTypes.SmartTv:\n return {\n isSmartTV: true\n };\n\n case DeviceTypes.Console:\n return {\n isConsole: true\n };\n\n case DeviceTypes.Wearable:\n return {\n isWearable: true\n };\n\n case DeviceTypes.Browser:\n return {\n isBrowser: true\n };\n\n case DeviceTypes.Embedded:\n return {\n isEmbedded: true\n };\n\n default:\n return InitialDeviceTypes;\n }\n};\nvar setUserAgent = function setUserAgent(userAgent) {\n return setUa(userAgent);\n};\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n\n return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nvar browserPayload = function browserPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\nvar smartTvPayload = function smartTvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar wearablePayload = function wearablePayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar embeddedPayload = function embeddedPayload(isEmbedded, device, engine, os, ua) {\n return {\n isEmbedded: isEmbedded,\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nfunction deviceDetect(userAgent) {\n var _ref = userAgent ? parseUserAgent(userAgent) : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n engine = _ref.engine,\n os = _ref.os,\n ua = _ref.ua;\n\n var type = checkDeviceType(device.type);\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable,\n isEmbedded = type.isEmbedded;\n\n if (isBrowser) {\n return browserPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return smartTvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearablePayload(isWearable, engine, os, ua);\n }\n\n if (isEmbedded) {\n return embeddedPayload(isEmbedded, device, engine, os, ua);\n }\n}\n\nvar isMobileType = function isMobileType(_ref) {\n var type = _ref.type;\n return type === DeviceTypes.Mobile;\n};\nvar isTabletType = function isTabletType(_ref2) {\n var type = _ref2.type;\n return type === DeviceTypes.Tablet;\n};\nvar isMobileAndTabletType = function isMobileAndTabletType(_ref3) {\n var type = _ref3.type;\n return type === DeviceTypes.Mobile || type === DeviceTypes.Tablet;\n};\nvar isSmartTVType = function isSmartTVType(_ref4) {\n var type = _ref4.type;\n return type === DeviceTypes.SmartTv;\n};\nvar isBrowserType = function isBrowserType(_ref5) {\n var type = _ref5.type;\n return type === DeviceTypes.Browser;\n};\nvar isWearableType = function isWearableType(_ref6) {\n var type = _ref6.type;\n return type === DeviceTypes.Wearable;\n};\nvar isConsoleType = function isConsoleType(_ref7) {\n var type = _ref7.type;\n return type === DeviceTypes.Console;\n};\nvar isEmbeddedType = function isEmbeddedType(_ref8) {\n var type = _ref8.type;\n return type === DeviceTypes.Embedded;\n};\nvar getMobileVendor = function getMobileVendor(_ref9) {\n var vendor = _ref9.vendor;\n return setDefaults(vendor);\n};\nvar getMobileModel = function getMobileModel(_ref10) {\n var model = _ref10.model;\n return setDefaults(model);\n};\nvar getDeviceType = function getDeviceType(_ref11) {\n var type = _ref11.type;\n return setDefaults(type, 'browser');\n}; // os types\n\nvar isAndroidType = function isAndroidType(_ref12) {\n var name = _ref12.name;\n return name === OsTypes.Android;\n};\nvar isWindowsType = function isWindowsType(_ref13) {\n var name = _ref13.name;\n return name === OsTypes.Windows;\n};\nvar isMacOsType = function isMacOsType(_ref14) {\n var name = _ref14.name;\n return name === OsTypes.MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType(_ref15) {\n var name = _ref15.name;\n return name === OsTypes.WindowsPhone;\n};\nvar isIOSType = function isIOSType(_ref16) {\n var name = _ref16.name;\n return name === OsTypes.IOS;\n};\nvar getOsVersion = function getOsVersion(_ref17) {\n var version = _ref17.version;\n return setDefaults(version);\n};\nvar getOsName = function getOsName(_ref18) {\n var name = _ref18.name;\n return setDefaults(name);\n}; // browser types\n\nvar isChromeType = function isChromeType(_ref19) {\n var name = _ref19.name;\n return name === BrowserTypes.Chrome;\n};\nvar isFirefoxType = function isFirefoxType(_ref20) {\n var name = _ref20.name;\n return name === BrowserTypes.Firefox;\n};\nvar isChromiumType = function isChromiumType(_ref21) {\n var name = _ref21.name;\n return name === BrowserTypes.Chromium;\n};\nvar isEdgeType = function isEdgeType(_ref22) {\n var name = _ref22.name;\n return name === BrowserTypes.Edge;\n};\nvar isYandexType = function isYandexType(_ref23) {\n var name = _ref23.name;\n return name === BrowserTypes.Yandex;\n};\nvar isSafariType = function isSafariType(_ref24) {\n var name = _ref24.name;\n return name === BrowserTypes.Safari || name === BrowserTypes.MobileSafari;\n};\nvar isMobileSafariType = function isMobileSafariType(_ref25) {\n var name = _ref25.name;\n return name === BrowserTypes.MobileSafari;\n};\nvar isOperaType = function isOperaType(_ref26) {\n var name = _ref26.name;\n return name === BrowserTypes.Opera;\n};\nvar isIEType = function isIEType(_ref27) {\n var name = _ref27.name;\n return name === BrowserTypes.InternetExplorer || name === BrowserTypes.Ie;\n};\nvar isMIUIType = function isMIUIType(_ref28) {\n var name = _ref28.name;\n return name === BrowserTypes.MIUI;\n};\nvar isSamsungBrowserType = function isSamsungBrowserType(_ref29) {\n var name = _ref29.name;\n return name === BrowserTypes.SamsungBrowser;\n};\nvar getBrowserFullVersion = function getBrowserFullVersion(_ref30) {\n var version = _ref30.version;\n return setDefaults(version);\n};\nvar getBrowserVersion = function getBrowserVersion(_ref31) {\n var major = _ref31.major;\n return setDefaults(major);\n};\nvar getBrowserName = function getBrowserName(_ref32) {\n var name = _ref32.name;\n return setDefaults(name);\n}; // engine types\n\nvar getEngineName = function getEngineName(_ref33) {\n var name = _ref33.name;\n return setDefaults(name);\n};\nvar getEngineVersion = function getEngineVersion(_ref34) {\n var version = _ref34.version;\n return setDefaults(version);\n};\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\nvar isEdgeChromiumType = function isEdgeChromiumType(ua) {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\nvar getUseragent = function getUseragent(userAg) {\n return setDefaults(userAg);\n};\n\nfunction buildSelectorsObject(options) {\n var _ref = options ? options : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n os = _ref.os,\n engine = _ref.engine,\n ua = _ref.ua;\n\n return {\n isSmartTV: isSmartTVType(device),\n isConsole: isConsoleType(device),\n isWearable: isWearableType(device),\n isEmbedded: isEmbeddedType(device),\n isMobileSafari: isMobileSafariType(browser) || getIPad13(),\n isChromium: isChromiumType(browser),\n isMobile: isMobileAndTabletType(device) || getIPad13(),\n isMobileOnly: isMobileType(device),\n isTablet: isTabletType(device) || getIPad13(),\n isBrowser: isBrowserType(device),\n isDesktop: isBrowserType(device),\n isAndroid: isAndroidType(os),\n isWinPhone: isWinPhoneType(os),\n isIOS: isIOSType(os) || getIPad13(),\n isChrome: isChromeType(browser),\n isFirefox: isFirefoxType(browser),\n isSafari: isSafariType(browser),\n isOpera: isOperaType(browser),\n isIE: isIEType(browser),\n osVersion: getOsVersion(os),\n osName: getOsName(os),\n fullBrowserVersion: getBrowserFullVersion(browser),\n browserVersion: getBrowserVersion(browser),\n browserName: getBrowserName(browser),\n mobileVendor: getMobileVendor(device),\n mobileModel: getMobileModel(device),\n engineName: getEngineName(engine),\n engineVersion: getEngineVersion(engine),\n getUA: getUseragent(ua),\n isEdge: isEdgeType(browser) || isEdgeChromiumType(ua),\n isYandex: isYandexType(browser),\n deviceType: getDeviceType(device),\n isIOS13: getIOS13(),\n isIPad13: getIPad13(),\n isIPhone13: getIphone13(),\n isIPod13: getIPod13(),\n isElectron: isElectronType(),\n isEdgeChromium: isEdgeChromiumType(ua),\n isLegacyEdge: isEdgeType(browser) && !isEdgeChromiumType(ua),\n isWindows: isWindowsType(os),\n isMacOs: isMacOsType(os),\n isMIUI: isMIUIType(browser),\n isSamsungBrowser: isSamsungBrowserType(browser)\n };\n}\n\nvar isSmartTV = isSmartTVType(device);\nvar isConsole = isConsoleType(device);\nvar isWearable = isWearableType(device);\nvar isEmbedded = isEmbeddedType(device);\nvar isMobileSafari = isMobileSafariType(browser) || getIPad13();\nvar isChromium = isChromiumType(browser);\nvar isMobile = isMobileAndTabletType(device) || getIPad13();\nvar isMobileOnly = isMobileType(device);\nvar isTablet = isTabletType(device) || getIPad13();\nvar isBrowser = isBrowserType(device);\nvar isDesktop = isBrowserType(device);\nvar isAndroid = isAndroidType(os);\nvar isWinPhone = isWinPhoneType(os);\nvar isIOS = isIOSType(os) || getIPad13();\nvar isChrome = isChromeType(browser);\nvar isFirefox = isFirefoxType(browser);\nvar isSafari = isSafariType(browser);\nvar isOpera = isOperaType(browser);\nvar isIE = isIEType(browser);\nvar osVersion = getOsVersion(os);\nvar osName = getOsName(os);\nvar fullBrowserVersion = getBrowserFullVersion(browser);\nvar browserVersion = getBrowserVersion(browser);\nvar browserName = getBrowserName(browser);\nvar mobileVendor = getMobileVendor(device);\nvar mobileModel = getMobileModel(device);\nvar engineName = getEngineName(engine);\nvar engineVersion = getEngineVersion(engine);\nvar getUA = getUseragent(ua);\nvar isEdge = isEdgeType(browser) || isEdgeChromiumType(ua);\nvar isYandex = isYandexType(browser);\nvar deviceType = getDeviceType(device);\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType(ua);\nvar isLegacyEdge = isEdgeType(browser) && !isEdgeChromiumType(ua);\nvar isWindows = isWindowsType(os);\nvar isMacOs = isMacOsType(os);\nvar isMIUI = isMIUIType(browser);\nvar isSamsungBrowser = isSamsungBrowserType(browser);\nvar getSelectorsByUserAgent = function getSelectorsByUserAgent(userAgent) {\n if (!userAgent || typeof userAgent !== 'string') {\n console.error('No valid user agent string was provided');\n return;\n }\n\n var _UAHelper$parseUserAg = parseUserAgent(userAgent),\n device = _UAHelper$parseUserAg.device,\n browser = _UAHelper$parseUserAg.browser,\n os = _UAHelper$parseUserAg.os,\n engine = _UAHelper$parseUserAg.engine,\n ua = _UAHelper$parseUserAg.ua;\n\n return buildSelectorsObject({\n device: device,\n browser: browser,\n os: os,\n engine: engine,\n ua: ua\n });\n};\n\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\"]);\n\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\"]);\n\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\"]);\n\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\"]);\n\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\"]);\n\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\"]);\n\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\"]);\n\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style,\n props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\"]);\n\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\"]);\n\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\"]);\n\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition,\n props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\n\nfunction withOrientationChange(WrappedComponent) {\n return /*#__PURE__*/function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n\n return _class;\n }(React__default.Component);\n}\n\nfunction useMobileOrientation() {\n var _useState = React.useState(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n return {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n }),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var handleOrientationChange = React.useCallback(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n var next = {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n state.orientation !== next.orientation && setState(next);\n }, [state.orientation]);\n React.useEffect(function () {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n handleOrientationChange();\n window.addEventListener(\"load\", handleOrientationChange, false);\n window.addEventListener(\"resize\", handleOrientationChange, false);\n }\n\n return function () {\n window.removeEventListener(\"resize\", handleOrientationChange, false);\n window.removeEventListener(\"load\", handleOrientationChange, false);\n };\n }, [handleOrientationChange]);\n return state;\n}\n\nfunction useDeviceData(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n return parseUserAgent(hookUserAgent);\n}\n\nfunction useDeviceSelectors(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n var deviceData = useDeviceData(hookUserAgent);\n var selectors = buildSelectorsObject(deviceData);\n return [selectors, deviceData];\n}\n\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getSelectorsByUserAgent = getSelectorsByUserAgent;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isEmbedded = isEmbedded;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.parseUserAgent = parseUserAgent;\nexports.setUserAgent = setUserAgent;\nexports.useDeviceData = useDeviceData;\nexports.useDeviceSelectors = useDeviceSelectors;\nexports.useMobileOrientation = useMobileOrientation;\nexports.withOrientationChange = withOrientationChange;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _createWebStorage = _interopRequireDefault(require(\"./createWebStorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = (0, _createWebStorage.default)('local');\n\nexports.default = _default;","export class ClockService {\r\n getEpochTime() {\r\n return Promise.resolve(Date.now() / 1000 | 0);\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nconst timer = {\r\n setInterval: function (cb, duration) {\r\n return setInterval(cb, duration);\r\n },\r\n clearInterval: function (handle) {\r\n return clearInterval(handle);\r\n }\r\n};\r\n\r\nlet testing = false;\r\nlet request = null;\r\n\r\nexport class Global {\r\n\r\n static _testing() {\r\n testing = true;\r\n }\r\n\r\n static get location() {\r\n if (!testing) {\r\n return location;\r\n }\r\n }\r\n\r\n static get localStorage() {\r\n if (!testing && typeof window !== 'undefined') {\r\n return localStorage;\r\n }\r\n }\r\n\r\n static get sessionStorage() {\r\n if (!testing && typeof window !== 'undefined') {\r\n return sessionStorage;\r\n }\r\n }\r\n\r\n static setXMLHttpRequest(newRequest) {\r\n request = newRequest;\r\n }\r\n\r\n static get XMLHttpRequest() {\r\n if (!testing && typeof window !== 'undefined') {\r\n return request || XMLHttpRequest;\r\n }\r\n }\r\n\r\n static get timer() {\r\n if (!testing) {\r\n return timer;\r\n }\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { Global } from './Global.js';\r\n\r\nexport class WebStorageStateStore {\r\n constructor({prefix = \"oidc.\", store = Global.localStorage} = {}) {\r\n this._store = store;\r\n this._prefix = prefix;\r\n }\r\n\r\n set(key, value) {\r\n Log.debug(\"WebStorageStateStore.set\", key);\r\n\r\n key = this._prefix + key;\r\n\r\n this._store.setItem(key, value);\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n get(key) {\r\n Log.debug(\"WebStorageStateStore.get\", key);\r\n\r\n key = this._prefix + key;\r\n\r\n let item = this._store.getItem(key);\r\n\r\n return Promise.resolve(item);\r\n }\r\n\r\n remove(key) {\r\n Log.debug(\"WebStorageStateStore.remove\", key);\r\n\r\n key = this._prefix + key;\r\n\r\n let item = this._store.getItem(key);\r\n this._store.removeItem(key);\r\n\r\n return Promise.resolve(item);\r\n }\r\n\r\n getAllKeys() {\r\n Log.debug(\"WebStorageStateStore.getAllKeys\");\r\n\r\n var keys = [];\r\n\r\n for (let index = 0; index < this._store.length; index++) {\r\n let key = this._store.key(index);\r\n\r\n if (key.indexOf(this._prefix) === 0) {\r\n keys.push(key.substr(this._prefix.length));\r\n }\r\n }\r\n\r\n return Promise.resolve(keys);\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { Global } from './Global.js';\r\n\r\nexport class JsonService {\r\n constructor(\r\n additionalContentTypes = null, \r\n XMLHttpRequestCtor = Global.XMLHttpRequest, \r\n jwtHandler = null\r\n ) {\r\n if (additionalContentTypes && Array.isArray(additionalContentTypes))\r\n {\r\n this._contentTypes = additionalContentTypes.slice();\r\n }\r\n else\r\n {\r\n this._contentTypes = [];\r\n }\r\n this._contentTypes.push('application/json');\r\n if (jwtHandler) {\r\n this._contentTypes.push('application/jwt');\r\n }\r\n\r\n this._XMLHttpRequest = XMLHttpRequestCtor;\r\n this._jwtHandler = jwtHandler;\r\n }\r\n\r\n getJson(url, token) {\r\n if (!url){\r\n Log.error(\"JsonService.getJson: No url passed\");\r\n throw new Error(\"url\");\r\n }\r\n\r\n Log.debug(\"JsonService.getJson, url: \", url);\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n var req = new this._XMLHttpRequest();\r\n req.open('GET', url);\r\n\r\n var allowedContentTypes = this._contentTypes;\r\n var jwtHandler = this._jwtHandler;\r\n\r\n req.onload = function() {\r\n Log.debug(\"JsonService.getJson: HTTP response received, status\", req.status);\r\n\r\n if (req.status === 200) {\r\n\r\n var contentType = req.getResponseHeader(\"Content-Type\");\r\n if (contentType) {\r\n\r\n var found = allowedContentTypes.find(item=>{\r\n if (contentType.startsWith(item)) {\r\n return true;\r\n }\r\n });\r\n\r\n if (found == \"application/jwt\") {\r\n jwtHandler(req).then(resolve, reject);\r\n return;\r\n }\r\n\r\n if (found) {\r\n try {\r\n resolve(JSON.parse(req.responseText));\r\n return;\r\n }\r\n catch (e) {\r\n Log.error(\"JsonService.getJson: Error parsing JSON response\", e.message);\r\n reject(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n reject(Error(\"Invalid response Content-Type: \" + contentType + \", from URL: \" + url));\r\n }\r\n else {\r\n reject(Error(req.statusText + \" (\" + req.status + \")\"));\r\n }\r\n };\r\n\r\n req.onerror = function() {\r\n Log.error(\"JsonService.getJson: network error\");\r\n reject(Error(\"Network Error\"));\r\n };\r\n\r\n if (token) {\r\n Log.debug(\"JsonService.getJson: token passed, setting Authorization header\");\r\n req.setRequestHeader(\"Authorization\", \"Bearer \" + token);\r\n }\r\n\r\n req.send();\r\n });\r\n }\r\n\r\n postForm(url, payload, basicAuth) {\r\n if (!url){\r\n Log.error(\"JsonService.postForm: No url passed\");\r\n throw new Error(\"url\");\r\n }\r\n\r\n Log.debug(\"JsonService.postForm, url: \", url);\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n var req = new this._XMLHttpRequest();\r\n req.open('POST', url);\r\n\r\n var allowedContentTypes = this._contentTypes;\r\n\r\n req.onload = function() {\r\n Log.debug(\"JsonService.postForm: HTTP response received, status\", req.status);\r\n\r\n if (req.status === 200) {\r\n\r\n var contentType = req.getResponseHeader(\"Content-Type\");\r\n if (contentType) {\r\n\r\n var found = allowedContentTypes.find(item=>{\r\n if (contentType.startsWith(item)) {\r\n return true;\r\n }\r\n });\r\n\r\n if (found) {\r\n try {\r\n resolve(JSON.parse(req.responseText));\r\n return;\r\n }\r\n catch (e) {\r\n Log.error(\"JsonService.postForm: Error parsing JSON response\", e.message);\r\n reject(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n reject(Error(\"Invalid response Content-Type: \" + contentType + \", from URL: \" + url));\r\n return;\r\n }\r\n\r\n if (req.status === 400) {\r\n\r\n var contentType = req.getResponseHeader(\"Content-Type\");\r\n if (contentType) {\r\n\r\n var found = allowedContentTypes.find(item=>{\r\n if (contentType.startsWith(item)) {\r\n return true;\r\n }\r\n });\r\n\r\n if (found) {\r\n try {\r\n var payload = JSON.parse(req.responseText);\r\n if (payload && payload.error) {\r\n Log.error(\"JsonService.postForm: Error from server: \", payload.error);\r\n reject(new Error(payload.error));\r\n return;\r\n }\r\n }\r\n catch (e) {\r\n Log.error(\"JsonService.postForm: Error parsing JSON response\", e.message);\r\n reject(e);\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n reject(Error(req.statusText + \" (\" + req.status + \")\"));\r\n };\r\n\r\n req.onerror = function() {\r\n Log.error(\"JsonService.postForm: network error\");\r\n reject(Error(\"Network Error\"));\r\n };\r\n\r\n let body = \"\";\r\n for(let key in payload) {\r\n\r\n let value = payload[key];\r\n\r\n if (value) {\r\n\r\n if (body.length > 0) {\r\n body += \"&\";\r\n }\r\n\r\n body += encodeURIComponent(key);\r\n body += \"=\";\r\n body += encodeURIComponent(value);\r\n }\r\n }\r\n\r\n req.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\r\n\r\n if (basicAuth !== undefined)\r\n {\r\n req.setRequestHeader(\"Authorization\", \"Basic \" + btoa(basicAuth));\r\n }\r\n\r\n req.send(body);\r\n });\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { JsonService } from './JsonService.js';\r\n\r\nconst OidcMetadataUrlPath = '.well-known/openid-configuration';\r\n\r\nexport class MetadataService {\r\n constructor(settings, JsonServiceCtor = JsonService) {\r\n if (!settings) {\r\n Log.error(\"MetadataService: No settings passed to MetadataService\");\r\n throw new Error(\"settings\");\r\n }\r\n\r\n this._settings = settings;\r\n this._jsonService = new JsonServiceCtor(['application/jwk-set+json']);\r\n }\r\n\r\n get metadataUrl() {\r\n if (!this._metadataUrl) {\r\n if (this._settings.metadataUrl) {\r\n this._metadataUrl = this._settings.metadataUrl;\r\n }\r\n else {\r\n this._metadataUrl = this._settings.authority;\r\n\r\n if (this._metadataUrl && this._metadataUrl.indexOf(OidcMetadataUrlPath) < 0) {\r\n if (this._metadataUrl[this._metadataUrl.length - 1] !== '/') {\r\n this._metadataUrl += '/';\r\n }\r\n this._metadataUrl += OidcMetadataUrlPath;\r\n }\r\n }\r\n }\r\n\r\n return this._metadataUrl;\r\n }\r\n\r\n resetSigningKeys() {\r\n this._settings = this._settings || {}\r\n this._settings.signingKeys = undefined\r\n }\r\n\r\n getMetadata() {\r\n if (this._settings.metadata) {\r\n Log.debug(\"MetadataService.getMetadata: Returning metadata from settings\");\r\n return Promise.resolve(this._settings.metadata);\r\n }\r\n\r\n if (!this.metadataUrl) {\r\n Log.error(\"MetadataService.getMetadata: No authority or metadataUrl configured on settings\");\r\n return Promise.reject(new Error(\"No authority or metadataUrl configured on settings\"));\r\n }\r\n\r\n Log.debug(\"MetadataService.getMetadata: getting metadata from\", this.metadataUrl);\r\n\r\n return this._jsonService.getJson(this.metadataUrl)\r\n .then(metadata => {\r\n Log.debug(\"MetadataService.getMetadata: json received\");\r\n \r\n var seed = this._settings.metadataSeed || {};\r\n this._settings.metadata = Object.assign({}, seed, metadata);\r\n return this._settings.metadata;\r\n });\r\n }\r\n\r\n getIssuer() {\r\n return this._getMetadataProperty(\"issuer\");\r\n }\r\n\r\n getAuthorizationEndpoint() {\r\n return this._getMetadataProperty(\"authorization_endpoint\");\r\n }\r\n\r\n getUserInfoEndpoint() {\r\n return this._getMetadataProperty(\"userinfo_endpoint\");\r\n }\r\n\r\n getTokenEndpoint(optional=true) {\r\n return this._getMetadataProperty(\"token_endpoint\", optional);\r\n }\r\n\r\n getCheckSessionIframe() {\r\n return this._getMetadataProperty(\"check_session_iframe\", true);\r\n }\r\n\r\n getEndSessionEndpoint() {\r\n return this._getMetadataProperty(\"end_session_endpoint\", true);\r\n }\r\n\r\n getRevocationEndpoint() {\r\n return this._getMetadataProperty(\"revocation_endpoint\", true);\r\n }\r\n\r\n getKeysEndpoint() {\r\n return this._getMetadataProperty(\"jwks_uri\", true);\r\n }\r\n\r\n _getMetadataProperty(name, optional=false) {\r\n Log.debug(\"MetadataService.getMetadataProperty for: \" + name);\r\n\r\n return this.getMetadata().then(metadata => {\r\n Log.debug(\"MetadataService.getMetadataProperty: metadata recieved\");\r\n\r\n if (metadata[name] === undefined) {\r\n\r\n if (optional === true) {\r\n Log.warn(\"MetadataService.getMetadataProperty: Metadata does not contain optional property \" + name);\r\n return undefined;\r\n }\r\n else {\r\n Log.error(\"MetadataService.getMetadataProperty: Metadata does not contain property \" + name);\r\n throw new Error(\"Metadata does not contain property \" + name);\r\n }\r\n }\r\n\r\n return metadata[name];\r\n });\r\n }\r\n\r\n getSigningKeys() {\r\n if (this._settings.signingKeys) {\r\n Log.debug(\"MetadataService.getSigningKeys: Returning signingKeys from settings\");\r\n return Promise.resolve(this._settings.signingKeys);\r\n }\r\n\r\n return this._getMetadataProperty(\"jwks_uri\").then(jwks_uri => {\r\n Log.debug(\"MetadataService.getSigningKeys: jwks_uri received\", jwks_uri);\r\n\r\n return this._jsonService.getJson(jwks_uri).then(keySet => {\r\n Log.debug(\"MetadataService.getSigningKeys: key set received\", keySet);\r\n\r\n if (!keySet.keys) {\r\n Log.error(\"MetadataService.getSigningKeys: Missing keys on keyset\");\r\n throw new Error(\"Missing keys on keyset\");\r\n }\r\n\r\n this._settings.signingKeys = keySet.keys;\r\n return this._settings.signingKeys;\r\n });\r\n });\r\n }\r\n}\r\n","import { jws, KeyUtil, X509, crypto, hextob64u, b64tohex, AllowedSigningAlgs } from './crypto/jsrsasign';\r\nimport getJoseUtil from './JoseUtilImpl';\r\n\r\nexport const JoseUtil = getJoseUtil({ jws, KeyUtil, X509, crypto, hextob64u, b64tohex, AllowedSigningAlgs });\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\n\r\nexport default function getJoseUtil({ jws, KeyUtil, X509, crypto, hextob64u, b64tohex, AllowedSigningAlgs }) {\r\n return class JoseUtil {\r\n\r\n static parseJwt(jwt) {\r\n Log.debug(\"JoseUtil.parseJwt\");\r\n try {\r\n var token = jws.JWS.parse(jwt);\r\n return {\r\n header: token.headerObj,\r\n payload: token.payloadObj\r\n }\r\n } catch (e) {\r\n Log.error(e);\r\n }\r\n }\r\n\r\n static validateJwt(jwt, key, issuer, audience, clockSkew, now, timeInsensitive) {\r\n Log.debug(\"JoseUtil.validateJwt\");\r\n\r\n try {\r\n if (key.kty === \"RSA\") {\r\n if (key.e && key.n) {\r\n key = KeyUtil.getKey(key);\r\n } else if (key.x5c && key.x5c.length) {\r\n var hex = b64tohex(key.x5c[0]);\r\n key = X509.getPublicKeyFromCertHex(hex);\r\n } else {\r\n Log.error(\"JoseUtil.validateJwt: RSA key missing key material\", key);\r\n return Promise.reject(new Error(\"RSA key missing key material\"));\r\n }\r\n } else if (key.kty === \"EC\") {\r\n if (key.crv && key.x && key.y) {\r\n key = KeyUtil.getKey(key);\r\n } else {\r\n Log.error(\"JoseUtil.validateJwt: EC key missing key material\", key);\r\n return Promise.reject(new Error(\"EC key missing key material\"));\r\n }\r\n } else {\r\n Log.error(\"JoseUtil.validateJwt: Unsupported key type\", key && key.kty);\r\n return Promise.reject(new Error(\"Unsupported key type: \" + key && key.kty));\r\n }\r\n\r\n return JoseUtil._validateJwt(jwt, key, issuer, audience, clockSkew, now, timeInsensitive);\r\n } catch (e) {\r\n Log.error(e && e.message || e);\r\n return Promise.reject(\"JWT validation failed\");\r\n }\r\n }\r\n\r\n static validateJwtAttributes(jwt, issuer, audience, clockSkew, now, timeInsensitive) {\r\n if (!clockSkew) {\r\n clockSkew = 0;\r\n }\r\n\r\n if (!now) {\r\n now = parseInt(Date.now() / 1000);\r\n }\r\n\r\n var payload = JoseUtil.parseJwt(jwt).payload;\r\n\r\n if (!payload.iss) {\r\n Log.error(\"JoseUtil._validateJwt: issuer was not provided\");\r\n return Promise.reject(new Error(\"issuer was not provided\"));\r\n }\r\n if (payload.iss !== issuer) {\r\n Log.error(\"JoseUtil._validateJwt: Invalid issuer in token\", payload.iss);\r\n return Promise.reject(new Error(\"Invalid issuer in token: \" + payload.iss));\r\n }\r\n\r\n if (!payload.aud) {\r\n Log.error(\"JoseUtil._validateJwt: aud was not provided\");\r\n return Promise.reject(new Error(\"aud was not provided\"));\r\n }\r\n var validAudience = payload.aud === audience || (Array.isArray(payload.aud) && payload.aud.indexOf(audience) >= 0);\r\n if (!validAudience) {\r\n Log.error(\"JoseUtil._validateJwt: Invalid audience in token\", payload.aud);\r\n return Promise.reject(new Error(\"Invalid audience in token: \" + payload.aud));\r\n }\r\n if (payload.azp && payload.azp !== audience) {\r\n Log.error(\"JoseUtil._validateJwt: Invalid azp in token\", payload.azp);\r\n return Promise.reject(new Error(\"Invalid azp in token: \" + payload.azp));\r\n }\r\n\r\n if (!timeInsensitive) {\r\n var lowerNow = now + clockSkew;\r\n var upperNow = now - clockSkew;\r\n\r\n if (!payload.iat) {\r\n Log.error(\"JoseUtil._validateJwt: iat was not provided\");\r\n return Promise.reject(new Error(\"iat was not provided\"));\r\n }\r\n if (lowerNow < payload.iat) {\r\n Log.error(\"JoseUtil._validateJwt: iat is in the future\", payload.iat);\r\n return Promise.reject(new Error(\"iat is in the future: \" + payload.iat));\r\n }\r\n\r\n if (payload.nbf && lowerNow < payload.nbf) {\r\n Log.error(\"JoseUtil._validateJwt: nbf is in the future\", payload.nbf);\r\n return Promise.reject(new Error(\"nbf is in the future: \" + payload.nbf));\r\n }\r\n\r\n if (!payload.exp) {\r\n Log.error(\"JoseUtil._validateJwt: exp was not provided\");\r\n return Promise.reject(new Error(\"exp was not provided\"));\r\n }\r\n if (payload.exp < upperNow) {\r\n Log.error(\"JoseUtil._validateJwt: exp is in the past\", payload.exp);\r\n return Promise.reject(new Error(\"exp is in the past:\" + payload.exp));\r\n }\r\n }\r\n\r\n return Promise.resolve(payload);\r\n }\r\n\r\n static _validateJwt(jwt, key, issuer, audience, clockSkew, now, timeInsensitive) {\r\n\r\n return JoseUtil.validateJwtAttributes(jwt, issuer, audience, clockSkew, now, timeInsensitive).then(payload => {\r\n try {\r\n if (!jws.JWS.verify(jwt, key, AllowedSigningAlgs)) {\r\n Log.error(\"JoseUtil._validateJwt: signature validation failed\");\r\n return Promise.reject(new Error(\"signature validation failed\"));\r\n }\r\n\r\n return payload;\r\n } catch (e) {\r\n Log.error(e && e.message || e);\r\n return Promise.reject(new Error(\"signature validation failed\"));\r\n }\r\n });\r\n }\r\n\r\n static hashString(value, alg) {\r\n try {\r\n return crypto.Util.hashString(value, alg);\r\n } catch (e) {\r\n Log.error(e);\r\n }\r\n }\r\n\r\n static hexToBase64Url(value) {\r\n try {\r\n return hextob64u(value);\r\n } catch (e) {\r\n Log.error(e);\r\n }\r\n }\r\n }\r\n}\r\n","import { jws, KEYUTIL as KeyUtil, X509, crypto, hextob64u, b64tohex } from '../../jsrsasign/dist/jsrsasign.js';\r\n\r\nconst AllowedSigningAlgs = ['RS256', 'RS384', 'RS512', 'PS256', 'PS384', 'PS512', 'ES256', 'ES384', 'ES512'];\r\n\r\nexport {\r\n jws,\r\n KeyUtil,\r\n X509,\r\n crypto,\r\n hextob64u,\r\n b64tohex,\r\n AllowedSigningAlgs\r\n};\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { JsonService } from './JsonService.js';\r\nimport { MetadataService } from './MetadataService.js';\r\nimport { Log } from './Log.js';\r\nimport { JoseUtil } from './JoseUtil.js';\r\n\r\nexport class UserInfoService {\r\n constructor(\r\n settings, \r\n JsonServiceCtor = JsonService, \r\n MetadataServiceCtor = MetadataService, \r\n joseUtil = JoseUtil\r\n ) {\r\n if (!settings) {\r\n Log.error(\"UserInfoService.ctor: No settings passed\");\r\n throw new Error(\"settings\");\r\n }\r\n\r\n this._settings = settings;\r\n this._jsonService = new JsonServiceCtor(undefined, undefined, this._getClaimsFromJwt.bind(this));\r\n this._metadataService = new MetadataServiceCtor(this._settings);\r\n this._joseUtil = joseUtil;\r\n }\r\n\r\n getClaims(token) {\r\n if (!token) {\r\n Log.error(\"UserInfoService.getClaims: No token passed\");\r\n return Promise.reject(new Error(\"A token is required\"));\r\n }\r\n\r\n return this._metadataService.getUserInfoEndpoint().then(url => {\r\n Log.debug(\"UserInfoService.getClaims: received userinfo url\", url);\r\n\r\n return this._jsonService.getJson(url, token).then(claims => {\r\n Log.debug(\"UserInfoService.getClaims: claims received\", claims);\r\n return claims;\r\n });\r\n });\r\n }\r\n\r\n _getClaimsFromJwt(req) {\r\n try {\r\n let jwt = this._joseUtil.parseJwt(req.responseText);\r\n if (!jwt || !jwt.header || !jwt.payload) {\r\n Log.error(\"UserInfoService._getClaimsFromJwt: Failed to parse JWT\", jwt);\r\n return Promise.reject(new Error(\"Failed to parse id_token\"));\r\n }\r\n\r\n var kid = jwt.header.kid;\r\n\r\n let issuerPromise;\r\n switch (this._settings.userInfoJwtIssuer) {\r\n case 'OP':\r\n issuerPromise = this._metadataService.getIssuer();\r\n break;\r\n case 'ANY':\r\n issuerPromise = Promise.resolve(jwt.payload.iss);\r\n break;\r\n default:\r\n issuerPromise = Promise.resolve(this._settings.userInfoJwtIssuer);\r\n break;\r\n }\r\n\r\n return issuerPromise.then(issuer => {\r\n Log.debug(\"UserInfoService._getClaimsFromJwt: Received issuer:\" + issuer);\r\n\r\n return this._metadataService.getSigningKeys().then(keys => {\r\n if (!keys) {\r\n Log.error(\"UserInfoService._getClaimsFromJwt: No signing keys from metadata\");\r\n return Promise.reject(new Error(\"No signing keys from metadata\"));\r\n }\r\n\r\n Log.debug(\"UserInfoService._getClaimsFromJwt: Received signing keys\");\r\n let key;\r\n if (!kid) {\r\n keys = this._filterByAlg(keys, jwt.header.alg);\r\n\r\n if (keys.length > 1) {\r\n Log.error(\"UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata\");\r\n return Promise.reject(new Error(\"No kid found in id_token and more than one key found in metadata\"));\r\n }\r\n else {\r\n // kid is mandatory only when there are multiple keys in the referenced JWK Set document\r\n // see http://openid.net/specs/openid-connect-core-1_0.html#Signing\r\n key = keys[0];\r\n }\r\n }\r\n else {\r\n key = keys.filter(key => {\r\n return key.kid === kid;\r\n })[0];\r\n }\r\n\r\n if (!key) {\r\n Log.error(\"UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys\");\r\n return Promise.reject(new Error(\"No key matching kid or alg found in signing keys\"));\r\n }\r\n\r\n let audience = this._settings.client_id;\r\n\r\n let clockSkewInSeconds = this._settings.clockSkew;\r\n Log.debug(\"UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: \", clockSkewInSeconds);\r\n\r\n return this._joseUtil.validateJwt(req.responseText, key, issuer, audience, clockSkewInSeconds, undefined, true).then(() => {\r\n Log.debug(\"UserInfoService._getClaimsFromJwt: JWT validation successful\");\r\n return jwt.payload;\r\n });\r\n });\r\n });\r\n return;\r\n }\r\n catch (e) {\r\n Log.error(\"UserInfoService._getClaimsFromJwt: Error parsing JWT response\", e.message);\r\n reject(e);\r\n return;\r\n }\r\n }\r\n\r\n _filterByAlg(keys, alg) {\r\n var kty = null;\r\n if (alg.startsWith(\"RS\")) {\r\n kty = \"RSA\";\r\n }\r\n else if (alg.startsWith(\"PS\")) {\r\n kty = \"PS\";\r\n }\r\n else if (alg.startsWith(\"ES\")) {\r\n kty = \"EC\";\r\n }\r\n else {\r\n Log.debug(\"UserInfoService._filterByAlg: alg not supported: \", alg);\r\n return [];\r\n }\r\n\r\n Log.debug(\"UserInfoService._filterByAlg: Looking for keys that match kty: \", kty);\r\n\r\n keys = keys.filter(key => {\r\n return key.kty === kty;\r\n });\r\n\r\n Log.debug(\"UserInfoService._filterByAlg: Number of keys that match kty: \", kty, keys.length);\r\n\r\n return keys;\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { JsonService } from './JsonService.js';\r\nimport { MetadataService } from './MetadataService.js';\r\nimport { Log } from './Log.js';\r\n\r\nexport class TokenClient {\r\n constructor(settings, JsonServiceCtor = JsonService, MetadataServiceCtor = MetadataService) {\r\n if (!settings) {\r\n Log.error(\"TokenClient.ctor: No settings passed\");\r\n throw new Error(\"settings\");\r\n }\r\n\r\n this._settings = settings;\r\n this._jsonService = new JsonServiceCtor();\r\n this._metadataService = new MetadataServiceCtor(this._settings);\r\n }\r\n\r\n exchangeCode(args = {}) {\r\n args = Object.assign({}, args);\r\n\r\n args.grant_type = args.grant_type || \"authorization_code\";\r\n args.client_id = args.client_id || this._settings.client_id;\r\n args.client_secret = args.client_secret || this._settings.client_secret;\r\n args.redirect_uri = args.redirect_uri || this._settings.redirect_uri;\r\n\r\n var basicAuth = undefined;\r\n var client_authentication = args._client_authentication || this._settings._client_authentication;\r\n delete args._client_authentication;\r\n\r\n if (!args.code) {\r\n Log.error(\"TokenClient.exchangeCode: No code passed\");\r\n return Promise.reject(new Error(\"A code is required\"));\r\n }\r\n if (!args.redirect_uri) {\r\n Log.error(\"TokenClient.exchangeCode: No redirect_uri passed\");\r\n return Promise.reject(new Error(\"A redirect_uri is required\"));\r\n }\r\n if (!args.code_verifier) {\r\n Log.error(\"TokenClient.exchangeCode: No code_verifier passed\");\r\n return Promise.reject(new Error(\"A code_verifier is required\"));\r\n }\r\n if (!args.client_id) {\r\n Log.error(\"TokenClient.exchangeCode: No client_id passed\");\r\n return Promise.reject(new Error(\"A client_id is required\"));\r\n }\r\n if (!args.client_secret && client_authentication == \"client_secret_basic\") {\r\n Log.error(\"TokenClient.exchangeCode: No client_secret passed\");\r\n return Promise.reject(new Error(\"A client_secret is required\"));\r\n }\r\n\r\n // Sending the client credentials using the Basic Auth method\r\n if(client_authentication == \"client_secret_basic\")\r\n {\r\n basicAuth = args.client_id + ':' + args.client_secret;\r\n delete args.client_id;\r\n delete args.client_secret;\r\n }\r\n\r\n return this._metadataService.getTokenEndpoint(false).then(url => {\r\n Log.debug(\"TokenClient.exchangeCode: Received token endpoint\");\r\n return this._jsonService.postForm(url, args, basicAuth).then(response => {\r\n Log.debug(\"TokenClient.exchangeCode: response received\");\r\n return response;\r\n });\r\n });\r\n }\r\n\r\n exchangeRefreshToken(args = {}) {\r\n args = Object.assign({}, args);\r\n\r\n args.grant_type = args.grant_type || \"refresh_token\";\r\n args.client_id = args.client_id || this._settings.client_id;\r\n args.client_secret = args.client_secret || this._settings.client_secret;\r\n\r\n var basicAuth = undefined;\r\n var client_authentication = args._client_authentication || this._settings._client_authentication;\r\n delete args._client_authentication;\r\n\r\n if (!args.refresh_token) {\r\n Log.error(\"TokenClient.exchangeRefreshToken: No refresh_token passed\");\r\n return Promise.reject(new Error(\"A refresh_token is required\"));\r\n }\r\n if (!args.client_id) {\r\n Log.error(\"TokenClient.exchangeRefreshToken: No client_id passed\");\r\n return Promise.reject(new Error(\"A client_id is required\"));\r\n }\r\n\r\n // Sending the client credentials using the Basic Auth method\r\n if(client_authentication == \"client_secret_basic\")\r\n {\r\n basicAuth = args.client_id + ':' + args.client_secret;\r\n delete args.client_id;\r\n delete args.client_secret;\r\n }\r\n\r\n return this._metadataService.getTokenEndpoint(false).then(url => {\r\n Log.debug(\"TokenClient.exchangeRefreshToken: Received token endpoint\");\r\n\r\n return this._jsonService.postForm(url, args, basicAuth).then(response => {\r\n Log.debug(\"TokenClient.exchangeRefreshToken: response received\");\r\n return response;\r\n });\r\n });\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\n\r\nexport class ErrorResponse extends Error {\r\n constructor({error, error_description, error_uri, state, session_state}={}\r\n ) {\r\n if (!error){\r\n Log.error(\"No error passed to ErrorResponse\");\r\n throw new Error(\"error\");\r\n }\r\n\r\n super(error_description || error);\r\n\r\n this.name = \"ErrorResponse\";\r\n\r\n this.error = error;\r\n this.error_description = error_description;\r\n this.error_uri = error_uri;\r\n\r\n this.state = state;\r\n this.session_state = session_state;\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { MetadataService } from './MetadataService.js';\r\nimport { UserInfoService } from './UserInfoService.js';\r\nimport { TokenClient } from './TokenClient.js';\r\nimport { ErrorResponse } from './ErrorResponse.js';\r\nimport { JoseUtil } from './JoseUtil.js';\r\n\r\nconst ProtocolClaims = [\"nonce\", \"at_hash\", \"iat\", \"nbf\", \"exp\", \"aud\", \"iss\", \"c_hash\"];\r\n\r\nexport class ResponseValidator {\r\n\r\n constructor(settings, \r\n MetadataServiceCtor = MetadataService,\r\n UserInfoServiceCtor = UserInfoService, \r\n joseUtil = JoseUtil,\r\n TokenClientCtor = TokenClient) {\r\n if (!settings) {\r\n Log.error(\"ResponseValidator.ctor: No settings passed to ResponseValidator\");\r\n throw new Error(\"settings\");\r\n }\r\n\r\n this._settings = settings;\r\n this._metadataService = new MetadataServiceCtor(this._settings);\r\n this._userInfoService = new UserInfoServiceCtor(this._settings);\r\n this._joseUtil = joseUtil;\r\n this._tokenClient = new TokenClientCtor(this._settings);\r\n }\r\n\r\n validateSigninResponse(state, response) {\r\n Log.debug(\"ResponseValidator.validateSigninResponse\");\r\n\r\n return this._processSigninParams(state, response).then(response => {\r\n Log.debug(\"ResponseValidator.validateSigninResponse: state processed\");\r\n return this._validateTokens(state, response).then(response => {\r\n Log.debug(\"ResponseValidator.validateSigninResponse: tokens validated\");\r\n return this._processClaims(state, response).then(response => {\r\n Log.debug(\"ResponseValidator.validateSigninResponse: claims processed\");\r\n return response;\r\n });\r\n });\r\n });\r\n }\r\n\r\n validateSignoutResponse(state, response) {\r\n if (state.id !== response.state) {\r\n Log.error(\"ResponseValidator.validateSignoutResponse: State does not match\");\r\n return Promise.reject(new Error(\"State does not match\"));\r\n }\r\n\r\n // now that we know the state matches, take the stored data\r\n // and set it into the response so callers can get their state\r\n // this is important for both success & error outcomes\r\n Log.debug(\"ResponseValidator.validateSignoutResponse: state validated\");\r\n response.state = state.data;\r\n\r\n if (response.error) {\r\n Log.warn(\"ResponseValidator.validateSignoutResponse: Response was error\", response.error);\r\n return Promise.reject(new ErrorResponse(response));\r\n }\r\n\r\n return Promise.resolve(response);\r\n }\r\n\r\n _processSigninParams(state, response) {\r\n if (state.id !== response.state) {\r\n Log.error(\"ResponseValidator._processSigninParams: State does not match\");\r\n return Promise.reject(new Error(\"State does not match\"));\r\n }\r\n\r\n if (!state.client_id) {\r\n Log.error(\"ResponseValidator._processSigninParams: No client_id on state\");\r\n return Promise.reject(new Error(\"No client_id on state\"));\r\n }\r\n\r\n if (!state.authority) {\r\n Log.error(\"ResponseValidator._processSigninParams: No authority on state\");\r\n return Promise.reject(new Error(\"No authority on state\"));\r\n }\r\n\r\n // this allows the authority to be loaded from the signin state\r\n if (!this._settings.authority) {\r\n this._settings.authority = state.authority;\r\n }\r\n // ensure we're using the correct authority if the authority is not loaded from signin state\r\n else if (this._settings.authority && this._settings.authority !== state.authority) {\r\n Log.error(\"ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state\");\r\n return Promise.reject(new Error(\"authority mismatch on settings vs. signin state\"));\r\n }\r\n // this allows the client_id to be loaded from the signin state\r\n if (!this._settings.client_id) {\r\n this._settings.client_id = state.client_id;\r\n }\r\n // ensure we're using the correct client_id if the client_id is not loaded from signin state\r\n else if (this._settings.client_id && this._settings.client_id !== state.client_id) {\r\n Log.error(\"ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state\");\r\n return Promise.reject(new Error(\"client_id mismatch on settings vs. signin state\"));\r\n }\r\n\r\n // now that we know the state matches, take the stored data\r\n // and set it into the response so callers can get their state\r\n // this is important for both success & error outcomes\r\n Log.debug(\"ResponseValidator._processSigninParams: state validated\");\r\n response.state = state.data;\r\n\r\n if (response.error) {\r\n Log.warn(\"ResponseValidator._processSigninParams: Response was error\", response.error);\r\n return Promise.reject(new ErrorResponse(response));\r\n }\r\n\r\n if (state.nonce && !response.id_token) {\r\n Log.error(\"ResponseValidator._processSigninParams: Expecting id_token in response\");\r\n return Promise.reject(new Error(\"No id_token in response\"));\r\n }\r\n\r\n if (!state.nonce && response.id_token) {\r\n Log.error(\"ResponseValidator._processSigninParams: Not expecting id_token in response\");\r\n return Promise.reject(new Error(\"Unexpected id_token in response\"));\r\n }\r\n\r\n if (state.code_verifier && !response.code) {\r\n Log.error(\"ResponseValidator._processSigninParams: Expecting code in response\");\r\n return Promise.reject(new Error(\"No code in response\"));\r\n }\r\n\r\n if (!state.code_verifier && response.code) {\r\n Log.error(\"ResponseValidator._processSigninParams: Not expecting code in response\");\r\n return Promise.reject(new Error(\"Unexpected code in response\"));\r\n }\r\n\r\n if (!response.scope) {\r\n // if there's no scope on the response, then assume all scopes granted (per-spec) and copy over scopes from original request\r\n response.scope = state.scope;\r\n }\r\n\r\n return Promise.resolve(response);\r\n }\r\n\r\n _processClaims(state, response) {\r\n if (response.isOpenIdConnect) {\r\n Log.debug(\"ResponseValidator._processClaims: response is OIDC, processing claims\");\r\n\r\n response.profile = this._filterProtocolClaims(response.profile);\r\n\r\n if (state.skipUserInfo !== true && this._settings.loadUserInfo && response.access_token) {\r\n Log.debug(\"ResponseValidator._processClaims: loading user info\");\r\n\r\n return this._userInfoService.getClaims(response.access_token).then(claims => {\r\n Log.debug(\"ResponseValidator._processClaims: user info claims received from user info endpoint\");\r\n\r\n if (claims.sub !== response.profile.sub) {\r\n Log.error(\"ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token\");\r\n return Promise.reject(new Error(\"sub from user info endpoint does not match sub in id_token\"));\r\n }\r\n\r\n response.profile = this._mergeClaims(response.profile, claims);\r\n Log.debug(\"ResponseValidator._processClaims: user info claims received, updated profile:\", response.profile);\r\n\r\n return response;\r\n });\r\n }\r\n else {\r\n Log.debug(\"ResponseValidator._processClaims: not loading user info\");\r\n }\r\n }\r\n else {\r\n Log.debug(\"ResponseValidator._processClaims: response is not OIDC, not processing claims\");\r\n }\r\n\r\n return Promise.resolve(response);\r\n }\r\n\r\n _mergeClaims(claims1, claims2) {\r\n var result = Object.assign({}, claims1);\r\n\r\n for (let name in claims2) {\r\n var values = claims2[name];\r\n if (!Array.isArray(values)) {\r\n values = [values];\r\n }\r\n\r\n for (let i = 0; i < values.length; i++) {\r\n let value = values[i];\r\n if (!result[name]) {\r\n result[name] = value;\r\n }\r\n else if (Array.isArray(result[name])) {\r\n if (result[name].indexOf(value) < 0) {\r\n result[name].push(value);\r\n }\r\n }\r\n else if (result[name] !== value) {\r\n if (typeof value === 'object' && this._settings.mergeClaims) {\r\n result[name] = this._mergeClaims(result[name], value);\r\n }\r\n else {\r\n result[name] = [result[name], value];\r\n }\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n _filterProtocolClaims(claims) {\r\n Log.debug(\"ResponseValidator._filterProtocolClaims, incoming claims:\", claims);\r\n\r\n var result = Object.assign({}, claims);\r\n\r\n if (this._settings._filterProtocolClaims) {\r\n ProtocolClaims.forEach(type => {\r\n delete result[type];\r\n });\r\n\r\n Log.debug(\"ResponseValidator._filterProtocolClaims: protocol claims filtered\", result);\r\n }\r\n else {\r\n Log.debug(\"ResponseValidator._filterProtocolClaims: protocol claims not filtered\")\r\n }\r\n\r\n return result;\r\n }\r\n\r\n _validateTokens(state, response) {\r\n if (response.code) {\r\n Log.debug(\"ResponseValidator._validateTokens: Validating code\");\r\n return this._processCode(state, response);\r\n }\r\n\r\n if (response.id_token) {\r\n if (response.access_token) {\r\n Log.debug(\"ResponseValidator._validateTokens: Validating id_token and access_token\");\r\n return this._validateIdTokenAndAccessToken(state, response);\r\n }\r\n\r\n Log.debug(\"ResponseValidator._validateTokens: Validating id_token\");\r\n return this._validateIdToken(state, response);\r\n }\r\n\r\n Log.debug(\"ResponseValidator._validateTokens: No code to process or id_token to validate\");\r\n return Promise.resolve(response);\r\n }\r\n\r\n _processCode(state, response) {\r\n var request = {\r\n client_id: state.client_id,\r\n client_secret: state.client_secret,\r\n code : response.code,\r\n redirect_uri: state.redirect_uri,\r\n code_verifier: state.code_verifier\r\n };\r\n\r\n if (state.extraTokenParams && typeof(state.extraTokenParams) === 'object') {\r\n Object.assign(request, state.extraTokenParams);\r\n }\r\n \r\n return this._tokenClient.exchangeCode(request).then(tokenResponse => {\r\n \r\n for(var key in tokenResponse) {\r\n response[key] = tokenResponse[key];\r\n }\r\n\r\n if (response.id_token) {\r\n Log.debug(\"ResponseValidator._processCode: token response successful, processing id_token\");\r\n return this._validateIdTokenAttributes(state, response);\r\n }\r\n else {\r\n Log.debug(\"ResponseValidator._processCode: token response successful, returning response\");\r\n }\r\n \r\n return response;\r\n });\r\n }\r\n\r\n _validateIdTokenAttributes(state, response) {\r\n return this._metadataService.getIssuer().then(issuer => {\r\n\r\n let audience = state.client_id;\r\n let clockSkewInSeconds = this._settings.clockSkew;\r\n Log.debug(\"ResponseValidator._validateIdTokenAttributes: Validaing JWT attributes; using clock skew (in seconds) of: \", clockSkewInSeconds);\r\n\r\n return this._settings.getEpochTime().then(now => {\r\n return this._joseUtil.validateJwtAttributes(response.id_token, issuer, audience, clockSkewInSeconds, now).then(payload => {\r\n \r\n if (state.nonce && state.nonce !== payload.nonce) {\r\n Log.error(\"ResponseValidator._validateIdTokenAttributes: Invalid nonce in id_token\");\r\n return Promise.reject(new Error(\"Invalid nonce in id_token\"));\r\n }\r\n \r\n if (!payload.sub) {\r\n Log.error(\"ResponseValidator._validateIdTokenAttributes: No sub present in id_token\");\r\n return Promise.reject(new Error(\"No sub present in id_token\"));\r\n }\r\n \r\n response.profile = payload;\r\n return response;\r\n });\r\n });\r\n });\r\n }\r\n\r\n _validateIdTokenAndAccessToken(state, response) {\r\n return this._validateIdToken(state, response).then(response => {\r\n return this._validateAccessToken(response);\r\n });\r\n }\r\n\r\n _getSigningKeyForJwt(jwt) {\r\n return this._metadataService.getSigningKeys().then(keys => {\r\n const kid = jwt.header.kid;\r\n if (!keys) {\r\n Log.error(\"ResponseValidator._validateIdToken: No signing keys from metadata\");\r\n return Promise.reject(new Error(\"No signing keys from metadata\"));\r\n }\r\n\r\n Log.debug(\"ResponseValidator._validateIdToken: Received signing keys\");\r\n let key;\r\n if (!kid) {\r\n keys = this._filterByAlg(keys, jwt.header.alg);\r\n\r\n if (keys.length > 1) {\r\n Log.error(\"ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata\");\r\n return Promise.reject(new Error(\"No kid found in id_token and more than one key found in metadata\"));\r\n } else {\r\n // kid is mandatory only when there are multiple keys in the referenced JWK Set document\r\n // see http://openid.net/specs/openid-connect-core-1_0.html#Signing\r\n key = keys[0];\r\n }\r\n } else {\r\n key = keys.filter(key => {\r\n return key.kid === kid;\r\n })[0];\r\n }\r\n return Promise.resolve(key);\r\n });\r\n }\r\n\r\n _getSigningKeyForJwtWithSingleRetry(jwt) {\r\n return this._getSigningKeyForJwt(jwt).then(key => {\r\n // Refreshing signingKeys if no suitable verification key is present for given jwt header.\r\n if (!key) {\r\n // set to undefined, to trigger network call to jwks_uri.\r\n this._metadataService.resetSigningKeys();\r\n return this._getSigningKeyForJwt(jwt);\r\n } else {\r\n return Promise.resolve(key);\r\n }\r\n });\r\n }\r\n\r\n _validateIdToken(state, response) {\r\n if (!state.nonce) {\r\n Log.error(\"ResponseValidator._validateIdToken: No nonce on state\");\r\n return Promise.reject(new Error(\"No nonce on state\"));\r\n }\r\n\r\n let jwt = this._joseUtil.parseJwt(response.id_token);\r\n if (!jwt || !jwt.header || !jwt.payload) {\r\n Log.error(\"ResponseValidator._validateIdToken: Failed to parse id_token\", jwt);\r\n return Promise.reject(new Error(\"Failed to parse id_token\"));\r\n }\r\n\r\n if (state.nonce !== jwt.payload.nonce) {\r\n Log.error(\"ResponseValidator._validateIdToken: Invalid nonce in id_token\");\r\n return Promise.reject(new Error(\"Invalid nonce in id_token\"));\r\n }\r\n\r\n return this._metadataService.getIssuer().then(issuer => {\r\n Log.debug(\"ResponseValidator._validateIdToken: Received issuer\");\r\n return this._getSigningKeyForJwtWithSingleRetry(jwt).then(key => {\r\n if (!key) {\r\n Log.error(\"ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys\");\r\n return Promise.reject(new Error(\"No key matching kid or alg found in signing keys\"));\r\n }\r\n\r\n let audience = state.client_id;\r\n\r\n let clockSkewInSeconds = this._settings.clockSkew;\r\n Log.debug(\"ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: \", clockSkewInSeconds);\r\n\r\n return this._joseUtil.validateJwt(response.id_token, key, issuer, audience, clockSkewInSeconds).then(()=>{\r\n Log.debug(\"ResponseValidator._validateIdToken: JWT validation successful\");\r\n\r\n if (!jwt.payload.sub) {\r\n Log.error(\"ResponseValidator._validateIdToken: No sub present in id_token\");\r\n return Promise.reject(new Error(\"No sub present in id_token\"));\r\n }\r\n\r\n response.profile = jwt.payload;\r\n\r\n return response;\r\n });\r\n });\r\n });\r\n }\r\n\r\n _filterByAlg(keys, alg){\r\n var kty = null;\r\n if (alg.startsWith(\"RS\")) {\r\n kty = \"RSA\";\r\n }\r\n else if (alg.startsWith(\"PS\")) {\r\n kty = \"PS\";\r\n }\r\n else if (alg.startsWith(\"ES\")) {\r\n kty = \"EC\";\r\n }\r\n else {\r\n Log.debug(\"ResponseValidator._filterByAlg: alg not supported: \", alg);\r\n return [];\r\n }\r\n\r\n Log.debug(\"ResponseValidator._filterByAlg: Looking for keys that match kty: \", kty);\r\n\r\n keys = keys.filter(key => {\r\n return key.kty === kty;\r\n });\r\n\r\n Log.debug(\"ResponseValidator._filterByAlg: Number of keys that match kty: \", kty, keys.length);\r\n\r\n return keys;\r\n }\r\n\r\n _validateAccessToken(response) {\r\n if (!response.profile) {\r\n Log.error(\"ResponseValidator._validateAccessToken: No profile loaded from id_token\");\r\n return Promise.reject(new Error(\"No profile loaded from id_token\"));\r\n }\r\n\r\n if (!response.profile.at_hash) {\r\n Log.error(\"ResponseValidator._validateAccessToken: No at_hash in id_token\");\r\n return Promise.reject(new Error(\"No at_hash in id_token\"));\r\n }\r\n\r\n if (!response.id_token) {\r\n Log.error(\"ResponseValidator._validateAccessToken: No id_token\");\r\n return Promise.reject(new Error(\"No id_token\"));\r\n }\r\n\r\n let jwt = this._joseUtil.parseJwt(response.id_token);\r\n if (!jwt || !jwt.header) {\r\n Log.error(\"ResponseValidator._validateAccessToken: Failed to parse id_token\", jwt);\r\n return Promise.reject(new Error(\"Failed to parse id_token\"));\r\n }\r\n\r\n var hashAlg = jwt.header.alg;\r\n if (!hashAlg || hashAlg.length !== 5) {\r\n Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\", hashAlg);\r\n return Promise.reject(new Error(\"Unsupported alg: \" + hashAlg));\r\n }\r\n\r\n var hashBits = hashAlg.substr(2, 3);\r\n if (!hashBits) {\r\n Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\", hashAlg, hashBits);\r\n return Promise.reject(new Error(\"Unsupported alg: \" + hashAlg));\r\n }\r\n\r\n hashBits = parseInt(hashBits);\r\n if (hashBits !== 256 && hashBits !== 384 && hashBits !== 512) {\r\n Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\", hashAlg, hashBits);\r\n return Promise.reject(new Error(\"Unsupported alg: \" + hashAlg));\r\n }\r\n\r\n let sha = \"sha\" + hashBits;\r\n var hash = this._joseUtil.hashString(response.access_token, sha);\r\n if (!hash) {\r\n Log.error(\"ResponseValidator._validateAccessToken: access_token hash failed:\", sha);\r\n return Promise.reject(new Error(\"Failed to validate at_hash\"));\r\n }\r\n\r\n var left = hash.substr(0, hash.length / 2);\r\n var left_b64u = this._joseUtil.hexToBase64Url(left);\r\n if (left_b64u !== response.profile.at_hash) {\r\n Log.error(\"ResponseValidator._validateAccessToken: Failed to validate at_hash\", left_b64u, response.profile.at_hash);\r\n return Promise.reject(new Error(\"Failed to validate at_hash\"));\r\n }\r\n\r\n Log.debug(\"ResponseValidator._validateAccessToken: success\");\r\n\r\n return Promise.resolve(response);\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { ClockService } from './ClockService.js';\r\nimport { WebStorageStateStore } from './WebStorageStateStore.js';\r\nimport { ResponseValidator } from './ResponseValidator.js';\r\nimport { MetadataService } from './MetadataService.js';\r\n\r\nconst OidcMetadataUrlPath = '.well-known/openid-configuration';\r\n\r\nconst DefaultResponseType = \"id_token\";\r\nconst DefaultScope = \"openid\";\r\nconst DefaultClientAuthentication = \"client_secret_post\" // The default value must be client_secret_basic, as explained in https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication\r\nconst DefaultStaleStateAge = 60 * 15; // seconds\r\nconst DefaultClockSkewInSeconds = 60 * 5;\r\n\r\nexport class OidcClientSettings {\r\n constructor({\r\n // metadata related\r\n authority, metadataUrl, metadata, signingKeys, metadataSeed,\r\n // client related\r\n client_id, client_secret, response_type = DefaultResponseType, scope = DefaultScope,\r\n redirect_uri, post_logout_redirect_uri,\r\n client_authentication = DefaultClientAuthentication,\r\n // optional protocol\r\n prompt, display, max_age, ui_locales, acr_values, resource, response_mode,\r\n // behavior flags\r\n filterProtocolClaims = true, loadUserInfo = true,\r\n staleStateAge = DefaultStaleStateAge, \r\n clockSkew = DefaultClockSkewInSeconds,\r\n clockService = new ClockService(),\r\n userInfoJwtIssuer = 'OP',\r\n mergeClaims = false,\r\n // other behavior\r\n stateStore = new WebStorageStateStore(),\r\n ResponseValidatorCtor = ResponseValidator,\r\n MetadataServiceCtor = MetadataService,\r\n // extra query params\r\n extraQueryParams = {},\r\n extraTokenParams = {}\r\n } = {}) {\r\n\r\n this._authority = authority;\r\n this._metadataUrl = metadataUrl;\r\n this._metadata = metadata;\r\n this._metadataSeed = metadataSeed;\r\n this._signingKeys = signingKeys;\r\n\r\n this._client_id = client_id;\r\n this._client_secret = client_secret;\r\n this._response_type = response_type;\r\n this._scope = scope;\r\n this._redirect_uri = redirect_uri;\r\n this._post_logout_redirect_uri = post_logout_redirect_uri;\r\n this._client_authentication = client_authentication;\r\n\r\n this._prompt = prompt;\r\n this._display = display;\r\n this._max_age = max_age;\r\n this._ui_locales = ui_locales;\r\n this._acr_values = acr_values;\r\n this._resource = resource;\r\n this._response_mode = response_mode;\r\n\r\n this._filterProtocolClaims = !!filterProtocolClaims;\r\n this._loadUserInfo = !!loadUserInfo;\r\n this._staleStateAge = staleStateAge;\r\n this._clockSkew = clockSkew;\r\n this._clockService = clockService;\r\n this._userInfoJwtIssuer = userInfoJwtIssuer;\r\n this._mergeClaims = !!mergeClaims;\r\n\r\n this._stateStore = stateStore;\r\n this._validator = new ResponseValidatorCtor(this);\r\n this._metadataService = new MetadataServiceCtor(this);\r\n\r\n this._extraQueryParams = typeof extraQueryParams === 'object' ? extraQueryParams : {};\r\n this._extraTokenParams = typeof extraTokenParams === 'object' ? extraTokenParams : {};\r\n }\r\n\r\n // client config\r\n get client_id() {\r\n return this._client_id;\r\n }\r\n set client_id(value) {\r\n if (!this._client_id) {\r\n // one-time set only\r\n this._client_id = value;\r\n }\r\n else {\r\n Log.error(\"OidcClientSettings.set_client_id: client_id has already been assigned.\")\r\n throw new Error(\"client_id has already been assigned.\")\r\n }\r\n }\r\n get client_secret() {\r\n return this._client_secret;\r\n }\r\n get response_type() {\r\n return this._response_type;\r\n }\r\n get scope() {\r\n return this._scope;\r\n }\r\n get redirect_uri() {\r\n return this._redirect_uri;\r\n }\r\n get post_logout_redirect_uri() {\r\n return this._post_logout_redirect_uri;\r\n }\r\n get client_authentication() {\r\n return this._client_authentication;\r\n }\r\n \r\n\r\n // optional protocol params\r\n get prompt() {\r\n return this._prompt;\r\n }\r\n get display() {\r\n return this._display;\r\n }\r\n get max_age() {\r\n return this._max_age;\r\n }\r\n get ui_locales() {\r\n return this._ui_locales;\r\n }\r\n get acr_values() {\r\n return this._acr_values;\r\n }\r\n get resource() {\r\n return this._resource;\r\n }\r\n get response_mode() {\r\n return this._response_mode;\r\n }\r\n\r\n\r\n // metadata\r\n get authority() {\r\n return this._authority;\r\n }\r\n set authority(value) {\r\n if (!this._authority) {\r\n // one-time set only\r\n this._authority = value;\r\n }\r\n else {\r\n Log.error(\"OidcClientSettings.set_authority: authority has already been assigned.\")\r\n throw new Error(\"authority has already been assigned.\")\r\n }\r\n }\r\n get metadataUrl() {\r\n if (!this._metadataUrl) {\r\n this._metadataUrl = this.authority;\r\n\r\n if (this._metadataUrl && this._metadataUrl.indexOf(OidcMetadataUrlPath) < 0) {\r\n if (this._metadataUrl[this._metadataUrl.length - 1] !== '/') {\r\n this._metadataUrl += '/';\r\n }\r\n this._metadataUrl += OidcMetadataUrlPath;\r\n }\r\n }\r\n\r\n return this._metadataUrl;\r\n }\r\n\r\n // settable/cachable metadata values\r\n get metadata() {\r\n return this._metadata;\r\n }\r\n set metadata(value) {\r\n this._metadata = value;\r\n }\r\n get metadataSeed() {\r\n return this._metadataSeed;\r\n }\r\n set metadataSeed(value) {\r\n this._metadataSeed = value;\r\n }\r\n\r\n get signingKeys() {\r\n return this._signingKeys;\r\n }\r\n set signingKeys(value) {\r\n this._signingKeys = value;\r\n }\r\n\r\n // behavior flags\r\n get filterProtocolClaims() {\r\n return this._filterProtocolClaims;\r\n }\r\n get loadUserInfo() {\r\n return this._loadUserInfo;\r\n }\r\n get staleStateAge() {\r\n return this._staleStateAge;\r\n }\r\n get clockSkew() {\r\n return this._clockSkew;\r\n }\r\n get userInfoJwtIssuer() {\r\n return this._userInfoJwtIssuer;\r\n }\r\n get mergeClaims() {\r\n return this._mergeClaims;\r\n }\r\n \r\n get stateStore() {\r\n return this._stateStore;\r\n }\r\n get validator() {\r\n return this._validator;\r\n }\r\n get metadataService() {\r\n return this._metadataService;\r\n }\r\n\r\n // extra query params\r\n get extraQueryParams() {\r\n return this._extraQueryParams;\r\n }\r\n set extraQueryParams(value) {\r\n if (typeof value === 'object'){\r\n this._extraQueryParams = value;\r\n } else {\r\n this._extraQueryParams = {};\r\n }\r\n }\r\n\r\n // extra token params\r\n get extraTokenParams() {\r\n return this._extraTokenParams;\r\n }\r\n set extraTokenParams(value) {\r\n if (typeof value === 'object'){\r\n this._extraTokenParams = value;\r\n } else {\r\n this._extraTokenParams = {};\r\n }\r\n }\r\n\r\n // get the time\r\n getEpochTime() {\r\n return this._clockService.getEpochTime();\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { Global } from './Global.js';\r\n\r\nexport class UrlUtility {\r\n static addQueryParam(url, name, value) {\r\n if (url.indexOf('?') < 0) {\r\n url += \"?\";\r\n }\r\n\r\n if (url[url.length - 1] !== \"?\") {\r\n url += \"&\";\r\n }\r\n\r\n url += encodeURIComponent(name);\r\n url += \"=\";\r\n url += encodeURIComponent(value);\r\n\r\n return url;\r\n }\r\n\r\n static parseUrlFragment(value, delimiter = \"#\", global = Global) {\r\n if (typeof value !== 'string'){\r\n value = global.location.href;\r\n }\r\n\r\n var idx = value.lastIndexOf(delimiter);\r\n if (idx >= 0) {\r\n value = value.substr(idx + 1);\r\n }\r\n\r\n if (delimiter === \"?\") {\r\n // if we're doing query, then strip off hash fragment before we parse\r\n idx = value.indexOf('#');\r\n if (idx >= 0) {\r\n value = value.substr(0, idx);\r\n }\r\n }\r\n\r\n var params = {},\r\n regex = /([^&=]+)=([^&]*)/g,\r\n m;\r\n\r\n var counter = 0;\r\n while (m = regex.exec(value)) {\r\n params[decodeURIComponent(m[1])] = decodeURIComponent(m[2].replace(/\\+/g, ' '));\r\n if (counter++ > 50) {\r\n Log.error(\"UrlUtility.parseUrlFragment: response exceeded expected number of parameters\", value);\r\n return {\r\n error: \"Response exceeded expected number of parameters\"\r\n };\r\n }\r\n }\r\n\r\n for (var prop in params) {\r\n return params;\r\n }\r\n\r\n return {};\r\n }\r\n}\r\n","/**\r\n * Generates RFC4122 version 4 guid ()\r\n */\r\n\r\nvar crypto = (typeof window !== 'undefined') ? (window.crypto || window.msCrypto) : null;\r\n\r\nfunction _cryptoUuidv4() {\r\n return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>\r\n (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\r\n )\r\n}\r\n\r\nfunction _uuidv4() {\r\n return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>\r\n (c ^ Math.random() * 16 >> c / 4).toString(16)\r\n )\r\n}\r\n\r\nexport default function random() {\r\n var hasCrypto = crypto != 'undefined' && crypto !== null;\r\n var hasRandomValues = hasCrypto && (typeof(crypto.getRandomValues) != 'undefined'); \r\n var uuid = hasRandomValues ? _cryptoUuidv4 : _uuidv4;\r\n return uuid().replace(/-/g, '');\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport random from './random.js';\r\n\r\nexport class State {\r\n constructor({id, data, created, request_type} = {}) {\r\n this._id = id || random();\r\n this._data = data;\r\n\r\n if (typeof created === 'number' && created > 0) {\r\n this._created = created;\r\n }\r\n else {\r\n this._created = parseInt(Date.now() / 1000);\r\n }\r\n this._request_type = request_type;\r\n }\r\n\r\n get id() {\r\n return this._id;\r\n }\r\n get data() {\r\n return this._data;\r\n }\r\n get created() {\r\n return this._created;\r\n }\r\n get request_type() {\r\n return this._request_type;\r\n }\r\n\r\n toStorageString() {\r\n Log.debug(\"State.toStorageString\");\r\n return JSON.stringify({\r\n id: this.id,\r\n data: this.data,\r\n created: this.created,\r\n request_type: this.request_type\r\n });\r\n }\r\n\r\n static fromStorageString(storageString) {\r\n Log.debug(\"State.fromStorageString\");\r\n return new State(JSON.parse(storageString));\r\n }\r\n\r\n static clearStaleState(storage, age) {\r\n\r\n var cutoff = Date.now() / 1000 - age;\r\n\r\n return storage.getAllKeys().then(keys => {\r\n Log.debug(\"State.clearStaleState: got keys\", keys);\r\n\r\n var promises = [];\r\n for (let i = 0; i < keys.length; i++) {\r\n let key = keys[i];\r\n var p = storage.get(key).then(item => {\r\n let remove = false;\r\n\r\n if (item) {\r\n try {\r\n var state = State.fromStorageString(item)\r\n\r\n Log.debug(\"State.clearStaleState: got item from key: \", key, state.created);\r\n\r\n if (state.created <= cutoff) {\r\n remove = true;\r\n }\r\n }\r\n catch (e) {\r\n Log.error(\"State.clearStaleState: Error parsing state for key\", key, e.message);\r\n remove = true;\r\n }\r\n }\r\n else {\r\n Log.debug(\"State.clearStaleState: no item in storage for key: \", key);\r\n remove = true;\r\n }\r\n\r\n if (remove) {\r\n Log.debug(\"State.clearStaleState: removed item for key: \", key);\r\n return storage.remove(key);\r\n }\r\n });\r\n\r\n promises.push(p);\r\n }\r\n\r\n Log.debug(\"State.clearStaleState: waiting on promise count:\", promises.length);\r\n return Promise.all(promises);\r\n });\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { State } from './State.js';\r\nimport { JoseUtil } from './JoseUtil.js';\r\nimport random from './random.js';\r\n\r\nexport class SigninState extends State {\r\n constructor({nonce, authority, client_id, redirect_uri, code_verifier, response_mode, client_secret, scope, extraTokenParams, skipUserInfo} = {}) {\r\n super(arguments[0]);\r\n\r\n if (nonce === true) {\r\n this._nonce = random();\r\n }\r\n else if (nonce) {\r\n this._nonce = nonce;\r\n }\r\n\r\n if (code_verifier === true) {\r\n // random() produces 32 length\r\n this._code_verifier = random() + random() + random();\r\n }\r\n else if (code_verifier) {\r\n this._code_verifier = code_verifier;\r\n }\r\n \r\n if (this.code_verifier) {\r\n let hash = JoseUtil.hashString(this.code_verifier, \"SHA256\");\r\n this._code_challenge = JoseUtil.hexToBase64Url(hash);\r\n }\r\n\r\n this._redirect_uri = redirect_uri;\r\n this._authority = authority;\r\n this._client_id = client_id;\r\n this._response_mode = response_mode;\r\n this._client_secret = client_secret;\r\n this._scope = scope;\r\n this._extraTokenParams = extraTokenParams;\r\n this._skipUserInfo = skipUserInfo;\r\n }\r\n\r\n get nonce() {\r\n return this._nonce;\r\n }\r\n get authority() {\r\n return this._authority;\r\n }\r\n get client_id() {\r\n return this._client_id;\r\n }\r\n get redirect_uri() {\r\n return this._redirect_uri;\r\n }\r\n get code_verifier() {\r\n return this._code_verifier;\r\n }\r\n get code_challenge() {\r\n return this._code_challenge;\r\n }\r\n get response_mode() {\r\n return this._response_mode;\r\n }\r\n get client_secret() {\r\n return this._client_secret;\r\n }\r\n get scope() {\r\n return this._scope;\r\n }\r\n get extraTokenParams() {\r\n return this._extraTokenParams;\r\n }\r\n get skipUserInfo() {\r\n return this._skipUserInfo;\r\n }\r\n \r\n toStorageString() {\r\n Log.debug(\"SigninState.toStorageString\");\r\n return JSON.stringify({\r\n id: this.id,\r\n data: this.data,\r\n created: this.created,\r\n request_type: this.request_type,\r\n nonce: this.nonce,\r\n code_verifier: this.code_verifier,\r\n redirect_uri: this.redirect_uri,\r\n authority: this.authority,\r\n client_id: this.client_id,\r\n response_mode: this.response_mode,\r\n client_secret: this.client_secret,\r\n scope: this.scope,\r\n extraTokenParams : this.extraTokenParams,\r\n skipUserInfo: this.skipUserInfo\r\n });\r\n }\r\n\r\n static fromStorageString(storageString) {\r\n Log.debug(\"SigninState.fromStorageString\");\r\n var data = JSON.parse(storageString);\r\n return new SigninState(data);\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { UrlUtility } from './UrlUtility.js';\r\nimport { SigninState } from './SigninState.js';\r\n\r\nexport class SigninRequest {\r\n constructor({\r\n // mandatory\r\n url, client_id, redirect_uri, response_type, scope, authority,\r\n // optional\r\n data, prompt, display, max_age, ui_locales, id_token_hint, login_hint, acr_values, resource, response_mode,\r\n request, request_uri, extraQueryParams, request_type, client_secret, extraTokenParams, skipUserInfo\r\n }) {\r\n if (!url) {\r\n Log.error(\"SigninRequest.ctor: No url passed\");\r\n throw new Error(\"url\");\r\n }\r\n if (!client_id) {\r\n Log.error(\"SigninRequest.ctor: No client_id passed\");\r\n throw new Error(\"client_id\");\r\n }\r\n if (!redirect_uri) {\r\n Log.error(\"SigninRequest.ctor: No redirect_uri passed\");\r\n throw new Error(\"redirect_uri\");\r\n }\r\n if (!response_type) {\r\n Log.error(\"SigninRequest.ctor: No response_type passed\");\r\n throw new Error(\"response_type\");\r\n }\r\n if (!scope) {\r\n Log.error(\"SigninRequest.ctor: No scope passed\");\r\n throw new Error(\"scope\");\r\n }\r\n if (!authority) {\r\n Log.error(\"SigninRequest.ctor: No authority passed\");\r\n throw new Error(\"authority\");\r\n }\r\n\r\n let oidc = SigninRequest.isOidc(response_type);\r\n let code = SigninRequest.isCode(response_type);\r\n\r\n if (!response_mode) {\r\n response_mode = SigninRequest.isCode(response_type) ? \"query\" : null;\r\n }\r\n\r\n this.state = new SigninState({ nonce: oidc, \r\n data, client_id, authority, redirect_uri, \r\n code_verifier: code, \r\n request_type, response_mode,\r\n client_secret, scope, extraTokenParams, skipUserInfo });\r\n\r\n url = UrlUtility.addQueryParam(url, \"client_id\", client_id);\r\n url = UrlUtility.addQueryParam(url, \"redirect_uri\", redirect_uri);\r\n url = UrlUtility.addQueryParam(url, \"response_type\", response_type);\r\n url = UrlUtility.addQueryParam(url, \"scope\", scope);\r\n\r\n url = UrlUtility.addQueryParam(url, \"state\", this.state.id);\r\n if (oidc) {\r\n url = UrlUtility.addQueryParam(url, \"nonce\", this.state.nonce);\r\n }\r\n if (code) {\r\n url = UrlUtility.addQueryParam(url, \"code_challenge\", this.state.code_challenge);\r\n url = UrlUtility.addQueryParam(url, \"code_challenge_method\", \"S256\");\r\n }\r\n\r\n var optional = { prompt, display, max_age, ui_locales, id_token_hint, login_hint, acr_values, resource, request, request_uri, response_mode };\r\n for(let key in optional){\r\n if (optional[key]) {\r\n url = UrlUtility.addQueryParam(url, key, optional[key]);\r\n }\r\n }\r\n\r\n for(let key in extraQueryParams){\r\n url = UrlUtility.addQueryParam(url, key, extraQueryParams[key])\r\n }\r\n\r\n this.url = url;\r\n }\r\n\r\n static isOidc(response_type) {\r\n var result = response_type.split(/\\s+/g).filter(function(item) {\r\n return item === \"id_token\";\r\n });\r\n return !!(result[0]);\r\n }\r\n\r\n static isOAuth(response_type) {\r\n var result = response_type.split(/\\s+/g).filter(function(item) {\r\n return item === \"token\";\r\n });\r\n return !!(result[0]);\r\n }\r\n \r\n static isCode(response_type) {\r\n var result = response_type.split(/\\s+/g).filter(function(item) {\r\n return item === \"code\";\r\n });\r\n return !!(result[0]);\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { UrlUtility } from './UrlUtility.js';\r\n\r\nconst OidcScope = \"openid\";\r\n\r\nexport class SigninResponse {\r\n constructor(url, delimiter = \"#\") {\r\n\r\n var values = UrlUtility.parseUrlFragment(url, delimiter);\r\n\r\n this.error = values.error;\r\n this.error_description = values.error_description;\r\n this.error_uri = values.error_uri;\r\n\r\n this.code = values.code;\r\n this.state = values.state;\r\n this.id_token = values.id_token;\r\n this.session_state = values.session_state;\r\n this.access_token = values.access_token;\r\n this.token_type = values.token_type;\r\n this.scope = values.scope;\r\n this.profile = undefined; // will be set from ResponseValidator\r\n\r\n this.expires_in = values.expires_in;\r\n }\r\n\r\n get expires_in() {\r\n if (this.expires_at) {\r\n let now = parseInt(Date.now() / 1000);\r\n return this.expires_at - now;\r\n }\r\n return undefined;\r\n }\r\n set expires_in(value){\r\n let expires_in = parseInt(value);\r\n if (typeof expires_in === 'number' && expires_in > 0) {\r\n let now = parseInt(Date.now() / 1000);\r\n this.expires_at = now + expires_in;\r\n }\r\n }\r\n\r\n get expired() {\r\n let expires_in = this.expires_in;\r\n if (expires_in !== undefined) {\r\n return expires_in <= 0;\r\n }\r\n return undefined;\r\n }\r\n\r\n get scopes() {\r\n return (this.scope || \"\").split(\" \");\r\n }\r\n\r\n get isOpenIdConnect() {\r\n return this.scopes.indexOf(OidcScope) >= 0 || !!this.id_token;\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { UrlUtility } from './UrlUtility.js';\r\nimport { State } from './State.js';\r\n\r\nexport class SignoutRequest {\r\n constructor({url, id_token_hint, post_logout_redirect_uri, data, extraQueryParams, request_type}) {\r\n if (!url) {\r\n Log.error(\"SignoutRequest.ctor: No url passed\");\r\n throw new Error(\"url\");\r\n }\r\n\r\n if (id_token_hint) {\r\n url = UrlUtility.addQueryParam(url, \"id_token_hint\", id_token_hint);\r\n }\r\n\r\n if (post_logout_redirect_uri) {\r\n url = UrlUtility.addQueryParam(url, \"post_logout_redirect_uri\", post_logout_redirect_uri);\r\n\r\n if (data) {\r\n this.state = new State({ data, request_type });\r\n\r\n url = UrlUtility.addQueryParam(url, \"state\", this.state.id);\r\n }\r\n }\r\n\r\n for(let key in extraQueryParams){\r\n url = UrlUtility.addQueryParam(url, key, extraQueryParams[key])\r\n }\r\n\r\n this.url = url;\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { UrlUtility } from './UrlUtility.js';\r\n\r\nexport class SignoutResponse {\r\n constructor(url) {\r\n\r\n var values = UrlUtility.parseUrlFragment(url, \"?\");\r\n\r\n this.error = values.error;\r\n this.error_description = values.error_description;\r\n this.error_uri = values.error_uri;\r\n\r\n this.state = values.state;\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { OidcClientSettings } from './OidcClientSettings.js';\r\nimport { ErrorResponse } from './ErrorResponse.js';\r\nimport { SigninRequest } from './SigninRequest.js';\r\nimport { SigninResponse } from './SigninResponse.js';\r\nimport { SignoutRequest } from './SignoutRequest.js';\r\nimport { SignoutResponse } from './SignoutResponse.js';\r\nimport { SigninState } from './SigninState.js';\r\nimport { State } from './State.js';\r\n\r\nexport class OidcClient {\r\n constructor(settings = {}) {\r\n if (settings instanceof OidcClientSettings) {\r\n this._settings = settings;\r\n }\r\n else {\r\n this._settings = new OidcClientSettings(settings);\r\n }\r\n }\r\n\r\n get _stateStore() {\r\n return this.settings.stateStore;\r\n }\r\n get _validator() {\r\n return this.settings.validator;\r\n }\r\n get _metadataService() {\r\n return this.settings.metadataService;\r\n }\r\n\r\n get settings() {\r\n return this._settings;\r\n }\r\n get metadataService() {\r\n return this._metadataService;\r\n }\r\n\r\n createSigninRequest({\r\n response_type, scope, redirect_uri,\r\n // data was meant to be the place a caller could indicate the data to\r\n // have round tripped, but people were getting confused, so i added state (since that matches the spec)\r\n // and so now if data is not passed, but state is then state will be used\r\n data, state, prompt, display, max_age, ui_locales, id_token_hint, login_hint, acr_values,\r\n resource, request, request_uri, response_mode, extraQueryParams, extraTokenParams, request_type, skipUserInfo } = {},\r\n stateStore\r\n ) {\r\n Log.debug(\"OidcClient.createSigninRequest\");\r\n\r\n let client_id = this._settings.client_id;\r\n response_type = response_type || this._settings.response_type;\r\n scope = scope || this._settings.scope;\r\n redirect_uri = redirect_uri || this._settings.redirect_uri;\r\n\r\n // id_token_hint, login_hint aren't allowed on _settings\r\n prompt = prompt || this._settings.prompt;\r\n display = display || this._settings.display;\r\n max_age = max_age || this._settings.max_age;\r\n ui_locales = ui_locales || this._settings.ui_locales;\r\n acr_values = acr_values || this._settings.acr_values;\r\n resource = resource || this._settings.resource;\r\n response_mode = response_mode || this._settings.response_mode;\r\n extraQueryParams = extraQueryParams || this._settings.extraQueryParams;\r\n extraTokenParams = extraTokenParams || this._settings.extraTokenParams;\r\n\r\n let authority = this._settings.authority;\r\n\r\n if (SigninRequest.isCode(response_type) && response_type !== \"code\") {\r\n return Promise.reject(new Error(\"OpenID Connect hybrid flow is not supported\"));\r\n }\r\n\r\n return this._metadataService.getAuthorizationEndpoint().then(url => {\r\n Log.debug(\"OidcClient.createSigninRequest: Received authorization endpoint\", url);\r\n\r\n let signinRequest = new SigninRequest({\r\n url,\r\n client_id,\r\n redirect_uri,\r\n response_type,\r\n scope,\r\n data: data || state,\r\n authority,\r\n prompt, display, max_age, ui_locales, id_token_hint, login_hint, acr_values,\r\n resource, request, request_uri, extraQueryParams, extraTokenParams, request_type, response_mode,\r\n client_secret: this._settings.client_secret,\r\n skipUserInfo\r\n });\r\n\r\n var signinState = signinRequest.state;\r\n stateStore = stateStore || this._stateStore;\r\n\r\n return stateStore.set(signinState.id, signinState.toStorageString()).then(() => {\r\n return signinRequest;\r\n });\r\n });\r\n }\r\n\r\n readSigninResponseState(url, stateStore, removeState = false) {\r\n Log.debug(\"OidcClient.readSigninResponseState\");\r\n\r\n let useQuery = this._settings.response_mode === \"query\" || \r\n (!this._settings.response_mode && SigninRequest.isCode(this._settings.response_type));\r\n let delimiter = useQuery ? \"?\" : \"#\";\r\n\r\n var response = new SigninResponse(url, delimiter);\r\n\r\n if (!response.state) {\r\n Log.error(\"OidcClient.readSigninResponseState: No state in response\");\r\n return Promise.reject(new Error(\"No state in response\"));\r\n }\r\n\r\n stateStore = stateStore || this._stateStore;\r\n\r\n var stateApi = removeState ? stateStore.remove.bind(stateStore) : stateStore.get.bind(stateStore);\r\n\r\n return stateApi(response.state).then(storedStateString => {\r\n if (!storedStateString) {\r\n Log.error(\"OidcClient.readSigninResponseState: No matching state found in storage\");\r\n throw new Error(\"No matching state found in storage\");\r\n }\r\n\r\n let state = SigninState.fromStorageString(storedStateString);\r\n return {state, response};\r\n });\r\n }\r\n\r\n processSigninResponse(url, stateStore) {\r\n Log.debug(\"OidcClient.processSigninResponse\");\r\n\r\n return this.readSigninResponseState(url, stateStore, true).then(({state, response}) => {\r\n Log.debug(\"OidcClient.processSigninResponse: Received state from storage; validating response\");\r\n return this._validator.validateSigninResponse(state, response);\r\n });\r\n }\r\n\r\n createSignoutRequest({id_token_hint, data, state, post_logout_redirect_uri, extraQueryParams, request_type } = {},\r\n stateStore\r\n ) {\r\n Log.debug(\"OidcClient.createSignoutRequest\");\r\n\r\n post_logout_redirect_uri = post_logout_redirect_uri || this._settings.post_logout_redirect_uri;\r\n extraQueryParams = extraQueryParams || this._settings.extraQueryParams;\r\n\r\n return this._metadataService.getEndSessionEndpoint().then(url => {\r\n if (!url) {\r\n Log.error(\"OidcClient.createSignoutRequest: No end session endpoint url returned\");\r\n throw new Error(\"no end session endpoint\");\r\n }\r\n\r\n Log.debug(\"OidcClient.createSignoutRequest: Received end session endpoint\", url);\r\n\r\n let request = new SignoutRequest({\r\n url,\r\n id_token_hint,\r\n post_logout_redirect_uri,\r\n data: data || state,\r\n extraQueryParams,\r\n request_type\r\n });\r\n\r\n var signoutState = request.state;\r\n if (signoutState) {\r\n Log.debug(\"OidcClient.createSignoutRequest: Signout request has state to persist\");\r\n\r\n stateStore = stateStore || this._stateStore;\r\n stateStore.set(signoutState.id, signoutState.toStorageString());\r\n }\r\n\r\n return request;\r\n });\r\n }\r\n\r\n readSignoutResponseState(url, stateStore, removeState = false) {\r\n Log.debug(\"OidcClient.readSignoutResponseState\");\r\n\r\n var response = new SignoutResponse(url);\r\n if (!response.state) {\r\n Log.debug(\"OidcClient.readSignoutResponseState: No state in response\");\r\n\r\n if (response.error) {\r\n Log.warn(\"OidcClient.readSignoutResponseState: Response was error: \", response.error);\r\n return Promise.reject(new ErrorResponse(response));\r\n }\r\n\r\n return Promise.resolve({state: undefined, response});\r\n }\r\n\r\n var stateKey = response.state;\r\n\r\n stateStore = stateStore || this._stateStore;\r\n\r\n var stateApi = removeState ? stateStore.remove.bind(stateStore) : stateStore.get.bind(stateStore);\r\n return stateApi(stateKey).then(storedStateString => {\r\n if (!storedStateString) {\r\n Log.error(\"OidcClient.readSignoutResponseState: No matching state found in storage\");\r\n throw new Error(\"No matching state found in storage\");\r\n }\r\n\r\n let state = State.fromStorageString(storedStateString);\r\n\r\n return {state, response};\r\n });\r\n }\r\n\r\n processSignoutResponse(url, stateStore) {\r\n Log.debug(\"OidcClient.processSignoutResponse\");\r\n\r\n return this.readSignoutResponseState(url, stateStore, true).then(({state, response}) => {\r\n if (state) {\r\n Log.debug(\"OidcClient.processSignoutResponse: Received state from storage; validating response\");\r\n return this._validator.validateSignoutResponse(state, response);\r\n }\r\n else {\r\n Log.debug(\"OidcClient.processSignoutResponse: No state from storage; skipping validating response\");\r\n return response;\r\n }\r\n });\r\n }\r\n\r\n clearStaleState(stateStore) {\r\n Log.debug(\"OidcClient.clearStaleState\");\r\n\r\n stateStore = stateStore || this._stateStore;\r\n\r\n return State.clearStaleState(stateStore, this.settings.staleStateAge);\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\n\r\nexport class RedirectNavigator {\r\n\r\n prepare() {\r\n return Promise.resolve(this);\r\n }\r\n\r\n navigate(params) {\r\n if (!params || !params.url) {\r\n Log.error(\"RedirectNavigator.navigate: No url provided\");\r\n return Promise.reject(new Error(\"No url provided\"));\r\n }\r\n\r\n if (params.useReplaceToNavigate) {\r\n window.location.replace(params.url);\r\n }\r\n else {\r\n window.location = params.url;\r\n }\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n get url() {\r\n return window.location.href;\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { UrlUtility } from './UrlUtility.js';\r\n\r\nconst CheckForPopupClosedInterval = 500;\r\nconst DefaultPopupFeatures = 'location=no,toolbar=no,width=500,height=500,left=100,top=100;';\r\n//const DefaultPopupFeatures = 'location=no,toolbar=no,width=500,height=500,left=100,top=100;resizable=yes';\r\n\r\nconst DefaultPopupTarget = \"_blank\";\r\n\r\nexport class PopupWindow {\r\n\r\n constructor(params) {\r\n this._promise = new Promise((resolve, reject) => {\r\n this._resolve = resolve;\r\n this._reject = reject;\r\n });\r\n\r\n let target = params.popupWindowTarget || DefaultPopupTarget;\r\n let features = params.popupWindowFeatures || DefaultPopupFeatures;\r\n\r\n this._popup = window.open('', target, features);\r\n if (this._popup) {\r\n Log.debug(\"PopupWindow.ctor: popup successfully created\");\r\n this._checkForPopupClosedTimer = window.setInterval(this._checkForPopupClosed.bind(this), CheckForPopupClosedInterval);\r\n }\r\n }\r\n\r\n get promise() {\r\n return this._promise;\r\n }\r\n\r\n navigate(params) {\r\n if (!this._popup) {\r\n this._error(\"PopupWindow.navigate: Error opening popup window\");\r\n }\r\n else if (!params || !params.url) {\r\n this._error(\"PopupWindow.navigate: no url provided\");\r\n this._error(\"No url provided\");\r\n }\r\n else {\r\n Log.debug(\"PopupWindow.navigate: Setting URL in popup\");\r\n\r\n this._id = params.id;\r\n if (this._id) {\r\n window[\"popupCallback_\" + params.id] = this._callback.bind(this);\r\n }\r\n\r\n this._popup.focus();\r\n this._popup.window.location = params.url;\r\n }\r\n\r\n return this.promise;\r\n }\r\n\r\n _success(data) {\r\n Log.debug(\"PopupWindow.callback: Successful response from popup window\");\r\n\r\n this._cleanup();\r\n this._resolve(data);\r\n }\r\n _error(message) {\r\n Log.error(\"PopupWindow.error: \", message);\r\n \r\n this._cleanup();\r\n this._reject(new Error(message));\r\n }\r\n\r\n close() {\r\n this._cleanup(false);\r\n }\r\n\r\n _cleanup(keepOpen) {\r\n Log.debug(\"PopupWindow.cleanup\");\r\n\r\n window.clearInterval(this._checkForPopupClosedTimer);\r\n this._checkForPopupClosedTimer = null;\r\n\r\n delete window[\"popupCallback_\" + this._id];\r\n\r\n if (this._popup && !keepOpen) {\r\n this._popup.close();\r\n }\r\n this._popup = null;\r\n }\r\n\r\n _checkForPopupClosed() {\r\n if (!this._popup || this._popup.closed) {\r\n this._error(\"Popup window closed\");\r\n }\r\n }\r\n\r\n _callback(url, keepOpen) {\r\n this._cleanup(keepOpen);\r\n\r\n if (url) {\r\n Log.debug(\"PopupWindow.callback success\");\r\n this._success({ url: url });\r\n }\r\n else {\r\n Log.debug(\"PopupWindow.callback: Invalid response from popup\");\r\n this._error(\"Invalid response from popup\");\r\n }\r\n }\r\n\r\n static notifyOpener(url, keepOpen, delimiter) {\r\n if (window.opener) {\r\n url = url || window.location.href;\r\n if (url) {\r\n var data = UrlUtility.parseUrlFragment(url, delimiter);\r\n\r\n if (data.state) {\r\n var name = \"popupCallback_\" + data.state;\r\n var callback = window.opener[name];\r\n if (callback) {\r\n Log.debug(\"PopupWindow.notifyOpener: passing url message to opener\");\r\n callback(url, keepOpen);\r\n }\r\n else {\r\n Log.warn(\"PopupWindow.notifyOpener: no matching callback found on opener\");\r\n }\r\n }\r\n else {\r\n Log.warn(\"PopupWindow.notifyOpener: no state found in response url\");\r\n }\r\n }\r\n }\r\n else {\r\n Log.warn(\"PopupWindow.notifyOpener: no window.opener. Can't complete notification.\");\r\n }\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { PopupWindow } from './PopupWindow.js';\r\n\r\nexport class PopupNavigator {\r\n\r\n prepare(params) {\r\n let popup = new PopupWindow(params);\r\n return Promise.resolve(popup);\r\n }\r\n\r\n callback(url, keepOpen, delimiter) {\r\n Log.debug(\"PopupNavigator.callback\");\r\n\r\n try {\r\n PopupWindow.notifyOpener(url, keepOpen, delimiter);\r\n return Promise.resolve();\r\n }\r\n catch (e) {\r\n return Promise.reject(e);\r\n }\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\n\r\nconst DefaultTimeout = 10000;\r\n\r\nexport class IFrameWindow {\r\n\r\n constructor(params) {\r\n this._promise = new Promise((resolve, reject) => {\r\n this._resolve = resolve;\r\n this._reject = reject;\r\n });\r\n\r\n this._boundMessageEvent = this._message.bind(this);\r\n window.addEventListener(\"message\", this._boundMessageEvent, false);\r\n\r\n this._frame = window.document.createElement(\"iframe\");\r\n\r\n // shotgun approach\r\n this._frame.style.visibility = \"hidden\";\r\n this._frame.style.position = \"absolute\";\r\n this._frame.width = 0;\r\n this._frame.height = 0;\r\n\r\n window.document.body.appendChild(this._frame);\r\n }\r\n\r\n navigate(params) {\r\n if (!params || !params.url) {\r\n this._error(\"No url provided\");\r\n }\r\n else {\r\n let timeout = params.silentRequestTimeout || DefaultTimeout;\r\n Log.debug(\"IFrameWindow.navigate: Using timeout of:\", timeout);\r\n this._timer = window.setTimeout(this._timeout.bind(this), timeout);\r\n this._frame.src = params.url;\r\n }\r\n\r\n return this.promise;\r\n }\r\n\r\n get promise() {\r\n return this._promise;\r\n }\r\n\r\n _success(data) {\r\n this._cleanup();\r\n\r\n Log.debug(\"IFrameWindow: Successful response from frame window\");\r\n this._resolve(data);\r\n }\r\n _error(message) {\r\n this._cleanup();\r\n\r\n Log.error(message);\r\n this._reject(new Error(message));\r\n }\r\n\r\n close() {\r\n this._cleanup();\r\n }\r\n\r\n _cleanup() {\r\n if (this._frame) {\r\n Log.debug(\"IFrameWindow: cleanup\");\r\n\r\n window.removeEventListener(\"message\", this._boundMessageEvent, false);\r\n window.clearTimeout(this._timer);\r\n window.document.body.removeChild(this._frame);\r\n\r\n this._timer = null;\r\n this._frame = null;\r\n this._boundMessageEvent = null;\r\n }\r\n }\r\n\r\n _timeout() {\r\n Log.debug(\"IFrameWindow.timeout\");\r\n this._error(\"Frame window timed out\");\r\n }\r\n\r\n _message(e) {\r\n Log.debug(\"IFrameWindow.message\");\r\n\r\n if (this._timer &&\r\n e.origin === this._origin &&\r\n e.source === this._frame.contentWindow &&\r\n (typeof e.data === 'string' && (e.data.startsWith('http://') || e.data.startsWith('https://')))\r\n ) {\r\n let url = e.data;\r\n if (url) {\r\n this._success({ url: url });\r\n }\r\n else {\r\n this._error(\"Invalid response from frame\");\r\n }\r\n }\r\n }\r\n\r\n get _origin() {\r\n return location.protocol + \"//\" + location.host;\r\n }\r\n\r\n static notifyParent(url) {\r\n Log.debug(\"IFrameWindow.notifyParent\");\r\n url = url || window.location.href;\r\n if (url) {\r\n Log.debug(\"IFrameWindow.notifyParent: posting url message to parent\");\r\n window.parent.postMessage(url, location.protocol + \"//\" + location.host);\r\n }\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { IFrameWindow } from './IFrameWindow.js';\r\n\r\nexport class IFrameNavigator {\r\n\r\n prepare(params) {\r\n let frame = new IFrameWindow(params);\r\n return Promise.resolve(frame);\r\n }\r\n\r\n callback(url) {\r\n Log.debug(\"IFrameNavigator.callback\");\r\n\r\n try {\r\n IFrameWindow.notifyParent(url);\r\n return Promise.resolve();\r\n }\r\n catch (e) {\r\n return Promise.reject(e);\r\n }\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { OidcClientSettings } from './OidcClientSettings.js';\r\nimport { RedirectNavigator } from './RedirectNavigator.js';\r\nimport { PopupNavigator } from './PopupNavigator.js';\r\nimport { IFrameNavigator } from './IFrameNavigator.js';\r\nimport { WebStorageStateStore } from './WebStorageStateStore.js';\r\nimport { Global } from './Global.js';\r\nimport { SigninRequest } from './SigninRequest.js';\r\n\r\nconst DefaultAccessTokenExpiringNotificationTime = 60;\r\nconst DefaultCheckSessionInterval = 2000;\r\n\r\nexport class UserManagerSettings extends OidcClientSettings {\r\n constructor({\r\n popup_redirect_uri,\r\n popup_post_logout_redirect_uri,\r\n popupWindowFeatures,\r\n popupWindowTarget,\r\n silent_redirect_uri,\r\n silentRequestTimeout,\r\n automaticSilentRenew = false,\r\n validateSubOnSilentRenew = false,\r\n includeIdTokenInSilentRenew = true,\r\n monitorSession = true,\r\n monitorAnonymousSession = false,\r\n checkSessionInterval = DefaultCheckSessionInterval,\r\n stopCheckSessionOnError = true,\r\n query_status_response_type,\r\n revokeAccessTokenOnSignout = false,\r\n accessTokenExpiringNotificationTime = DefaultAccessTokenExpiringNotificationTime,\r\n redirectNavigator = new RedirectNavigator(),\r\n popupNavigator = new PopupNavigator(),\r\n iframeNavigator = new IFrameNavigator(),\r\n userStore = new WebStorageStateStore({ store: Global.sessionStorage })\r\n } = {}) {\r\n super(arguments[0]);\r\n\r\n this._popup_redirect_uri = popup_redirect_uri;\r\n this._popup_post_logout_redirect_uri = popup_post_logout_redirect_uri;\r\n this._popupWindowFeatures = popupWindowFeatures;\r\n this._popupWindowTarget = popupWindowTarget;\r\n\r\n this._silent_redirect_uri = silent_redirect_uri;\r\n this._silentRequestTimeout = silentRequestTimeout;\r\n this._automaticSilentRenew = automaticSilentRenew;\r\n this._validateSubOnSilentRenew = validateSubOnSilentRenew;\r\n this._includeIdTokenInSilentRenew = includeIdTokenInSilentRenew;\r\n this._accessTokenExpiringNotificationTime = accessTokenExpiringNotificationTime;\r\n\r\n this._monitorSession = monitorSession;\r\n this._monitorAnonymousSession = monitorAnonymousSession;\r\n this._checkSessionInterval = checkSessionInterval;\r\n this._stopCheckSessionOnError = stopCheckSessionOnError;\r\n if (query_status_response_type) {\r\n this._query_status_response_type = query_status_response_type;\r\n } \r\n else if (arguments[0] && arguments[0].response_type) {\r\n this._query_status_response_type = SigninRequest.isOidc(arguments[0].response_type) ? \"id_token\" : \"code\";\r\n }\r\n else {\r\n this._query_status_response_type = \"id_token\";\r\n }\r\n this._revokeAccessTokenOnSignout = revokeAccessTokenOnSignout;\r\n\r\n this._redirectNavigator = redirectNavigator;\r\n this._popupNavigator = popupNavigator;\r\n this._iframeNavigator = iframeNavigator;\r\n\r\n this._userStore = userStore;\r\n }\r\n\r\n get popup_redirect_uri() {\r\n return this._popup_redirect_uri;\r\n }\r\n get popup_post_logout_redirect_uri() {\r\n return this._popup_post_logout_redirect_uri;\r\n }\r\n get popupWindowFeatures() {\r\n return this._popupWindowFeatures;\r\n }\r\n get popupWindowTarget() {\r\n return this._popupWindowTarget;\r\n }\r\n\r\n get silent_redirect_uri() {\r\n return this._silent_redirect_uri;\r\n }\r\n get silentRequestTimeout() {\r\n return this._silentRequestTimeout;\r\n }\r\n get automaticSilentRenew() {\r\n return this._automaticSilentRenew;\r\n }\r\n get validateSubOnSilentRenew() {\r\n return this._validateSubOnSilentRenew;\r\n }\r\n get includeIdTokenInSilentRenew() {\r\n return this._includeIdTokenInSilentRenew;\r\n }\r\n get accessTokenExpiringNotificationTime() {\r\n return this._accessTokenExpiringNotificationTime;\r\n }\r\n\r\n get monitorSession() {\r\n return this._monitorSession;\r\n }\r\n get monitorAnonymousSession() {\r\n return this._monitorAnonymousSession;\r\n }\r\n get checkSessionInterval() {\r\n return this._checkSessionInterval;\r\n }\r\n get stopCheckSessionOnError(){\r\n return this._stopCheckSessionOnError;\r\n }\r\n get query_status_response_type(){\r\n return this._query_status_response_type;\r\n }\r\n get revokeAccessTokenOnSignout() {\r\n return this._revokeAccessTokenOnSignout;\r\n }\r\n\r\n get redirectNavigator() {\r\n return this._redirectNavigator;\r\n }\r\n get popupNavigator() {\r\n return this._popupNavigator;\r\n }\r\n get iframeNavigator() {\r\n return this._iframeNavigator;\r\n }\r\n\r\n get userStore() {\r\n return this._userStore;\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\n\r\nexport class User {\r\n constructor({id_token, session_state, access_token, refresh_token, token_type, scope, profile, expires_at, state}) {\r\n this.id_token = id_token;\r\n this.session_state = session_state;\r\n this.access_token = access_token;\r\n this.refresh_token = refresh_token;\r\n this.token_type = token_type;\r\n this.scope = scope;\r\n this.profile = profile;\r\n this.expires_at = expires_at;\r\n this.state = state;\r\n }\r\n\r\n get expires_in() {\r\n if (this.expires_at) {\r\n let now = parseInt(Date.now() / 1000);\r\n return this.expires_at - now;\r\n }\r\n return undefined;\r\n }\r\n set expires_in(value) {\r\n let expires_in = parseInt(value);\r\n if (typeof expires_in === 'number' && expires_in > 0) {\r\n let now = parseInt(Date.now() / 1000);\r\n this.expires_at = now + expires_in;\r\n }\r\n }\r\n\r\n get expired() {\r\n let expires_in = this.expires_in;\r\n if (expires_in !== undefined) {\r\n return expires_in <= 0;\r\n }\r\n return undefined;\r\n }\r\n\r\n get scopes() {\r\n return (this.scope || \"\").split(\" \");\r\n }\r\n\r\n toStorageString() {\r\n Log.debug(\"User.toStorageString\");\r\n return JSON.stringify({\r\n id_token: this.id_token,\r\n session_state: this.session_state,\r\n access_token: this.access_token,\r\n refresh_token: this.refresh_token,\r\n token_type: this.token_type,\r\n scope: this.scope,\r\n profile: this.profile,\r\n expires_at: this.expires_at\r\n });\r\n }\r\n\r\n static fromStorageString(storageString) {\r\n Log.debug(\"User.fromStorageString\");\r\n return new User(JSON.parse(storageString));\r\n }\r\n}\r\n","import superPropBase from \"./superPropBase\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\n\r\nexport class Event {\r\n\r\n constructor(name) {\r\n this._name = name;\r\n this._callbacks = [];\r\n }\r\n\r\n addHandler(cb) {\r\n this._callbacks.push(cb);\r\n }\r\n\r\n removeHandler(cb) {\r\n var idx = this._callbacks.findIndex(item => item === cb);\r\n if (idx >= 0) {\r\n this._callbacks.splice(idx, 1);\r\n }\r\n }\r\n\r\n raise(...params) {\r\n Log.debug(\"Event: Raising event: \" + this._name);\r\n for (let i = 0; i < this._callbacks.length; i++) {\r\n this._callbacks[i](...params);\r\n }\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { Global } from './Global.js';\r\nimport { Event } from './Event.js';\r\n\r\nconst TimerDuration = 5; // seconds\r\n\r\nexport class Timer extends Event {\r\n\r\n constructor(name, timer = Global.timer, nowFunc = undefined) {\r\n super(name);\r\n this._timer = timer;\r\n\r\n if (nowFunc) {\r\n this._nowFunc = nowFunc;\r\n }\r\n else {\r\n this._nowFunc = () => Date.now() / 1000;\r\n }\r\n }\r\n\r\n get now() {\r\n return parseInt(this._nowFunc());\r\n }\r\n\r\n init(duration) {\r\n if (duration <= 0) {\r\n duration = 1;\r\n }\r\n duration = parseInt(duration);\r\n\r\n var expiration = this.now + duration;\r\n if (this.expiration === expiration && this._timerHandle) {\r\n // no need to reinitialize to same expiration, so bail out\r\n Log.debug(\"Timer.init timer \" + this._name + \" skipping initialization since already initialized for expiration:\", this.expiration);\r\n return;\r\n }\r\n\r\n this.cancel();\r\n\r\n Log.debug(\"Timer.init timer \" + this._name + \" for duration:\", duration);\r\n this._expiration = expiration;\r\n\r\n // we're using a fairly short timer and then checking the expiration in the\r\n // callback to handle scenarios where the browser device sleeps, and then\r\n // the timers end up getting delayed.\r\n var timerDuration = TimerDuration;\r\n if (duration < timerDuration) {\r\n timerDuration = duration;\r\n }\r\n this._timerHandle = this._timer.setInterval(this._callback.bind(this), timerDuration * 1000);\r\n }\r\n \r\n get expiration() {\r\n return this._expiration;\r\n }\r\n\r\n cancel() {\r\n if (this._timerHandle) {\r\n Log.debug(\"Timer.cancel: \", this._name);\r\n this._timer.clearInterval(this._timerHandle);\r\n this._timerHandle = null;\r\n }\r\n }\r\n\r\n _callback() {\r\n var diff = this._expiration - this.now;\r\n Log.debug(\"Timer.callback; \" + this._name + \" timer expires in:\", diff);\r\n\r\n if (this._expiration <= this.now) {\r\n this.cancel();\r\n super.raise();\r\n }\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { AccessTokenEvents } from './AccessTokenEvents.js';\r\nimport { Event } from './Event.js';\r\n\r\nexport class UserManagerEvents extends AccessTokenEvents {\r\n\r\n constructor(settings) {\r\n super(settings);\r\n this._userLoaded = new Event(\"User loaded\");\r\n this._userUnloaded = new Event(\"User unloaded\");\r\n this._silentRenewError = new Event(\"Silent renew error\");\r\n this._userSignedIn = new Event(\"User signed in\");\r\n this._userSignedOut = new Event(\"User signed out\");\r\n this._userSessionChanged = new Event(\"User session changed\");\r\n }\r\n\r\n load(user, raiseEvent=true) {\r\n Log.debug(\"UserManagerEvents.load\");\r\n super.load(user);\r\n if (raiseEvent) {\r\n this._userLoaded.raise(user);\r\n }\r\n }\r\n unload() {\r\n Log.debug(\"UserManagerEvents.unload\");\r\n super.unload();\r\n this._userUnloaded.raise();\r\n }\r\n\r\n addUserLoaded(cb) {\r\n this._userLoaded.addHandler(cb);\r\n }\r\n removeUserLoaded(cb) {\r\n this._userLoaded.removeHandler(cb);\r\n }\r\n\r\n addUserUnloaded(cb) {\r\n this._userUnloaded.addHandler(cb);\r\n }\r\n removeUserUnloaded(cb) {\r\n this._userUnloaded.removeHandler(cb);\r\n }\r\n\r\n addSilentRenewError(cb) {\r\n this._silentRenewError.addHandler(cb);\r\n }\r\n removeSilentRenewError(cb) {\r\n this._silentRenewError.removeHandler(cb);\r\n }\r\n _raiseSilentRenewError(e) {\r\n Log.debug(\"UserManagerEvents._raiseSilentRenewError\", e.message);\r\n this._silentRenewError.raise(e);\r\n }\r\n\r\n addUserSignedIn(cb) {\r\n this._userSignedIn.addHandler(cb);\r\n }\r\n removeUserSignedIn(cb) {\r\n this._userSignedIn.removeHandler(cb);\r\n }\r\n _raiseUserSignedIn() {\r\n Log.debug(\"UserManagerEvents._raiseUserSignedIn\");\r\n this._userSignedIn.raise();\r\n }\r\n\r\n addUserSignedOut(cb) {\r\n this._userSignedOut.addHandler(cb);\r\n }\r\n removeUserSignedOut(cb) {\r\n this._userSignedOut.removeHandler(cb);\r\n }\r\n _raiseUserSignedOut() {\r\n Log.debug(\"UserManagerEvents._raiseUserSignedOut\");\r\n this._userSignedOut.raise();\r\n }\r\n\r\n addUserSessionChanged(cb) {\r\n this._userSessionChanged.addHandler(cb);\r\n }\r\n removeUserSessionChanged(cb) {\r\n this._userSessionChanged.removeHandler(cb);\r\n }\r\n _raiseUserSessionChanged() {\r\n Log.debug(\"UserManagerEvents._raiseUserSessionChanged\");\r\n this._userSessionChanged.raise();\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { Timer } from './Timer.js';\r\n\r\nconst DefaultAccessTokenExpiringNotificationTime = 60; // seconds\r\n\r\nexport class AccessTokenEvents {\r\n\r\n constructor({\r\n accessTokenExpiringNotificationTime = DefaultAccessTokenExpiringNotificationTime,\r\n accessTokenExpiringTimer = new Timer(\"Access token expiring\"),\r\n accessTokenExpiredTimer = new Timer(\"Access token expired\")\r\n } = {}) {\r\n this._accessTokenExpiringNotificationTime = accessTokenExpiringNotificationTime;\r\n\r\n this._accessTokenExpiring = accessTokenExpiringTimer;\r\n this._accessTokenExpired = accessTokenExpiredTimer;\r\n }\r\n\r\n load(container) {\r\n // only register events if there's an access token and it has an expiration\r\n if (container.access_token && container.expires_in !== undefined) {\r\n let duration = container.expires_in;\r\n Log.debug(\"AccessTokenEvents.load: access token present, remaining duration:\", duration);\r\n\r\n if (duration > 0) {\r\n // only register expiring if we still have time\r\n let expiring = duration - this._accessTokenExpiringNotificationTime;\r\n if (expiring <= 0){\r\n expiring = 1;\r\n }\r\n \r\n Log.debug(\"AccessTokenEvents.load: registering expiring timer in:\", expiring);\r\n this._accessTokenExpiring.init(expiring);\r\n }\r\n else {\r\n Log.debug(\"AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration.\");\r\n this._accessTokenExpiring.cancel();\r\n }\r\n\r\n // if it's negative, it will still fire\r\n let expired = duration + 1;\r\n Log.debug(\"AccessTokenEvents.load: registering expired timer in:\", expired);\r\n this._accessTokenExpired.init(expired);\r\n }\r\n else {\r\n this._accessTokenExpiring.cancel();\r\n this._accessTokenExpired.cancel();\r\n }\r\n }\r\n\r\n unload() {\r\n Log.debug(\"AccessTokenEvents.unload: canceling existing access token timers\");\r\n this._accessTokenExpiring.cancel();\r\n this._accessTokenExpired.cancel();\r\n }\r\n\r\n addAccessTokenExpiring(cb) {\r\n this._accessTokenExpiring.addHandler(cb);\r\n }\r\n removeAccessTokenExpiring(cb) {\r\n this._accessTokenExpiring.removeHandler(cb);\r\n }\r\n\r\n addAccessTokenExpired(cb) {\r\n this._accessTokenExpired.addHandler(cb);\r\n }\r\n removeAccessTokenExpired(cb) {\r\n this._accessTokenExpired.removeHandler(cb);\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\n\r\nexport class SilentRenewService {\r\n\r\n constructor(userManager) {\r\n this._userManager = userManager;\r\n }\r\n\r\n start() {\r\n if (!this._callback) {\r\n this._callback = this._tokenExpiring.bind(this);\r\n this._userManager.events.addAccessTokenExpiring(this._callback);\r\n\r\n // this will trigger loading of the user so the expiring events can be initialized\r\n this._userManager.getUser().then(user=>{\r\n // deliberate nop\r\n }).catch(err=>{\r\n // catch to suppress errors since we're in a ctor\r\n Log.error(\"SilentRenewService.start: Error from getUser:\", err.message);\r\n });\r\n }\r\n }\r\n\r\n stop() {\r\n if (this._callback) {\r\n this._userManager.events.removeAccessTokenExpiring(this._callback);\r\n delete this._callback;\r\n }\r\n }\r\n\r\n _tokenExpiring() {\r\n this._userManager.signinSilent().then(user => {\r\n Log.debug(\"SilentRenewService._tokenExpiring: Silent token renewal successful\");\r\n }, err => {\r\n Log.error(\"SilentRenewService._tokenExpiring: Error from signinSilent:\", err.message);\r\n this._userManager.events._raiseSilentRenewError(err);\r\n });\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\n\r\nconst DefaultInterval = 2000;\r\n\r\nexport class CheckSessionIFrame {\r\n constructor(callback, client_id, url, interval, stopOnError = true) {\r\n this._callback = callback;\r\n this._client_id = client_id;\r\n this._url = url;\r\n this._interval = interval || DefaultInterval;\r\n this._stopOnError = stopOnError;\r\n\r\n var idx = url.indexOf(\"/\", url.indexOf(\"//\") + 2);\r\n this._frame_origin = url.substr(0, idx);\r\n\r\n this._frame = window.document.createElement(\"iframe\");\r\n\r\n // shotgun approach\r\n this._frame.style.visibility = \"hidden\";\r\n this._frame.style.position = \"absolute\";\r\n this._frame.style.display = \"none\";\r\n this._frame.width = 0;\r\n this._frame.height = 0;\r\n\r\n this._frame.src = url;\r\n }\r\n load() {\r\n return new Promise((resolve) => {\r\n this._frame.onload = () => {\r\n resolve();\r\n }\r\n\r\n window.document.body.appendChild(this._frame);\r\n this._boundMessageEvent = this._message.bind(this);\r\n window.addEventListener(\"message\", this._boundMessageEvent, false);\r\n });\r\n }\r\n _message(e) {\r\n if (e.origin === this._frame_origin &&\r\n e.source === this._frame.contentWindow\r\n ) {\r\n if (e.data === \"error\") {\r\n Log.error(\"CheckSessionIFrame: error message from check session op iframe\");\r\n if (this._stopOnError) {\r\n this.stop();\r\n }\r\n }\r\n else if (e.data === \"changed\") {\r\n Log.debug(\"CheckSessionIFrame: changed message from check session op iframe\");\r\n this.stop();\r\n this._callback();\r\n }\r\n else {\r\n Log.debug(\"CheckSessionIFrame: \" + e.data + \" message from check session op iframe\");\r\n }\r\n }\r\n }\r\n start(session_state) {\r\n if (this._session_state !== session_state) {\r\n Log.debug(\"CheckSessionIFrame.start\");\r\n\r\n this.stop();\r\n\r\n this._session_state = session_state;\r\n\r\n let send = () => {\r\n this._frame.contentWindow.postMessage(this._client_id + \" \" + this._session_state, this._frame_origin);\r\n };\r\n \r\n // trigger now\r\n send();\r\n\r\n // and setup timer\r\n this._timer = window.setInterval(send, this._interval);\r\n }\r\n }\r\n\r\n stop() {\r\n this._session_state = null;\r\n\r\n if (this._timer) {\r\n Log.debug(\"CheckSessionIFrame.stop\");\r\n\r\n window.clearInterval(this._timer);\r\n this._timer = null;\r\n }\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { CheckSessionIFrame } from './CheckSessionIFrame.js';\r\nimport { Global } from './Global.js';\r\n\r\nexport class SessionMonitor {\r\n\r\n constructor(userManager, CheckSessionIFrameCtor = CheckSessionIFrame, timer = Global.timer) {\r\n if (!userManager) {\r\n Log.error(\"SessionMonitor.ctor: No user manager passed to SessionMonitor\");\r\n throw new Error(\"userManager\");\r\n }\r\n\r\n this._userManager = userManager;\r\n this._CheckSessionIFrameCtor = CheckSessionIFrameCtor;\r\n this._timer = timer;\r\n\r\n this._userManager.events.addUserLoaded(this._start.bind(this));\r\n this._userManager.events.addUserUnloaded(this._stop.bind(this));\r\n\r\n Promise.resolve(this._userManager.getUser().then(user => {\r\n // doing this manually here since calling getUser \r\n // doesn't trigger load event.\r\n if (user) {\r\n this._start(user);\r\n }\r\n else if (this._settings.monitorAnonymousSession) {\r\n this._userManager.querySessionStatus().then(session => {\r\n let tmpUser = {\r\n session_state : session.session_state\r\n };\r\n if (session.sub && session.sid) {\r\n tmpUser.profile = {\r\n sub: session.sub,\r\n sid: session.sid\r\n };\r\n }\r\n this._start(tmpUser);\r\n })\r\n .catch(err => {\r\n // catch to suppress errors since we're in a ctor\r\n Log.error(\"SessionMonitor ctor: error from querySessionStatus:\", err.message);\r\n });\r\n }\r\n }).catch(err => {\r\n // catch to suppress errors since we're in a ctor\r\n Log.error(\"SessionMonitor ctor: error from getUser:\", err.message);\r\n }));\r\n }\r\n\r\n get _settings() {\r\n return this._userManager.settings;\r\n }\r\n get _metadataService() {\r\n return this._userManager.metadataService;\r\n }\r\n get _client_id() {\r\n return this._settings.client_id;\r\n }\r\n get _checkSessionInterval() {\r\n return this._settings.checkSessionInterval;\r\n }\r\n get _stopCheckSessionOnError() {\r\n return this._settings.stopCheckSessionOnError;\r\n }\r\n\r\n _start(user) {\r\n let session_state = user.session_state;\r\n\r\n if (session_state) {\r\n if (user.profile) {\r\n this._sub = user.profile.sub;\r\n this._sid = user.profile.sid;\r\n Log.debug(\"SessionMonitor._start: session_state:\", session_state, \", sub:\", this._sub);\r\n }\r\n else {\r\n this._sub = undefined;\r\n this._sid = undefined;\r\n Log.debug(\"SessionMonitor._start: session_state:\", session_state, \", anonymous user\");\r\n }\r\n\r\n if (!this._checkSessionIFrame) {\r\n this._metadataService.getCheckSessionIframe().then(url => {\r\n if (url) {\r\n Log.debug(\"SessionMonitor._start: Initializing check session iframe\")\r\n\r\n let client_id = this._client_id;\r\n let interval = this._checkSessionInterval;\r\n let stopOnError = this._stopCheckSessionOnError;\r\n\r\n this._checkSessionIFrame = new this._CheckSessionIFrameCtor(this._callback.bind(this), client_id, url, interval, stopOnError);\r\n this._checkSessionIFrame.load().then(() => {\r\n this._checkSessionIFrame.start(session_state);\r\n });\r\n }\r\n else {\r\n Log.warn(\"SessionMonitor._start: No check session iframe found in the metadata\");\r\n }\r\n }).catch(err => {\r\n // catch to suppress errors since we're in non-promise callback\r\n Log.error(\"SessionMonitor._start: Error from getCheckSessionIframe:\", err.message);\r\n });\r\n }\r\n else {\r\n this._checkSessionIFrame.start(session_state);\r\n }\r\n }\r\n }\r\n\r\n _stop() {\r\n this._sub = undefined;\r\n this._sid = undefined;\r\n\r\n if (this._checkSessionIFrame) {\r\n Log.debug(\"SessionMonitor._stop\");\r\n this._checkSessionIFrame.stop();\r\n }\r\n\r\n if (this._settings.monitorAnonymousSession) {\r\n // using a timer to delay re-initialization to avoid race conditions during signout\r\n let timerHandle = this._timer.setInterval(()=>{\r\n this._timer.clearInterval(timerHandle);\r\n\r\n this._userManager.querySessionStatus().then(session => {\r\n let tmpUser = {\r\n session_state : session.session_state\r\n };\r\n if (session.sub && session.sid) {\r\n tmpUser.profile = {\r\n sub: session.sub,\r\n sid: session.sid\r\n };\r\n }\r\n this._start(tmpUser);\r\n })\r\n .catch(err => {\r\n // catch to suppress errors since we're in a callback\r\n Log.error(\"SessionMonitor: error from querySessionStatus:\", err.message);\r\n });\r\n\r\n }, 1000);\r\n }\r\n }\r\n\r\n _callback() {\r\n this._userManager.querySessionStatus().then(session => {\r\n var raiseEvent = true;\r\n\r\n if (session) {\r\n if (session.sub === this._sub) {\r\n raiseEvent = false;\r\n this._checkSessionIFrame.start(session.session_state);\r\n\r\n if (session.sid === this._sid) {\r\n Log.debug(\"SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:\", session.session_state);\r\n }\r\n else {\r\n Log.debug(\"SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:\", session.session_state);\r\n this._userManager.events._raiseUserSessionChanged();\r\n }\r\n }\r\n else {\r\n Log.debug(\"SessionMonitor._callback: Different subject signed into OP:\", session.sub);\r\n }\r\n }\r\n else {\r\n Log.debug(\"SessionMonitor._callback: Subject no longer signed into OP\");\r\n }\r\n\r\n if (raiseEvent) {\r\n if (this._sub) {\r\n Log.debug(\"SessionMonitor._callback: SessionMonitor._callback; raising signed out event\");\r\n this._userManager.events._raiseUserSignedOut();\r\n }\r\n else {\r\n Log.debug(\"SessionMonitor._callback: SessionMonitor._callback; raising signed in event\");\r\n this._userManager.events._raiseUserSignedIn();\r\n }\r\n }\r\n }).catch(err => {\r\n if (this._sub) {\r\n Log.debug(\"SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event\", err.message);\r\n this._userManager.events._raiseUserSignedOut();\r\n }\r\n });\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { MetadataService } from './MetadataService.js';\r\nimport { Global } from './Global.js';\r\n\r\nconst AccessTokenTypeHint = \"access_token\";\r\nconst RefreshTokenTypeHint = \"refresh_token\";\r\n\r\nexport class TokenRevocationClient {\r\n constructor(settings, XMLHttpRequestCtor = Global.XMLHttpRequest, MetadataServiceCtor = MetadataService) {\r\n if (!settings) {\r\n Log.error(\"TokenRevocationClient.ctor: No settings provided\");\r\n throw new Error(\"No settings provided.\");\r\n }\r\n\r\n this._settings = settings;\r\n this._XMLHttpRequestCtor = XMLHttpRequestCtor;\r\n this._metadataService = new MetadataServiceCtor(this._settings);\r\n }\r\n\r\n revoke(token, required, type = \"access_token\") {\r\n if (!token) {\r\n Log.error(\"TokenRevocationClient.revoke: No token provided\");\r\n throw new Error(\"No token provided.\");\r\n }\r\n\r\n if (type !== AccessTokenTypeHint && type != RefreshTokenTypeHint) {\r\n Log.error(\"TokenRevocationClient.revoke: Invalid token type\");\r\n throw new Error(\"Invalid token type.\");\r\n }\r\n\r\n return this._metadataService.getRevocationEndpoint().then(url => {\r\n if (!url) {\r\n if (required) {\r\n Log.error(\"TokenRevocationClient.revoke: Revocation not supported\");\r\n throw new Error(\"Revocation not supported\");\r\n }\r\n\r\n // not required, so don't error and just return\r\n return;\r\n }\r\n\r\n Log.debug(\"TokenRevocationClient.revoke: Revoking \" + type);\r\n var client_id = this._settings.client_id;\r\n var client_secret = this._settings.client_secret;\r\n return this._revoke(url, client_id, client_secret, token, type);\r\n });\r\n }\r\n\r\n _revoke(url, client_id, client_secret, token, type) {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n var xhr = new this._XMLHttpRequestCtor();\r\n xhr.open(\"POST\", url);\r\n\r\n xhr.onload = () => {\r\n Log.debug(\"TokenRevocationClient.revoke: HTTP response received, status\", xhr.status);\r\n\r\n if (xhr.status === 200) {\r\n resolve();\r\n }\r\n else {\r\n reject(Error(xhr.statusText + \" (\" + xhr.status + \")\"));\r\n }\r\n };\r\n xhr.onerror = () => { \r\n Log.debug(\"TokenRevocationClient.revoke: Network Error.\")\r\n reject(\"Network Error\");\r\n };\r\n\r\n var body = \"client_id=\" + encodeURIComponent(client_id);\r\n if (client_secret) {\r\n body += \"&client_secret=\" + encodeURIComponent(client_secret);\r\n }\r\n body += \"&token_type_hint=\" + encodeURIComponent(type);\r\n body += \"&token=\" + encodeURIComponent(token);\r\n\r\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\r\n xhr.send(body);\r\n });\r\n }\r\n}\r\n","// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.\r\n\r\nimport { Log } from './Log.js';\r\nimport { OidcClient } from './OidcClient.js';\r\nimport { UserManagerSettings } from './UserManagerSettings.js';\r\nimport { User } from './User.js';\r\nimport { UserManagerEvents } from './UserManagerEvents.js';\r\nimport { SilentRenewService } from './SilentRenewService.js';\r\nimport { SessionMonitor } from './SessionMonitor.js';\r\nimport { SigninRequest } from \"./SigninRequest\";\r\nimport { TokenRevocationClient } from './TokenRevocationClient.js';\r\nimport { TokenClient } from './TokenClient.js';\r\nimport { JoseUtil } from './JoseUtil.js';\r\n\r\n\r\nexport class UserManager extends OidcClient {\r\n constructor(settings = {},\r\n SilentRenewServiceCtor = SilentRenewService,\r\n SessionMonitorCtor = SessionMonitor,\r\n TokenRevocationClientCtor = TokenRevocationClient,\r\n TokenClientCtor = TokenClient,\r\n joseUtil = JoseUtil\r\n ) {\r\n\r\n if (!(settings instanceof UserManagerSettings)) {\r\n settings = new UserManagerSettings(settings);\r\n }\r\n super(settings);\r\n\r\n this._events = new UserManagerEvents(settings);\r\n this._silentRenewService = new SilentRenewServiceCtor(this);\r\n\r\n // order is important for the following properties; these services depend upon the events.\r\n if (this.settings.automaticSilentRenew) {\r\n Log.debug(\"UserManager.ctor: automaticSilentRenew is configured, setting up silent renew\");\r\n this.startSilentRenew();\r\n }\r\n\r\n if (this.settings.monitorSession) {\r\n Log.debug(\"UserManager.ctor: monitorSession is configured, setting up session monitor\");\r\n this._sessionMonitor = new SessionMonitorCtor(this);\r\n }\r\n\r\n this._tokenRevocationClient = new TokenRevocationClientCtor(this._settings);\r\n this._tokenClient = new TokenClientCtor(this._settings);\r\n this._joseUtil = joseUtil;\r\n }\r\n\r\n get _redirectNavigator() {\r\n return this.settings.redirectNavigator;\r\n }\r\n get _popupNavigator() {\r\n return this.settings.popupNavigator;\r\n }\r\n get _iframeNavigator() {\r\n return this.settings.iframeNavigator;\r\n }\r\n get _userStore() {\r\n return this.settings.userStore;\r\n }\r\n\r\n get events() {\r\n return this._events;\r\n }\r\n\r\n getUser() {\r\n return this._loadUser().then(user => {\r\n if (user) {\r\n Log.info(\"UserManager.getUser: user loaded\");\r\n\r\n this._events.load(user, false);\r\n\r\n return user;\r\n }\r\n else {\r\n Log.info(\"UserManager.getUser: user not found in storage\");\r\n return null;\r\n }\r\n });\r\n }\r\n\r\n removeUser() {\r\n return this.storeUser(null).then(() => {\r\n Log.info(\"UserManager.removeUser: user removed from storage\");\r\n this._events.unload();\r\n });\r\n }\r\n\r\n signinRedirect(args = {}) {\r\n args = Object.assign({}, args);\r\n\r\n args.request_type = \"si:r\";\r\n let navParams = {\r\n useReplaceToNavigate : args.useReplaceToNavigate\r\n };\r\n return this._signinStart(args, this._redirectNavigator, navParams).then(()=>{\r\n Log.info(\"UserManager.signinRedirect: successful\");\r\n });\r\n }\r\n signinRedirectCallback(url) {\r\n return this._signinEnd(url || this._redirectNavigator.url).then(user => {\r\n if (user.profile && user.profile.sub) {\r\n Log.info(\"UserManager.signinRedirectCallback: successful, signed in sub: \", user.profile.sub);\r\n }\r\n else {\r\n Log.info(\"UserManager.signinRedirectCallback: no sub\");\r\n }\r\n\r\n return user;\r\n });\r\n }\r\n\r\n signinPopup(args = {}) {\r\n args = Object.assign({}, args);\r\n\r\n args.request_type = \"si:p\";\r\n let url = args.redirect_uri || this.settings.popup_redirect_uri || this.settings.redirect_uri;\r\n if (!url) {\r\n Log.error(\"UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured\");\r\n return Promise.reject(new Error(\"No popup_redirect_uri or redirect_uri configured\"));\r\n }\r\n\r\n args.redirect_uri = url;\r\n args.display = \"popup\";\r\n\r\n return this._signin(args, this._popupNavigator, {\r\n startUrl: url,\r\n popupWindowFeatures: args.popupWindowFeatures || this.settings.popupWindowFeatures,\r\n popupWindowTarget: args.popupWindowTarget || this.settings.popupWindowTarget\r\n }).then(user => {\r\n if (user) {\r\n if (user.profile && user.profile.sub) {\r\n Log.info(\"UserManager.signinPopup: signinPopup successful, signed in sub: \", user.profile.sub);\r\n }\r\n else {\r\n Log.info(\"UserManager.signinPopup: no sub\");\r\n }\r\n }\r\n\r\n return user;\r\n });\r\n }\r\n signinPopupCallback(url) {\r\n return this._signinCallback(url, this._popupNavigator).then(user => {\r\n if (user) {\r\n if (user.profile && user.profile.sub) {\r\n Log.info(\"UserManager.signinPopupCallback: successful, signed in sub: \", user.profile.sub);\r\n }\r\n else {\r\n Log.info(\"UserManager.signinPopupCallback: no sub\");\r\n }\r\n }\r\n\r\n return user;\r\n }).catch(err=>{\r\n Log.error(\"UserManager.signinPopupCallback error: \" + err && err.message);\r\n });\r\n }\r\n\r\n signinSilent(args = {}) {\r\n args = Object.assign({}, args);\r\n\r\n // first determine if we have a refresh token, or need to use iframe\r\n return this._loadUser().then(user => {\r\n if (user && user.refresh_token) {\r\n args.refresh_token = user.refresh_token;\r\n return this._useRefreshToken(args);\r\n }\r\n else {\r\n args.request_type = \"si:s\";\r\n args.id_token_hint = args.id_token_hint || (this.settings.includeIdTokenInSilentRenew && user && user.id_token);\r\n if (user && this._settings.validateSubOnSilentRenew) {\r\n Log.debug(\"UserManager.signinSilent, subject prior to silent renew: \", user.profile.sub);\r\n args.current_sub = user.profile.sub;\r\n }\r\n return this._signinSilentIframe(args);\r\n }\r\n });\r\n }\r\n\r\n _useRefreshToken(args = {}) {\r\n return this._tokenClient.exchangeRefreshToken(args).then(result => {\r\n if (!result) {\r\n Log.error(\"UserManager._useRefreshToken: No response returned from token endpoint\");\r\n return Promise.reject(\"No response returned from token endpoint\");\r\n }\r\n if (!result.access_token) {\r\n Log.error(\"UserManager._useRefreshToken: No access token returned from token endpoint\");\r\n return Promise.reject(\"No access token returned from token endpoint\");\r\n }\r\n\r\n return this._loadUser().then(user => {\r\n if (user) {\r\n let idTokenValidation = Promise.resolve();\r\n if (result.id_token) {\r\n idTokenValidation = this._validateIdTokenFromTokenRefreshToken(user.profile, result.id_token);\r\n }\r\n\r\n return idTokenValidation.then(() => {\r\n Log.debug(\"UserManager._useRefreshToken: refresh token response success\");\r\n user.id_token = result.id_token || user.id_token;\r\n user.access_token = result.access_token;\r\n user.refresh_token = result.refresh_token || user.refresh_token;\r\n user.expires_in = result.expires_in;\r\n\r\n return this.storeUser(user).then(()=>{\r\n this._events.load(user);\r\n return user;\r\n });\r\n });\r\n }\r\n else {\r\n return null;\r\n }\r\n });\r\n });\r\n }\r\n\r\n _validateIdTokenFromTokenRefreshToken(profile, id_token) {\r\n return this._metadataService.getIssuer().then(issuer => {\r\n return this.settings.getEpochTime().then(now => {\r\n return this._joseUtil.validateJwtAttributes(id_token, issuer, this._settings.client_id, this._settings.clockSkew, now).then(payload => {\r\n if (!payload) {\r\n Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token\");\r\n return Promise.reject(new Error(\"Failed to validate id_token\"));\r\n }\r\n if (payload.sub !== profile.sub) {\r\n Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub\");\r\n return Promise.reject(new Error(\"sub in id_token does not match current sub\"));\r\n }\r\n if (payload.auth_time && payload.auth_time !== profile.auth_time) {\r\n Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time\");\r\n return Promise.reject(new Error(\"auth_time in id_token does not match original auth_time\"));\r\n }\r\n if (payload.azp && payload.azp !== profile.azp) {\r\n Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp\");\r\n return Promise.reject(new Error(\"azp in id_token does not match original azp\"));\r\n }\r\n if (!payload.azp && profile.azp) {\r\n Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token\");\r\n return Promise.reject(new Error(\"azp not in id_token, but present in original id_token\"));\r\n }\r\n });\r\n });\r\n });\r\n }\r\n \r\n _signinSilentIframe(args = {}) {\r\n let url = args.redirect_uri || this.settings.silent_redirect_uri || this.settings.redirect_uri;\r\n if (!url) {\r\n Log.error(\"UserManager.signinSilent: No silent_redirect_uri configured\");\r\n return Promise.reject(new Error(\"No silent_redirect_uri configured\"));\r\n }\r\n\r\n args.redirect_uri = url;\r\n args.prompt = args.prompt || \"none\";\r\n\r\n return this._signin(args, this._iframeNavigator, {\r\n startUrl: url,\r\n silentRequestTimeout: args.silentRequestTimeout || this.settings.silentRequestTimeout\r\n }).then(user => {\r\n if (user) {\r\n if (user.profile && user.profile.sub) {\r\n Log.info(\"UserManager.signinSilent: successful, signed in sub: \", user.profile.sub);\r\n }\r\n else {\r\n Log.info(\"UserManager.signinSilent: no sub\");\r\n }\r\n }\r\n\r\n return user;\r\n });\r\n }\r\n\r\n signinSilentCallback(url) {\r\n return this._signinCallback(url, this._iframeNavigator).then(user => {\r\n if (user) {\r\n if (user.profile && user.profile.sub) {\r\n Log.info(\"UserManager.signinSilentCallback: successful, signed in sub: \", user.profile.sub);\r\n }\r\n else {\r\n Log.info(\"UserManager.signinSilentCallback: no sub\");\r\n }\r\n }\r\n\r\n return user;\r\n });\r\n }\r\n\r\n signinCallback(url) {\r\n return this.readSigninResponseState(url).then(({state, response}) => {\r\n if (state.request_type === \"si:r\") {\r\n return this.signinRedirectCallback(url);\r\n }\r\n if (state.request_type === \"si:p\") {\r\n return this.signinPopupCallback(url);\r\n }\r\n if (state.request_type === \"si:s\") {\r\n return this.signinSilentCallback(url);\r\n }\r\n return Promise.reject(new Error(\"invalid response_type in state\"));\r\n });\r\n }\r\n\r\n signoutCallback(url, keepOpen) {\r\n return this.readSignoutResponseState(url).then(({state, response}) => {\r\n if (state) {\r\n if (state.request_type === \"so:r\") {\r\n return this.signoutRedirectCallback(url);\r\n }\r\n if (state.request_type === \"so:p\") {\r\n return this.signoutPopupCallback(url, keepOpen);\r\n }\r\n return Promise.reject(new Error(\"invalid response_type in state\"));\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n querySessionStatus(args = {}) {\r\n args = Object.assign({}, args);\r\n\r\n args.request_type = \"si:s\"; // this acts like a signin silent\r\n let url = args.redirect_uri || this.settings.silent_redirect_uri || this.settings.redirect_uri;\r\n if (!url) {\r\n Log.error(\"UserManager.querySessionStatus: No silent_redirect_uri configured\");\r\n return Promise.reject(new Error(\"No silent_redirect_uri configured\"));\r\n }\r\n\r\n args.redirect_uri = url;\r\n args.prompt = \"none\";\r\n args.response_type = args.response_type || this.settings.query_status_response_type;\r\n args.scope = args.scope || \"openid\";\r\n args.skipUserInfo = true;\r\n\r\n return this._signinStart(args, this._iframeNavigator, {\r\n startUrl: url,\r\n silentRequestTimeout: args.silentRequestTimeout || this.settings.silentRequestTimeout\r\n }).then(navResponse => {\r\n return this.processSigninResponse(navResponse.url).then(signinResponse => {\r\n Log.debug(\"UserManager.querySessionStatus: got signin response\");\r\n\r\n if (signinResponse.session_state && signinResponse.profile.sub) {\r\n Log.info(\"UserManager.querySessionStatus: querySessionStatus success for sub: \", signinResponse.profile.sub);\r\n return {\r\n session_state: signinResponse.session_state,\r\n sub: signinResponse.profile.sub,\r\n sid: signinResponse.profile.sid\r\n };\r\n }\r\n else {\r\n Log.info(\"querySessionStatus successful, user not authenticated\");\r\n }\r\n })\r\n .catch(err => {\r\n if (err.session_state && this.settings.monitorAnonymousSession) {\r\n if (err.message == \"login_required\" || \r\n err.message == \"consent_required\" || \r\n err.message == \"interaction_required\" || \r\n err.message == \"account_selection_required\"\r\n ) {\r\n Log.info(\"UserManager.querySessionStatus: querySessionStatus success for anonymous user\");\r\n return {\r\n session_state: err.session_state\r\n };\r\n }\r\n }\r\n\r\n throw err;\r\n });\r\n });\r\n }\r\n\r\n _signin(args, navigator, navigatorParams = {}) {\r\n return this._signinStart(args, navigator, navigatorParams).then(navResponse => {\r\n return this._signinEnd(navResponse.url, args);\r\n });\r\n }\r\n _signinStart(args, navigator, navigatorParams = {}) {\r\n\r\n return navigator.prepare(navigatorParams).then(handle => {\r\n Log.debug(\"UserManager._signinStart: got navigator window handle\");\r\n\r\n return this.createSigninRequest(args).then(signinRequest => {\r\n Log.debug(\"UserManager._signinStart: got signin request\");\r\n\r\n navigatorParams.url = signinRequest.url;\r\n navigatorParams.id = signinRequest.state.id;\r\n\r\n return handle.navigate(navigatorParams);\r\n }).catch(err => {\r\n if (handle.close) {\r\n Log.debug(\"UserManager._signinStart: Error after preparing navigator, closing navigator window\");\r\n handle.close();\r\n }\r\n throw err;\r\n });\r\n });\r\n }\r\n _signinEnd(url, args = {}) {\r\n return this.processSigninResponse(url).then(signinResponse => {\r\n Log.debug(\"UserManager._signinEnd: got signin response\");\r\n\r\n let user = new User(signinResponse);\r\n\r\n if (args.current_sub) {\r\n if (args.current_sub !== user.profile.sub) {\r\n Log.debug(\"UserManager._signinEnd: current user does not match user returned from signin. sub from signin: \", user.profile.sub);\r\n return Promise.reject(new Error(\"login_required\"));\r\n }\r\n else {\r\n Log.debug(\"UserManager._signinEnd: current user matches user returned from signin\");\r\n }\r\n }\r\n\r\n return this.storeUser(user).then(() => {\r\n Log.debug(\"UserManager._signinEnd: user stored\");\r\n\r\n this._events.load(user);\r\n\r\n return user;\r\n });\r\n });\r\n }\r\n _signinCallback(url, navigator) {\r\n Log.debug(\"UserManager._signinCallback\");\r\n let useQuery = this._settings.response_mode === \"query\" || (!this._settings.response_mode && SigninRequest.isCode(this._settings.response_type));\r\n let delimiter = useQuery ? \"?\" : \"#\";\r\n return navigator.callback(url, undefined, delimiter);\r\n }\r\n\r\n signoutRedirect(args = {}) {\r\n args = Object.assign({}, args);\r\n\r\n args.request_type = \"so:r\";\r\n let postLogoutRedirectUri = args.post_logout_redirect_uri || this.settings.post_logout_redirect_uri;\r\n if (postLogoutRedirectUri){\r\n args.post_logout_redirect_uri = postLogoutRedirectUri;\r\n }\r\n let navParams = {\r\n useReplaceToNavigate : args.useReplaceToNavigate\r\n };\r\n return this._signoutStart(args, this._redirectNavigator, navParams).then(()=>{\r\n Log.info(\"UserManager.signoutRedirect: successful\");\r\n });\r\n }\r\n signoutRedirectCallback(url) {\r\n return this._signoutEnd(url || this._redirectNavigator.url).then(response=>{\r\n Log.info(\"UserManager.signoutRedirectCallback: successful\");\r\n return response;\r\n });\r\n }\r\n\r\n signoutPopup(args = {}) {\r\n args = Object.assign({}, args);\r\n\r\n args.request_type = \"so:p\";\r\n let url = args.post_logout_redirect_uri || this.settings.popup_post_logout_redirect_uri || this.settings.post_logout_redirect_uri;\r\n args.post_logout_redirect_uri = url;\r\n args.display = \"popup\";\r\n if (args.post_logout_redirect_uri){\r\n // we're putting a dummy entry in here because we\r\n // need a unique id from the state for notification\r\n // to the parent window, which is necessary if we\r\n // plan to return back to the client after signout\r\n // and so we can close the popup after signout\r\n args.state = args.state || {};\r\n }\r\n\r\n return this._signout(args, this._popupNavigator, {\r\n startUrl: url,\r\n popupWindowFeatures: args.popupWindowFeatures || this.settings.popupWindowFeatures,\r\n popupWindowTarget: args.popupWindowTarget || this.settings.popupWindowTarget\r\n }).then(() => {\r\n Log.info(\"UserManager.signoutPopup: successful\");\r\n });\r\n }\r\n signoutPopupCallback(url, keepOpen) {\r\n if (typeof(keepOpen) === 'undefined' && typeof(url) === 'boolean') {\r\n keepOpen = url;\r\n url = null;\r\n }\r\n\r\n let delimiter = '?';\r\n return this._popupNavigator.callback(url, keepOpen, delimiter).then(() => {\r\n Log.info(\"UserManager.signoutPopupCallback: successful\");\r\n });\r\n }\r\n\r\n _signout(args, navigator, navigatorParams = {}) {\r\n return this._signoutStart(args, navigator, navigatorParams).then(navResponse => {\r\n return this._signoutEnd(navResponse.url);\r\n });\r\n }\r\n _signoutStart(args = {}, navigator, navigatorParams = {}) {\r\n return navigator.prepare(navigatorParams).then(handle => {\r\n Log.debug(\"UserManager._signoutStart: got navigator window handle\");\r\n\r\n return this._loadUser().then(user => {\r\n Log.debug(\"UserManager._signoutStart: loaded current user from storage\");\r\n\r\n var revokePromise = this._settings.revokeAccessTokenOnSignout ? this._revokeInternal(user) : Promise.resolve();\r\n return revokePromise.then(() => {\r\n\r\n var id_token = args.id_token_hint || user && user.id_token;\r\n if (id_token) {\r\n Log.debug(\"UserManager._signoutStart: Setting id_token into signout request\");\r\n args.id_token_hint = id_token;\r\n }\r\n\r\n return this.removeUser().then(() => {\r\n Log.debug(\"UserManager._signoutStart: user removed, creating signout request\");\r\n\r\n return this.createSignoutRequest(args).then(signoutRequest => {\r\n Log.debug(\"UserManager._signoutStart: got signout request\");\r\n\r\n navigatorParams.url = signoutRequest.url;\r\n if (signoutRequest.state) {\r\n navigatorParams.id = signoutRequest.state.id;\r\n }\r\n return handle.navigate(navigatorParams);\r\n });\r\n });\r\n });\r\n }).catch(err => {\r\n if (handle.close) {\r\n Log.debug(\"UserManager._signoutStart: Error after preparing navigator, closing navigator window\");\r\n handle.close();\r\n }\r\n throw err;\r\n });\r\n });\r\n }\r\n _signoutEnd(url) {\r\n return this.processSignoutResponse(url).then(signoutResponse => {\r\n Log.debug(\"UserManager._signoutEnd: got signout response\");\r\n\r\n return signoutResponse;\r\n });\r\n }\r\n\r\n revokeAccessToken() {\r\n return this._loadUser().then(user => {\r\n return this._revokeInternal(user, true).then(success => {\r\n if (success) {\r\n Log.debug(\"UserManager.revokeAccessToken: removing token properties from user and re-storing\");\r\n\r\n user.access_token = null;\r\n user.refresh_token = null;\r\n user.expires_at = null;\r\n user.token_type = null;\r\n\r\n return this.storeUser(user).then(() => {\r\n Log.debug(\"UserManager.revokeAccessToken: user stored\");\r\n this._events.load(user);\r\n });\r\n }\r\n });\r\n }).then(()=>{\r\n Log.info(\"UserManager.revokeAccessToken: access token revoked successfully\");\r\n });\r\n }\r\n\r\n _revokeInternal(user, required) {\r\n if (user) {\r\n var access_token = user.access_token;\r\n var refresh_token = user.refresh_token;\r\n\r\n return this._revokeAccessTokenInternal(access_token, required)\r\n .then(atSuccess => {\r\n return this._revokeRefreshTokenInternal(refresh_token, required)\r\n .then(rtSuccess => {\r\n if (!atSuccess && !rtSuccess) {\r\n Log.debug(\"UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format\");\r\n }\r\n \r\n return atSuccess || rtSuccess;\r\n });\r\n });\r\n }\r\n\r\n return Promise.resolve(false);\r\n }\r\n\r\n _revokeAccessTokenInternal(access_token, required) {\r\n // check for JWT vs. reference token\r\n if (!access_token || access_token.indexOf('.') >= 0) {\r\n return Promise.resolve(false);\r\n }\r\n\r\n return this._tokenRevocationClient.revoke(access_token, required).then(() => true);\r\n }\r\n\r\n _revokeRefreshTokenInternal(refresh_token, required) {\r\n if (!refresh_token) {\r\n return Promise.resolve(false);\r\n }\r\n\r\n return this._tokenRevocationClient.revoke(refresh_token, required, \"refresh_token\").then(() => true);\r\n }\r\n\r\n startSilentRenew() {\r\n this._silentRenewService.start();\r\n }\r\n\r\n stopSilentRenew() {\r\n this._silentRenewService.stop();\r\n }\r\n\r\n get _userStoreKey() {\r\n return `user:${this.settings.authority}:${this.settings.client_id}`;\r\n }\r\n\r\n _loadUser() {\r\n return this._userStore.get(this._userStoreKey).then(storageString => {\r\n if (storageString) {\r\n Log.debug(\"UserManager._loadUser: user storageString loaded\");\r\n return User.fromStorageString(storageString);\r\n }\r\n\r\n Log.debug(\"UserManager._loadUser: no user storageString\");\r\n return null;\r\n });\r\n }\r\n\r\n storeUser(user) {\r\n if (user) {\r\n Log.debug(\"UserManager.storeUser: storing user\");\r\n\r\n var storageString = user.toStorageString();\r\n return this._userStore.set(this._userStoreKey, storageString);\r\n }\r\n else {\r\n Log.debug(\"storeUser.storeUser: removing user\");\r\n return this._userStore.remove(this._userStoreKey);\r\n }\r\n }\r\n}\r\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport gud from 'gud';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + gud() + '__';\n\n var Provider =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer =\n /*#__PURE__*/\n function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n }\n\n render() {\n return (\n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle\";\nimport RouterContext from \"./RouterContext\";\nimport generatePath from \"./generatePath\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext\";\nimport matchPath from \"./matchPath\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext\";\nimport matchPath from \"./matchPath\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport RouterContext from \"./RouterContext\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n \n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a `\n );\n return (\n \n );\n }}\n \n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(Context).history;\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(Context).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(Context).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n return path\n ? matchPath(useLocation().pathname, path)\n : useContext(Context).match;\n}\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\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 fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.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\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\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","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\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.6.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = false;\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? 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 has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n}\n\nfunction visible(element) {\n var parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\nexports.resetForTesting = resetForTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = \"length\" in el ? el[0] : el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n if (!appElement && !globalElement) {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return false;\n }\n\n return true;\n}\n\nfunction hide(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).setAttribute(\"aria-hidden\", \"true\");\n }\n}\n\nfunction show(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).removeAttribute(\"aria-hidden\");\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}\n\nfunction resetForTesting() {\n globalElement = null;\n}","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n","'use strict';\n\nvar base64_url_decode = require('./base64_url_decode');\n\nfunction InvalidTokenError(message) {\n this.message = message;\n}\n\nInvalidTokenError.prototype = new Error();\nInvalidTokenError.prototype.name = 'InvalidTokenError';\n\nmodule.exports = function (token,options) {\n if (typeof token !== 'string') {\n throw new InvalidTokenError('Invalid token specified');\n }\n\n options = options || {};\n var pos = options.header === true ? 0 : 1;\n try {\n return JSON.parse(base64_url_decode(token.split('.')[pos]));\n } catch (e) {\n throw new InvalidTokenError('Invalid token specified: ' + e.message);\n }\n};\n\nmodule.exports.InvalidTokenError = InvalidTokenError;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNegative = void 0;\nvar toUnit_1 = require(\"./toUnit\");\n/**\n * Returns `true` if a duration is negative overall.\n *\n * Note, this function performs implicit normalization, so ambiguous\n * units, like months, work with average values.\n *\n * @example\n * isNegative('P-1D') // true\n * isNegative({ days: 1, hours: -25 }) // true\n * isNegative({ days: 1, hours: -23 }) // false\n */\nvar isNegative = function (duration) {\n return toUnit_1.toMilliseconds(duration) < 0;\n};\nexports.isNegative = isNegative;\n//# sourceMappingURL=isNegative.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.apply = void 0;\nvar dateUtils_1 = require(\"./lib/dateUtils\");\nvar parse_1 = require(\"./parse\");\n/**\n * Return a new date with the duration applied.\n *\n * @example\n * const newDate = apply('2020-01-01T00:00:00.000Z', { years: 2 })\n * newDate.toISOString() // '2022-01-01T00:00:00.000Z'\n */\nvar apply = function (date, duration) {\n var parsedDate = new Date(date);\n var _a = parse_1.parse(duration), years = _a.years, months = _a.months, weeks = _a.weeks, days = _a.days, hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds, milliseconds = _a.milliseconds;\n dateUtils_1.addMonths(parsedDate, (years * 12) + months);\n parsedDate.setDate(parsedDate.getDate() + (weeks * 7) + days);\n parsedDate.setHours(parsedDate.getHours() + hours, parsedDate.getMinutes() + minutes, parsedDate.getSeconds() + seconds, parsedDate.getMilliseconds() + milliseconds);\n return parsedDate;\n};\nexports.apply = apply;\n//# sourceMappingURL=apply.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.between = void 0;\nvar units_1 = require(\"./lib/units\");\n/**\n * Gets the difference between two dates, expressed as a duration object.\n *\n * @example\n * between('2022-01-01', '2020-01-01') // { years: -2, months: 0, weeks: 0, ... }\n */\nvar between = function (date1, date2) {\n var a = new Date(date1);\n var b = new Date(date2);\n var output = __assign({}, units_1.ZERO);\n units_1.UNITS_META.forEach(function (_a) {\n var unit = _a.unit, dateGetter = _a.dateGetter;\n output[unit] = dateGetter(b) - dateGetter(a);\n });\n return output;\n};\nexports.between = between;\n//# sourceMappingURL=between.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isZero = void 0;\nvar toUnit_1 = require(\"./toUnit\");\n/**\n * Returns `true` if all the units of the duration sum to zero.\n *\n * Note, this function performs implicit normalization, so ambiguous\n * units, like months, work with average values.\n *\n * @example\n * isZero('P0D') // true\n * isZero({ years: 0 }) // true\n * isZero({ days: 1, hours: -24 }) // true\n * isZero({ days: 1 }) // false\n */\nvar isZero = function (duration) {\n return toUnit_1.toMilliseconds(duration) === 0;\n};\nexports.isZero = isZero;\n//# sourceMappingURL=isZero.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sum = void 0;\nvar units_1 = require(\"./lib/units\");\nvar parse_1 = require(\"./parse\");\n/**\n * Sum durations.\n *\n * @example\n * sum({ days: 1 }, { days: 2, hours: 12 })\n * { days: 3, hours: 12 }\n */\nvar sum = function () {\n var durations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n durations[_i] = arguments[_i];\n }\n var output = __assign({}, units_1.ZERO);\n durations.map(parse_1.parse).forEach(function (duration) {\n units_1.UNITS.forEach(function (key) {\n output[key] += duration[key];\n });\n });\n return output;\n};\nexports.sum = sum;\n//# sourceMappingURL=sum.js.map","/*! MIT License © Sindre Sorhus */\n\nconst globals = {};\n\nconst getGlobal = property => {\n\t/* istanbul ignore next */\n\tif (typeof self !== 'undefined' && self && property in self) {\n\t\treturn self;\n\t}\n\n\t/* istanbul ignore next */\n\tif (typeof window !== 'undefined' && window && property in window) {\n\t\treturn window;\n\t}\n\n\tif (typeof global !== 'undefined' && global && property in global) {\n\t\treturn global;\n\t}\n\n\t/* istanbul ignore next */\n\tif (typeof globalThis !== 'undefined' && globalThis) {\n\t\treturn globalThis;\n\t}\n};\n\nconst globalProperties = [\n\t'Headers',\n\t'Request',\n\t'Response',\n\t'ReadableStream',\n\t'fetch',\n\t'AbortController',\n\t'FormData'\n];\n\nfor (const property of globalProperties) {\n\tObject.defineProperty(globals, property, {\n\t\tget() {\n\t\t\tconst globalObject = getGlobal(property);\n\t\t\tconst value = globalObject && globalObject[property];\n\t\t\treturn typeof value === 'function' ? value.bind(globalObject) : value;\n\t\t}\n\t});\n}\n\nconst isObject = value => value !== null && typeof value === 'object';\nconst supportsAbortController = typeof globals.AbortController === 'function';\nconst supportsStreams = typeof globals.ReadableStream === 'function';\nconst supportsFormData = typeof globals.FormData === 'function';\n\nconst mergeHeaders = (source1, source2) => {\n\tconst result = new globals.Headers(source1 || {});\n\tconst isHeadersInstance = source2 instanceof globals.Headers;\n\tconst source = new globals.Headers(source2 || {});\n\n\tfor (const [key, value] of source) {\n\t\tif ((isHeadersInstance && value === 'undefined') || value === undefined) {\n\t\t\tresult.delete(key);\n\t\t} else {\n\t\t\tresult.set(key, value);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst deepMerge = (...sources) => {\n\tlet returnValue = {};\n\tlet headers = {};\n\n\tfor (const source of sources) {\n\t\tif (Array.isArray(source)) {\n\t\t\tif (!(Array.isArray(returnValue))) {\n\t\t\t\treturnValue = [];\n\t\t\t}\n\n\t\t\treturnValue = [...returnValue, ...source];\n\t\t} else if (isObject(source)) {\n\t\t\tfor (let [key, value] of Object.entries(source)) {\n\t\t\t\tif (isObject(value) && Reflect.has(returnValue, key)) {\n\t\t\t\t\tvalue = deepMerge(returnValue[key], value);\n\t\t\t\t}\n\n\t\t\t\treturnValue = {...returnValue, [key]: value};\n\t\t\t}\n\n\t\t\tif (isObject(source.headers)) {\n\t\t\t\theaders = mergeHeaders(headers, source.headers);\n\t\t\t}\n\t\t}\n\n\t\treturnValue.headers = headers;\n\t}\n\n\treturn returnValue;\n};\n\nconst requestMethods = [\n\t'get',\n\t'post',\n\t'put',\n\t'patch',\n\t'head',\n\t'delete'\n];\n\nconst responseTypes = {\n\tjson: 'application/json',\n\ttext: 'text/*',\n\tformData: 'multipart/form-data',\n\tarrayBuffer: '*/*',\n\tblob: '*/*'\n};\n\nconst retryMethods = [\n\t'get',\n\t'put',\n\t'head',\n\t'delete',\n\t'options',\n\t'trace'\n];\n\nconst retryStatusCodes = [\n\t408,\n\t413,\n\t429,\n\t500,\n\t502,\n\t503,\n\t504\n];\n\nconst retryAfterStatusCodes = [\n\t413,\n\t429,\n\t503\n];\n\nconst stop = Symbol('stop');\n\nclass HTTPError extends Error {\n\tconstructor(response) {\n\t\t// Set the message to the status text, such as Unauthorized,\n\t\t// with some fallbacks. This message should never be undefined.\n\t\tsuper(\n\t\t\tresponse.statusText ||\n\t\t\tString(\n\t\t\t\t(response.status === 0 || response.status) ?\n\t\t\t\t\tresponse.status : 'Unknown response error'\n\t\t\t)\n\t\t);\n\t\tthis.name = 'HTTPError';\n\t\tthis.response = response;\n\t}\n}\n\nclass TimeoutError extends Error {\n\tconstructor(request) {\n\t\tsuper('Request timed out');\n\t\tthis.name = 'TimeoutError';\n\t\tthis.request = request;\n\t}\n}\n\nconst delay = ms => new Promise(resolve => setTimeout(resolve, ms));\n\n// `Promise.race()` workaround (#91)\nconst timeout = (request, abortController, options) =>\n\tnew Promise((resolve, reject) => {\n\t\tconst timeoutID = setTimeout(() => {\n\t\t\tif (abortController) {\n\t\t\t\tabortController.abort();\n\t\t\t}\n\n\t\t\treject(new TimeoutError(request));\n\t\t}, options.timeout);\n\n\t\t/* eslint-disable promise/prefer-await-to-then */\n\t\toptions.fetch(request)\n\t\t\t.then(resolve)\n\t\t\t.catch(reject)\n\t\t\t.then(() => {\n\t\t\t\tclearTimeout(timeoutID);\n\t\t\t});\n\t\t/* eslint-enable promise/prefer-await-to-then */\n\t});\n\nconst normalizeRequestMethod = input => requestMethods.includes(input) ? input.toUpperCase() : input;\n\nconst defaultRetryOptions = {\n\tlimit: 2,\n\tmethods: retryMethods,\n\tstatusCodes: retryStatusCodes,\n\tafterStatusCodes: retryAfterStatusCodes\n};\n\nconst normalizeRetryOptions = (retry = {}) => {\n\tif (typeof retry === 'number') {\n\t\treturn {\n\t\t\t...defaultRetryOptions,\n\t\t\tlimit: retry\n\t\t};\n\t}\n\n\tif (retry.methods && !Array.isArray(retry.methods)) {\n\t\tthrow new Error('retry.methods must be an array');\n\t}\n\n\tif (retry.statusCodes && !Array.isArray(retry.statusCodes)) {\n\t\tthrow new Error('retry.statusCodes must be an array');\n\t}\n\n\treturn {\n\t\t...defaultRetryOptions,\n\t\t...retry,\n\t\tafterStatusCodes: retryAfterStatusCodes\n\t};\n};\n\n// The maximum value of a 32bit int (see issue #117)\nconst maxSafeTimeout = 2147483647;\n\nclass Ky {\n\tconstructor(input, options = {}) {\n\t\tthis._retryCount = 0;\n\t\tthis._input = input;\n\t\tthis._options = {\n\t\t\t// TODO: credentials can be removed when the spec change is implemented in all browsers. Context: https://www.chromestatus.com/feature/4539473312350208\n\t\t\tcredentials: this._input.credentials || 'same-origin',\n\t\t\t...options,\n\t\t\theaders: mergeHeaders(this._input.headers, options.headers),\n\t\t\thooks: deepMerge({\n\t\t\t\tbeforeRequest: [],\n\t\t\t\tbeforeRetry: [],\n\t\t\t\tafterResponse: []\n\t\t\t}, options.hooks),\n\t\t\tmethod: normalizeRequestMethod(options.method || this._input.method),\n\t\t\tprefixUrl: String(options.prefixUrl || ''),\n\t\t\tretry: normalizeRetryOptions(options.retry),\n\t\t\tthrowHttpErrors: options.throwHttpErrors !== false,\n\t\t\ttimeout: typeof options.timeout === 'undefined' ? 10000 : options.timeout,\n\t\t\tfetch: options.fetch || globals.fetch\n\t\t};\n\n\t\tif (typeof this._input !== 'string' && !(this._input instanceof URL || this._input instanceof globals.Request)) {\n\t\t\tthrow new TypeError('`input` must be a string, URL, or Request');\n\t\t}\n\n\t\tif (this._options.prefixUrl && typeof this._input === 'string') {\n\t\t\tif (this._input.startsWith('/')) {\n\t\t\t\tthrow new Error('`input` must not begin with a slash when using `prefixUrl`');\n\t\t\t}\n\n\t\t\tif (!this._options.prefixUrl.endsWith('/')) {\n\t\t\t\tthis._options.prefixUrl += '/';\n\t\t\t}\n\n\t\t\tthis._input = this._options.prefixUrl + this._input;\n\t\t}\n\n\t\tif (supportsAbortController) {\n\t\t\tthis.abortController = new globals.AbortController();\n\t\t\tif (this._options.signal) {\n\t\t\t\tthis._options.signal.addEventListener('abort', () => {\n\t\t\t\t\tthis.abortController.abort();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis._options.signal = this.abortController.signal;\n\t\t}\n\n\t\tthis.request = new globals.Request(this._input, this._options);\n\n\t\tif (this._options.searchParams) {\n\t\t\tconst searchParams = '?' + new URLSearchParams(this._options.searchParams).toString();\n\t\t\tconst url = this.request.url.replace(/(?:\\?.*?)?(?=#|$)/, searchParams);\n\n\t\t\t// To provide correct form boundary, Content-Type header should be deleted each time when new Request instantiated from another one\n\t\t\tif (((supportsFormData && this._options.body instanceof globals.FormData) || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers['content-type'])) {\n\t\t\t\tthis.request.headers.delete('content-type');\n\t\t\t}\n\n\t\t\tthis.request = new globals.Request(new globals.Request(url, this.request), this._options);\n\t\t}\n\n\t\tif (this._options.json !== undefined) {\n\t\t\tthis._options.body = JSON.stringify(this._options.json);\n\t\t\tthis.request.headers.set('content-type', 'application/json');\n\t\t\tthis.request = new globals.Request(this.request, {body: this._options.body});\n\t\t}\n\n\t\tconst fn = async () => {\n\t\t\tif (this._options.timeout > maxSafeTimeout) {\n\t\t\t\tthrow new RangeError(`The \\`timeout\\` option cannot be greater than ${maxSafeTimeout}`);\n\t\t\t}\n\n\t\t\tawait delay(1);\n\t\t\tlet response = await this._fetch();\n\n\t\t\tfor (const hook of this._options.hooks.afterResponse) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tconst modifiedResponse = await hook(\n\t\t\t\t\tthis.request,\n\t\t\t\t\tthis._options,\n\t\t\t\t\tresponse.clone()\n\t\t\t\t);\n\n\t\t\t\tif (modifiedResponse instanceof globals.Response) {\n\t\t\t\t\tresponse = modifiedResponse;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!response.ok && this._options.throwHttpErrors) {\n\t\t\t\tthrow new HTTPError(response);\n\t\t\t}\n\n\t\t\t// If `onDownloadProgress` is passed, it uses the stream API internally\n\t\t\t/* istanbul ignore next */\n\t\t\tif (this._options.onDownloadProgress) {\n\t\t\t\tif (typeof this._options.onDownloadProgress !== 'function') {\n\t\t\t\t\tthrow new TypeError('The `onDownloadProgress` option must be a function');\n\t\t\t\t}\n\n\t\t\t\tif (!supportsStreams) {\n\t\t\t\t\tthrow new Error('Streams are not supported in your environment. `ReadableStream` is missing.');\n\t\t\t\t}\n\n\t\t\t\treturn this._stream(response.clone(), this._options.onDownloadProgress);\n\t\t\t}\n\n\t\t\tif (this._options.parseJson) {\n\t\t\t\tresponse.json = async () => {\n\t\t\t\t\treturn this._options.parseJson(await response.text());\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn response;\n\t\t};\n\n\t\tconst isRetriableMethod = this._options.retry.methods.includes(this.request.method.toLowerCase());\n\t\tconst result = isRetriableMethod ? this._retry(fn) : fn();\n\n\t\tfor (const [type, mimeType] of Object.entries(responseTypes)) {\n\t\t\tresult[type] = async () => {\n\t\t\t\tthis.request.headers.set('accept', this.request.headers.get('accept') || mimeType);\n\n\t\t\t\tconst response = (await result).clone();\n\n\t\t\t\tif (type === 'json') {\n\t\t\t\t\tif (response.status === 204) {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\n\t\t\t\t\tif (options.parseJson) {\n\t\t\t\t\t\treturn options.parseJson(await response.text());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn response[type]();\n\t\t\t};\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t_calculateRetryDelay(error) {\n\t\tthis._retryCount++;\n\n\t\tif (this._retryCount < this._options.retry.limit && !(error instanceof TimeoutError)) {\n\t\t\tif (error instanceof HTTPError) {\n\t\t\t\tif (!this._options.retry.statusCodes.includes(error.response.status)) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\tconst retryAfter = error.response.headers.get('Retry-After');\n\t\t\t\tif (retryAfter && this._options.retry.afterStatusCodes.includes(error.response.status)) {\n\t\t\t\t\tlet after = Number(retryAfter);\n\t\t\t\t\tif (Number.isNaN(after)) {\n\t\t\t\t\t\tafter = Date.parse(retryAfter) - Date.now();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tafter *= 1000;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (typeof this._options.retry.maxRetryAfter !== 'undefined' && after > this._options.retry.maxRetryAfter) {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn after;\n\t\t\t\t}\n\n\t\t\t\tif (error.response.status === 413) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst BACKOFF_FACTOR = 0.3;\n\t\t\treturn BACKOFF_FACTOR * (2 ** (this._retryCount - 1)) * 1000;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tasync _retry(fn) {\n\t\ttry {\n\t\t\treturn await fn();\n\t\t} catch (error) {\n\t\t\tconst ms = Math.min(this._calculateRetryDelay(error), maxSafeTimeout);\n\t\t\tif (ms !== 0 && this._retryCount > 0) {\n\t\t\t\tawait delay(ms);\n\n\t\t\t\tfor (const hook of this._options.hooks.beforeRetry) {\n\t\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\t\tconst hookResult = await hook({\n\t\t\t\t\t\trequest: this.request,\n\t\t\t\t\t\toptions: this._options,\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tresponse: error.response.clone(),\n\t\t\t\t\t\tretryCount: this._retryCount\n\t\t\t\t\t});\n\n\t\t\t\t\t// If `stop` is returned from the hook, the retry process is stopped\n\t\t\t\t\tif (hookResult === stop) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn this._retry(fn);\n\t\t\t}\n\n\t\t\tif (this._options.throwHttpErrors) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\t}\n\n\tasync _fetch() {\n\t\tfor (const hook of this._options.hooks.beforeRequest) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tconst result = await hook(this.request, this._options);\n\n\t\t\tif (result instanceof Request) {\n\t\t\t\tthis.request = result;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (result instanceof Response) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\n\t\tif (this._options.timeout === false) {\n\t\t\treturn this._options.fetch(this.request.clone());\n\t\t}\n\n\t\treturn timeout(this.request.clone(), this.abortController, this._options);\n\t}\n\n\t/* istanbul ignore next */\n\t_stream(response, onDownloadProgress) {\n\t\tconst totalBytes = Number(response.headers.get('content-length')) || 0;\n\t\tlet transferredBytes = 0;\n\n\t\treturn new globals.Response(\n\t\t\tnew globals.ReadableStream({\n\t\t\t\tstart(controller) {\n\t\t\t\t\tconst reader = response.body.getReader();\n\n\t\t\t\t\tif (onDownloadProgress) {\n\t\t\t\t\t\tonDownloadProgress({percent: 0, transferredBytes: 0, totalBytes}, new Uint8Array());\n\t\t\t\t\t}\n\n\t\t\t\t\tasync function read() {\n\t\t\t\t\t\tconst {done, value} = await reader.read();\n\t\t\t\t\t\tif (done) {\n\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (onDownloadProgress) {\n\t\t\t\t\t\t\ttransferredBytes += value.byteLength;\n\t\t\t\t\t\t\tconst percent = totalBytes === 0 ? 0 : transferredBytes / totalBytes;\n\t\t\t\t\t\t\tonDownloadProgress({percent, transferredBytes, totalBytes}, value);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcontroller.enqueue(value);\n\t\t\t\t\t\tread();\n\t\t\t\t\t}\n\n\t\t\t\t\tread();\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n}\n\nconst validateAndMerge = (...sources) => {\n\tfor (const source of sources) {\n\t\tif ((!isObject(source) || Array.isArray(source)) && typeof source !== 'undefined') {\n\t\t\tthrow new TypeError('The `options` argument must be an object');\n\t\t}\n\t}\n\n\treturn deepMerge({}, ...sources);\n};\n\nconst createInstance = defaults => {\n\tconst ky = (input, options) => new Ky(input, validateAndMerge(defaults, options));\n\n\tfor (const method of requestMethods) {\n\t\tky[method] = (input, options) => new Ky(input, validateAndMerge(defaults, options, {method}));\n\t}\n\n\tky.HTTPError = HTTPError;\n\tky.TimeoutError = TimeoutError;\n\tky.create = newDefaults => createInstance(validateAndMerge(newDefaults));\n\tky.extend = newDefaults => createInstance(validateAndMerge(defaults, newDefaults));\n\tky.stop = stop;\n\n\treturn ky;\n};\n\nexport default createInstance();\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { PureComponent } from 'react'; // eslint-disable-line import/no-unresolved\n\nexport var PersistGate =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(PersistGate, _PureComponent);\n\n function PersistGate() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, PersistGate);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(PersistGate)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n bootstrapped: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_unsubscribe\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"handlePersistorState\", function () {\n var persistor = _this.props.persistor;\n\n var _persistor$getState = persistor.getState(),\n bootstrapped = _persistor$getState.bootstrapped;\n\n if (bootstrapped) {\n if (_this.props.onBeforeLift) {\n Promise.resolve(_this.props.onBeforeLift()).finally(function () {\n return _this.setState({\n bootstrapped: true\n });\n });\n } else {\n _this.setState({\n bootstrapped: true\n });\n }\n\n _this._unsubscribe && _this._unsubscribe();\n }\n });\n\n return _this;\n }\n\n _createClass(PersistGate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._unsubscribe = this.props.persistor.subscribe(this.handlePersistorState);\n this.handlePersistorState();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._unsubscribe && this._unsubscribe();\n }\n }, {\n key: \"render\",\n value: function render() {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof this.props.children === 'function' && this.props.loading) console.error('redux-persist: PersistGate expects either a function child or loading prop, but not both. The loading prop will be ignored.');\n }\n\n if (typeof this.props.children === 'function') {\n return this.props.children(this.state.bootstrapped);\n }\n\n return this.state.bootstrapped ? this.props.children : this.props.loading;\n }\n }]);\n\n return PersistGate;\n}(PureComponent);\n\n_defineProperty(PersistGate, \"defaultProps\", {\n children: null,\n loading: null\n});","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/** @jsx jsx */\nvar React = __importStar(require(\"react\"));\nvar core_1 = require(\"@emotion/core\");\nvar helpers_1 = require(\"./helpers\");\nvar pulse = core_1.keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n 0% {transform: scale(1);opacity: 1}\\n 45% {transform: scale(0.1);opacity: 0.7}\\n 80% {transform: scale(1);opacity: 1}\\n\"], [\"\\n 0% {transform: scale(1);opacity: 1}\\n 45% {transform: scale(0.1);opacity: 0.7}\\n 80% {transform: scale(1);opacity: 1}\\n\"])));\nvar Loader = /** @class */ (function (_super) {\n __extends(Loader, _super);\n function Loader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.style = function (i) {\n var _a = _this.props, color = _a.color, size = _a.size, sizeUnit = _a.sizeUnit, margin = _a.margin;\n return core_1.css(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n background-color: \", \";\\n width: \", \";\\n height: \", \";\\n margin: \", \";\\n border-radius: 100%;\\n display: inline-block;\\n animation: \", \" 0.75s \", \"s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\\n animation-fill-mode: both;\\n \"], [\"\\n background-color: \", \";\\n width: \", \";\\n height: \", \";\\n margin: \", \";\\n border-radius: 100%;\\n display: inline-block;\\n animation: \", \" 0.75s \", \"s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\\n animation-fill-mode: both;\\n \"])), color, \"\" + size + sizeUnit, \"\" + size + sizeUnit, margin, pulse, i * 0.12);\n };\n return _this;\n }\n Loader.prototype.render = function () {\n var _a = this.props, loading = _a.loading, css = _a.css;\n return loading ? (core_1.jsx(\"div\", { css: [css] },\n core_1.jsx(\"div\", { css: this.style(1) }),\n core_1.jsx(\"div\", { css: this.style(2) }),\n core_1.jsx(\"div\", { css: this.style(3) }))) : null;\n };\n Loader.defaultProps = helpers_1.sizeMarginDefaults(15);\n return Loader;\n}(React.PureComponent));\nexports.default = Loader;\nvar templateObject_1, templateObject_2;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","\"use strict\";\n\nvar compose = require('redux').compose;\n\nexports.__esModule = true;\nexports.composeWithDevTools = (\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ :\n function() {\n if (arguments.length === 0) return undefined;\n if (typeof arguments[0] === 'object') return compose;\n return compose.apply(null, arguments);\n }\n);\n\nexports.devToolsEnhancer = (\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ ?\n window.__REDUX_DEVTOOLS_EXTENSION__ :\n function() { return function(noop) { return noop; } }\n);\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","'use strict';\n\nvar Validator = module.exports.Validator = require('./validator');\n\nmodule.exports.ValidatorResult = require('./helpers').ValidatorResult;\nmodule.exports.ValidatorResultError = require('./helpers').ValidatorResultError;\nmodule.exports.ValidationError = require('./helpers').ValidationError;\nmodule.exports.SchemaError = require('./helpers').SchemaError;\nmodule.exports.SchemaScanResult = require('./scan').SchemaScanResult;\nmodule.exports.scan = require('./scan').scan;\n\nmodule.exports.validate = function (instance, schema, options) {\n var v = new Validator();\n return v.validate(instance, schema, options);\n};\n","/** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(mergeMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); }, concurrent)); };\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return function (source) { return source.lift(new MergeMapOperator(project, concurrent)); };\n}\nvar MergeMapOperator = /*@__PURE__*/ (function () {\n function MergeMapOperator(project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n this.project = project;\n this.concurrent = concurrent;\n }\n MergeMapOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n };\n return MergeMapOperator;\n}());\nexport { MergeMapOperator };\nvar MergeMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MergeMapSubscriber, _super);\n function MergeMapSubscriber(destination, project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeMapSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapSubscriber.prototype._tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result);\n };\n MergeMapSubscriber.prototype._innerSub = function (ish) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n MergeMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n MergeMapSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapSubscriber;\n}(SimpleOuterSubscriber));\nexport { MergeMapSubscriber };\nexport var flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map\n","import Symbol from './_Symbol.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nexport default isFlattenable;\n","import arrayPush from './_arrayPush.js';\nimport isFlattenable from './_isFlattenable.js';\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nexport default baseFlatten;\n","import baseEach from './_baseEach.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nexport default baseMap;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nexport default baseSortBy;\n","import isSymbol from './isSymbol.js';\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nexport default compareAscending;\n","import compareAscending from './_compareAscending.js';\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nexport default compareMultiple;\n","import arrayMap from './_arrayMap.js';\nimport baseGet from './_baseGet.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseMap from './_baseMap.js';\nimport baseSortBy from './_baseSortBy.js';\nimport baseUnary from './_baseUnary.js';\nimport compareMultiple from './_compareMultiple.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nexport default baseOrderBy;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","import baseFlatten from './_baseFlatten.js';\nimport baseOrderBy from './_baseOrderBy.js';\nimport baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nexport default sortBy;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nexport default baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nexport default baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nexport default strictIndexOf;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIsNaN from './_baseIsNaN.js';\nimport strictIndexOf from './_strictIndexOf.js';\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nexport default baseIndexOf;\n","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nexport default arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nexport default arrayIncludesWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n","import Set from './_Set.js';\nimport noop from './noop.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nexport default createSet;\n","import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport cacheHas from './_cacheHas.js';\nimport createSet from './_createSet.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseUniq;\n","import baseUniq from './_baseUniq.js';\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nexport default uniq;\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_noop,_util_isFunction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nvar DoOperator = /*@__PURE__*/ (function () {\n function DoOperator(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n DoOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n };\n return DoOperator;\n}());\nvar TapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TapSubscriber, _super);\n function TapSubscriber(destination, observerOrNext, error, complete) {\n var _this = _super.call(this, destination) || this;\n _this._tapNext = noop;\n _this._tapError = noop;\n _this._tapComplete = noop;\n _this._tapError = error || noop;\n _this._tapComplete = complete || noop;\n if (isFunction(observerOrNext)) {\n _this._context = _this;\n _this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n _this._context = observerOrNext;\n _this._tapNext = observerOrNext.next || noop;\n _this._tapError = observerOrNext.error || noop;\n _this._tapComplete = observerOrNext.complete || noop;\n }\n return _this;\n }\n TapSubscriber.prototype._next = function (value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n };\n TapSubscriber.prototype._error = function (err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n };\n TapSubscriber.prototype._complete = function () {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n };\n return TapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=tap.js.map\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object 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 * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\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 if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\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(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, 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 interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, 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(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\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(null, 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(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.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 that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().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)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var 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 (!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 var 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 var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\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 (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var 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 case undefined:\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) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var 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 coersion 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// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var 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 var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var 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 var length = this.length | 0\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.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 var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\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 var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var 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 (isNaN(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 (Buffer.TYPED_ARRAY_SUPPORT &&\n 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 var indexSize = 1\n var arrLength = arr.length\n var 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 var i\n if (dir) {\n var 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 var found = true\n for (var 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 var 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 // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(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 latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, 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 // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var 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 var 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 return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(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 var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var 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\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var 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 var res = ''\n var 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 var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; 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 var 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 var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\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 = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\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 var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\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 = function readUInt32BE (offset, noAssert) {\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.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var 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 var i = byteLength\n var mul = 1\n var 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 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 if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\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 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.readFloatLE = function readFloatLE (offset, noAssert) {\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 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 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 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 = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var 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 = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var 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 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var 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 var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var 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 (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\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 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 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 (!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('sourceStart out of bounds')\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 var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\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 (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\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 } else if (typeof val === 'number') {\n val = val & 255\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 var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).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 stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var 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 var byteArray = []\n for (var 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 var c, hi, lo\n var byteArray = []\n for (var 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 for (var 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\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\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 : typeof detection == 'function' ? 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","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.github.io/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var $ = require('../internals/export');\nvar repeat = require('../internals/string-repeat');\n\n// `String.prototype.repeat` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\n$({ target: 'String', proto: true }, {\n repeat: repeat\n});\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n }\n\n var Emitter =\n /*#__PURE__*/\n function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push(callback);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n var _this = this;\n\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var debounce = function debounce(callback) {\n setTimeout(function () {\n return callback.call(_this, event);\n });\n };\n\n var stack = this.listeners[event.type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n debounce(stack[i]);\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal =\n /*#__PURE__*/\n function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n function AbortSignal() {\n var _this2;\n\n _classCallCheck(this, AbortSignal);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AbortSignal).call(this)); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this2.listeners) {\n Emitter.call(_assertThisInitialized(_this2));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this2;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController =\n /*#__PURE__*/\n function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n /**\n * Note: the \"fetch.Request\" default value is available for fetch imported from\n * the \"node-fetch\" package and not in browsers. This is OK since browsers\n * will be importing umd-polyfill.js from that path \"self\" is passed the\n * decorator so the default value will not be used (because browsers that define\n * fetch also has Request). One quirky setup where self.fetch exists but\n * self.Request does not is when the \"unfetch\" minimal fetch polyfill is used\n * on top of IE11; for this case the browser will try to use the fetch.Request\n * default value which in turn will be undefined but then then \"if (Request)\"\n * will ensure that you get a patched fetch but still no Request (as expected).\n * @param {fetch, Request = fetch.Request}\n * @returns {fetch: abortableFetch, Request: AbortableRequest}\n */\n\n function abortableFetchDecorator(patchTargets) {\n if ('function' === typeof patchTargets) {\n patchTargets = {\n fetch: patchTargets\n };\n }\n\n var _patchTargets = patchTargets,\n fetch = _patchTargets.fetch,\n _patchTargets$Request = _patchTargets.Request,\n NativeRequest = _patchTargets$Request === void 0 ? fetch.Request : _patchTargets$Request,\n NativeAbortController = _patchTargets.AbortController,\n _patchTargets$__FORCE = _patchTargets.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL = _patchTargets$__FORCE === void 0 ? false : _patchTargets$__FORCE;\n\n if (!polyfillNeeded({\n fetch: fetch,\n Request: NativeRequest,\n AbortController: NativeAbortController,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL: __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL\n })) {\n return {\n fetch: fetch,\n Request: Request\n };\n }\n\n var Request = NativeRequest; // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // hence we only patch it if it's available. Also we don't patch it if signal\n // is already available on the Request prototype because in this case support\n // is present and the patching below can cause a crash since it assigns to\n // request.signal which is technically a read-only property. This latter error\n // happens when you run the main5.js node-fetch example in the repo\n // \"abortcontroller-polyfill-examples\". The exact error is:\n // request.signal = init.signal;\n // ^\n // TypeError: Cannot set property signal of # which has only a getter\n\n if (Request && !Request.prototype.hasOwnProperty('signal') || __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n Request = function Request(input, init) {\n var signal;\n\n if (init && init.signal) {\n signal = init.signal; // Never pass init.signal to the native Request implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.\n\n delete init.signal;\n }\n\n var request = new NativeRequest(input, init);\n\n if (signal) {\n Object.defineProperty(request, 'signal', {\n writable: false,\n enumerable: false,\n configurable: true,\n value: signal\n });\n }\n\n return request;\n };\n\n Request.prototype = NativeRequest.prototype;\n }\n\n var realFetch = fetch;\n\n var abortableFetch = function abortableFetch(input, init) {\n var signal = Request && Request.prototype.isPrototypeOf(input) ? input.signal : init ? init.signal : undefined;\n\n if (signal) {\n var abortError;\n\n try {\n abortError = new DOMException('Aborted', 'AbortError');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n abortError = new Error('Aborted');\n abortError.name = 'AbortError';\n } // Return early if already aborted, thus avoiding making an HTTP request\n\n\n if (signal.aborted) {\n return Promise.reject(abortError);\n } // Turn an event into a promise, reject it once `abort` is dispatched\n\n\n var cancellation = new Promise(function (_, reject) {\n signal.addEventListener('abort', function () {\n return reject(abortError);\n }, {\n once: true\n });\n });\n\n if (init && init.signal) {\n // Never pass .signal to the native implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to execute 'fetch' on 'Window': member signal is not of type AbortSignal.\n delete init.signal;\n } // Return the fastest promise (don't need to wait for request to finish)\n\n\n return Promise.race([cancellation, realFetch(input, init)]);\n }\n\n return realFetch(input, init);\n };\n\n return {\n fetch: abortableFetch,\n Request: Request\n };\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n if (!self.fetch) {\n console.warn('fetch() is not available, cannot install abortcontroller-polyfill');\n return;\n }\n\n var _abortableFetch = abortableFetchDecorator(self),\n fetch = _abortableFetch.fetch,\n Request = _abortableFetch.Request;\n\n self.fetch = fetch;\n self.Request = Request;\n Object.defineProperty(self, 'AbortController', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: AbortController\n });\n Object.defineProperty(self, 'AbortSignal', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: AbortSignal\n });\n })(typeof self !== 'undefined' ? self : global);\n\n})));\n","/** @license React v16.12.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var h=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113;n&&Symbol.for(\"react.suspense_list\");\nvar z=n?Symbol.for(\"react.memo\"):60115,aa=n?Symbol.for(\"react.lazy\"):60116;n&&Symbol.for(\"react.fundamental\");n&&Symbol.for(\"react.responder\");n&&Symbol.for(\"react.scope\");var A=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction B(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cP.length&&P.push(a)}\nfunction S(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var l=0;lb}return!1}function B(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1)});var sb=/[\\-:]([a-z])/g;function tb(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(sb,\ntb);D[b]=new B(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(sb,tb);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(sb,tb);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0)});function ub(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}\nfunction vb(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2=b.length))throw Error(u(93));b=b[0]}c=b}null==c&&(c=\"\")}a._wrapperState={initialValue:ub(c)}}\nfunction Mb(a,b){var c=ub(b.value),d=ub(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Nb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Ob={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Pb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Qb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Pb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Rb,Sb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Ob.svg||\"innerHTML\"in a)a.innerHTML=b;else{Rb=Rb||document.createElement(\"div\");Rb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Rb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Tb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Ub(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Vb={animationend:Ub(\"Animation\",\"AnimationEnd\"),animationiteration:Ub(\"Animation\",\"AnimationIteration\"),animationstart:Ub(\"Animation\",\"AnimationStart\"),transitionend:Ub(\"Transition\",\"TransitionEnd\")},Wb={},Xb={};\nYa&&(Xb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Vb.animationend.animation,delete Vb.animationiteration.animation,delete Vb.animationstart.animation),\"TransitionEvent\"in window||delete Vb.transitionend.transition);function Yb(a){if(Wb[a])return Wb[a];if(!Vb[a])return a;var b=Vb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Xb)return Wb[a]=b[c];return a}var Zb=Yb(\"animationend\"),$b=Yb(\"animationiteration\"),ac=Yb(\"animationstart\"),bc=Yb(\"transitionend\"),cc=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \");\nfunction ec(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function fc(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function gc(a){if(ec(a)!==a)throw Error(u(188));}\nfunction hc(a){var b=a.alternate;if(!b){b=ec(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return gc(e),a;if(f===d)return gc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function ic(a){a=hc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nvar jc,kc,lc,mc=!1,nc=[],oc=null,pc=null,qc=null,rc=new Map,sc=new Map,tc=[],uc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),vc=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction wc(a){var b=xc(a);uc.forEach(function(c){yc(c,a,b)});vc.forEach(function(c){yc(c,a,b)})}function zc(a,b,c,d){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:d}}function Ac(a,b){switch(a){case \"focus\":case \"blur\":oc=null;break;case \"dragenter\":case \"dragleave\":pc=null;break;case \"mouseover\":case \"mouseout\":qc=null;break;case \"pointerover\":case \"pointerout\":rc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":sc.delete(b.pointerId)}}\nfunction Bc(a,b,c,d,e){if(null===a||a.nativeEvent!==e)return a=zc(b,c,d,e),null!==b&&(b=Cc(b),null!==b&&kc(b)),a;a.eventSystemFlags|=d;return a}function Dc(a,b,c,d){switch(b){case \"focus\":return oc=Bc(oc,a,b,c,d),!0;case \"dragenter\":return pc=Bc(pc,a,b,c,d),!0;case \"mouseover\":return qc=Bc(qc,a,b,c,d),!0;case \"pointerover\":var e=d.pointerId;rc.set(e,Bc(rc.get(e)||null,a,b,c,d));return!0;case \"gotpointercapture\":return e=d.pointerId,sc.set(e,Bc(sc.get(e)||null,a,b,c,d)),!0}return!1}\nfunction Ec(a){var b=Fc(a.target);if(null!==b){var c=ec(b);if(null!==c)if(b=c.tag,13===b){if(b=fc(c),null!==b){a.blockedOn=b;q.unstable_runWithPriority(a.priority,function(){lc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Gc(a){if(null!==a.blockedOn)return!1;var b=Hc(a.topLevelType,a.eventSystemFlags,a.nativeEvent);if(null!==b){var c=Cc(b);null!==c&&kc(c);a.blockedOn=b;return!1}return!0}\nfunction Ic(a,b,c){Gc(a)&&c.delete(b)}function Jc(){for(mc=!1;0this.eventPool.length&&this.eventPool.push(a)}function Vc(a){a.eventPool=[];a.getPooled=Wc;a.release=Xc}var Yc=E.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Zc=E.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),$c=E.extend({view:null,detail:null}),ad=$c.extend({relatedTarget:null});\nfunction bd(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar cd={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},dd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},ed={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function gd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=ed[a])?!!b[a]:!1}function hd(){return gd}\nvar id=$c.extend({key:function(a){if(a.key){var b=cd[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=bd(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?dd[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:hd,charCode:function(a){return\"keypress\"===a.type?bd(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?bd(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),jd=0,kd=0,ld=!1,md=!1,nd=$c.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:hd,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=jd;jd=a.screenX;return ld?\"mousemove\"===a.type?a.screenX-\nb:0:(ld=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;var b=kd;kd=a.screenY;return md?\"mousemove\"===a.type?a.screenY-b:0:(md=!0,0)}}),od=nd.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),pd=nd.extend({dataTransfer:null}),qd=$c.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:hd}),rd=E.extend({propertyName:null,\nelapsedTime:null,pseudoElement:null}),sd=nd.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),td=[[\"blur\",\"blur\",0],[\"cancel\",\"cancel\",0],[\"click\",\"click\",0],[\"close\",\"close\",0],[\"contextmenu\",\"contextMenu\",0],[\"copy\",\"copy\",0],[\"cut\",\"cut\",0],[\"auxclick\",\"auxClick\",0],[\"dblclick\",\"doubleClick\",0],[\"dragend\",\"dragEnd\",\n0],[\"dragstart\",\"dragStart\",0],[\"drop\",\"drop\",0],[\"focus\",\"focus\",0],[\"input\",\"input\",0],[\"invalid\",\"invalid\",0],[\"keydown\",\"keyDown\",0],[\"keypress\",\"keyPress\",0],[\"keyup\",\"keyUp\",0],[\"mousedown\",\"mouseDown\",0],[\"mouseup\",\"mouseUp\",0],[\"paste\",\"paste\",0],[\"pause\",\"pause\",0],[\"play\",\"play\",0],[\"pointercancel\",\"pointerCancel\",0],[\"pointerdown\",\"pointerDown\",0],[\"pointerup\",\"pointerUp\",0],[\"ratechange\",\"rateChange\",0],[\"reset\",\"reset\",0],[\"seeked\",\"seeked\",0],[\"submit\",\"submit\",0],[\"touchcancel\",\"touchCancel\",\n0],[\"touchend\",\"touchEnd\",0],[\"touchstart\",\"touchStart\",0],[\"volumechange\",\"volumeChange\",0],[\"drag\",\"drag\",1],[\"dragenter\",\"dragEnter\",1],[\"dragexit\",\"dragExit\",1],[\"dragleave\",\"dragLeave\",1],[\"dragover\",\"dragOver\",1],[\"mousemove\",\"mouseMove\",1],[\"mouseout\",\"mouseOut\",1],[\"mouseover\",\"mouseOver\",1],[\"pointermove\",\"pointerMove\",1],[\"pointerout\",\"pointerOut\",1],[\"pointerover\",\"pointerOver\",1],[\"scroll\",\"scroll\",1],[\"toggle\",\"toggle\",1],[\"touchmove\",\"touchMove\",1],[\"wheel\",\"wheel\",1],[\"abort\",\"abort\",\n2],[Zb,\"animationEnd\",2],[$b,\"animationIteration\",2],[ac,\"animationStart\",2],[\"canplay\",\"canPlay\",2],[\"canplaythrough\",\"canPlayThrough\",2],[\"durationchange\",\"durationChange\",2],[\"emptied\",\"emptied\",2],[\"encrypted\",\"encrypted\",2],[\"ended\",\"ended\",2],[\"error\",\"error\",2],[\"gotpointercapture\",\"gotPointerCapture\",2],[\"load\",\"load\",2],[\"loadeddata\",\"loadedData\",2],[\"loadedmetadata\",\"loadedMetadata\",2],[\"loadstart\",\"loadStart\",2],[\"lostpointercapture\",\"lostPointerCapture\",2],[\"playing\",\"playing\",2],[\"progress\",\n\"progress\",2],[\"seeking\",\"seeking\",2],[\"stalled\",\"stalled\",2],[\"suspend\",\"suspend\",2],[\"timeupdate\",\"timeUpdate\",2],[bc,\"transitionEnd\",2],[\"waiting\",\"waiting\",2]],ud={},vd={},wd=0;for(;wd=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ce(c)}}\nfunction ee(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?ee(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function fe(){for(var a=window,b=be();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=be(a.document)}return b}\nfunction ge(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var he=\"$\",ie=\"/$\",je=\"$?\",ke=\"$!\",le=null,me=null;function ne(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction oe(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var pe=\"function\"===typeof setTimeout?setTimeout:void 0,qe=\"function\"===typeof clearTimeout?clearTimeout:void 0;function re(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction se(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===he||c===ke||c===je){if(0===b)return a;b--}else c===ie&&b++}a=a.previousSibling}return null}var te=Math.random().toString(36).slice(2),ue=\"__reactInternalInstance$\"+te,ve=\"__reactEventHandlers$\"+te,we=\"__reactContainere$\"+te;\nfunction Fc(a){var b=a[ue];if(b)return b;for(var c=a.parentNode;c;){if(b=c[we]||c[ue]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=se(a);null!==a;){if(c=a[ue])return c;a=se(a)}return b}a=c;c=a.parentNode}return null}function Cc(a){a=a[ue]||a[we];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function xe(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function ye(a){return a[ve]||null}var ze=null,Ae=null,Be=null;\nfunction Ce(){if(Be)return Be;var a,b=Ae,c=b.length,d,e=\"value\"in ze?ze.value:ze.textContent,f=e.length;for(a=0;a=He),Ke=String.fromCharCode(32),Le={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},Me=!1;\nfunction Ne(a,b){switch(a){case \"keyup\":return-1!==Fe.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function Oe(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var Pe=!1;function Qe(a,b){switch(a){case \"compositionend\":return Oe(b);case \"keypress\":if(32!==b.which)return null;Me=!0;return Ke;case \"textInput\":return a=b.data,a===Ke&&Me?null:a;default:return null}}\nfunction Re(a,b){if(Pe)return\"compositionend\"===a||!Ge&&Ne(a,b)?(a=Ce(),Be=Ae=ze=null,Pe=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,sf={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},tf=null,uf=null,vf=null,wf=!1;\nfunction xf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(wf||null==tf||tf!==be(c))return null;c=tf;\"selectionStart\"in c&&ge(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return vf&&qf(vf,c)?null:(vf=c,a=E.getPooled(sf.select,uf,a,b),a.type=\"select\",a.target=tf,Sc(a),a)}\nvar yf={eventTypes:sf,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=xc(e);f=ja.onSelect;for(var g=0;gBf||(a.current=Af[Bf],Af[Bf]=null,Bf--)}\nfunction I(a,b){Bf++;Af[Bf]=a.current;a.current=b}var Cf={},J={current:Cf},K={current:!1},Df=Cf;function Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Ff(a){G(K,a);G(J,a)}function Gf(a){G(K,a);G(J,a)}function Hf(a,b,c){if(J.current!==Cf)throw Error(u(168));I(J,b,a);I(K,c,a)}function If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,Wa(b)||\"Unknown\",e));return n({},c,{},d)}function Jf(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||Cf;Df=J.current;I(J,b,a);I(K,K.current,a);return!0}\nfunction Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(b=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=b,G(K,a),G(J,a),I(J,b,a)):G(K,a);I(K,c,a)}\nvar Lf=q.unstable_runWithPriority,Mf=q.unstable_scheduleCallback,Nf=q.unstable_cancelCallback,Of=q.unstable_shouldYield,Pf=q.unstable_requestPaint,Qf=q.unstable_now,Rf=q.unstable_getCurrentPriorityLevel,Sf=q.unstable_ImmediatePriority,Tf=q.unstable_UserBlockingPriority,Uf=q.unstable_NormalPriority,Vf=q.unstable_LowPriority,Wf=q.unstable_IdlePriority,Xf={},Yf=void 0!==Pf?Pf:function(){},Zf=null,$f=null,ag=!1,bg=Qf(),cg=1E4>bg?Qf:function(){return Qf()-bg};\nfunction dg(){switch(Rf()){case Sf:return 99;case Tf:return 98;case Uf:return 97;case Vf:return 96;case Wf:return 95;default:throw Error(u(332));}}function eg(a){switch(a){case 99:return Sf;case 98:return Tf;case 97:return Uf;case 96:return Vf;case 95:return Wf;default:throw Error(u(332));}}function fg(a,b){a=eg(a);return Lf(a,b)}function gg(a,b,c){a=eg(a);return Mf(a,b,c)}function hg(a){null===Zf?(Zf=[a],$f=Mf(Sf,ig)):Zf.push(a);return Xf}function jg(){if(null!==$f){var a=$f;$f=null;Nf(a)}ig()}\nfunction ig(){if(!ag&&null!==Zf){ag=!0;var a=0;try{var b=Zf;fg(99,function(){for(;a=b&&(wg=!0),a.firstContext=null)}function xg(a,b){if(qg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)qg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===pg){if(null===og)throw Error(u(308));pg=b;og.dependencies={expirationTime:0,firstContext:b,responders:null}}else pg=pg.next=b}return a._currentValue}var yg=!1;\nfunction zg(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Ag(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction Bg(a,b){return{expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Cg(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction Dg(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=zg(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=zg(a.memoizedState),e=c.updateQueue=zg(c.memoizedState)):d=a.updateQueue=Ag(e):null===e&&(e=c.updateQueue=Ag(d));null===e||d===e?Cg(d,b):null===d.lastUpdate||null===e.lastUpdate?(Cg(d,b),Cg(e,b)):(Cg(d,b),e.lastUpdate=b)}\nfunction Eg(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=zg(a.memoizedState):Fg(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function Fg(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=Ag(b));return b}\nfunction Gg(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-4097|64;case 0:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case 2:yg=!0}return d}\nfunction Hg(a,b,c,d,e){yg=!1;b=Fg(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,l=f;null!==k;){var m=k.expirationTime;mx?(A=r,r=null):A=r.sibling;var p=y(e,r,h[x],k);if(null===p){null===r&&(r=A);break}a&&\nr&&null===p.alternate&&b(e,r);g=f(p,g,x);null===m?l=p:m.sibling=p;m=p;r=A}if(x===h.length)return c(e,r),l;if(null===r){for(;xx?(A=r,r=null):A=r.sibling;var z=y(e,r,p.value,k);if(null===z){null===r&&(r=A);break}a&&r&&null===z.alternate&&b(e,r);g=f(z,g,x);null===m?l=z:m.sibling=z;m=z;r=A}if(p.done)return c(e,r),l;if(null===r){for(;!p.done;x++,p=h.next())p=C(e,p.value,k),null!==p&&(g=f(p,g,x),null===m?l=p:m.sibling=p,m=p);return l}for(r=d(e,r);!p.done;x++,p=h.next())p=H(r,e,x,p.value,k),null!==p&&(a&&null!==\np.alternate&&r.delete(null===p.key?x:p.key),g=f(p,g,x),null===m?l=p:m.sibling=p,m=p);a&&r.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Ia&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Ga:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Ia:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Ia?f.props.children:f.props,h);d.ref=Yg(a,k,f);d.return=a;a=d;break a}else{c(a,\nk);break}else b(a,k);k=k.sibling}f.type===Ia?(d=eh(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=ch(f.type,f.key,f.props,null,a.mode,h),h.ref=Yg(a,d,f),h.return=a,a=h)}return g(a);case Ha:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=dh(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===\ntypeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=bh(f,a.mode,h),d.return=a,a=d),g(a);if(Xg(f))return z(a,d,f,h);if(Ua(f))return ta(a,d,f,h);l&&Zg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var fh=$g(!0),gh=$g(!1),hh={},ih={current:hh},jh={current:hh},kh={current:hh};function lh(a){if(a===hh)throw Error(u(174));return a}\nfunction mh(a,b){I(kh,b,a);I(jh,a,a);I(ih,hh,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Qb(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=Qb(b,c)}G(ih,a);I(ih,b,a)}function nh(a){G(ih,a);G(jh,a);G(kh,a)}function oh(a){lh(kh.current);var b=lh(ih.current);var c=Qb(b,a.type);b!==c&&(I(jh,a,a),I(ih,c,a))}function ph(a){jh.current===a&&(G(ih,a),G(jh,a))}var M={current:0};\nfunction qh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===je||c.data===ke))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function rh(a,b){return{responder:a,props:b}}\nvar sh=Ea.ReactCurrentDispatcher,N=Ea.ReactCurrentBatchConfig,th=0,uh=null,O=null,vh=null,wh=null,P=null,xh=null,yh=0,zh=null,Ah=0,Bh=!1,Ch=null,Gh=0;function Q(){throw Error(u(321));}function Hh(a,b){if(null===b)return!1;for(var c=0;cyh&&(yh=m,Jg(yh))):(Ig(m,k.suspenseConfig),f=k.eagerReducer===a?k.eagerState:a(f,k.action));g=k;k=k.next}while(null!==k&&k!==d);l||(h=g,e=f);of(f,b.memoizedState)||(wg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]}\nfunction Rh(a){var b=Nh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,lastRenderedReducer:Ph,lastRenderedState:a};a=a.dispatch=Sh.bind(null,uh,a);return[b.memoizedState,a]}function Th(a){return Qh(Ph,a)}function Uh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===zh?(zh={lastEffect:null},zh.lastEffect=a.next=a):(b=zh.lastEffect,null===b?zh.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,zh.lastEffect=a));return a}\nfunction Vh(a,b,c,d){var e=Nh();Ah|=a;e.memoizedState=Uh(b,c,void 0,void 0===d?null:d)}function Wh(a,b,c,d){var e=Oh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Hh(d,g.deps)){Uh(0,c,f,d);return}}Ah|=a;e.memoizedState=Uh(b,c,f,d)}function Xh(a,b){return Vh(516,192,a,b)}function Yh(a,b){return Wh(516,192,a,b)}\nfunction Zh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function $h(){}function ai(a,b){Nh().memoizedState=[a,void 0===b?null:b];return a}function bi(a,b){var c=Oh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Hh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Sh(a,b,c){if(!(25>Gh))throw Error(u(301));var d=a.alternate;if(a===uh||null!==d&&d===uh)if(Bh=!0,a={expirationTime:th,suspenseConfig:null,action:c,eagerReducer:null,eagerState:null,next:null},null===Ch&&(Ch=new Map),c=Ch.get(b),void 0===c)Ch.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{var e=Pg(),f=Mg.suspense;e=Qg(e,a,f);f={expirationTime:e,suspenseConfig:f,action:c,eagerReducer:null,eagerState:null,next:null};var g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&\n(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===d||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var k=b.lastRenderedState,l=d(k,c);f.eagerReducer=d;f.eagerState=l;if(of(l,k))return}catch(m){}finally{}Rg(a,e)}}\nvar Lh={readContext:xg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},Jh={readContext:xg,useCallback:ai,useContext:xg,useEffect:Xh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,36,Zh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Vh(4,36,a,b)},useMemo:function(a,b){var c=Nh();b=void 0===b?null:b;a=a();c.memoizedState=\n[a,b];return a},useReducer:function(a,b,c){var d=Nh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Sh.bind(null,uh,a);return[d.memoizedState,a]},useRef:function(a){var b=Nh();a={current:a};return b.memoizedState=a},useState:Rh,useDebugValue:$h,useResponder:rh,useDeferredValue:function(a,b){var c=Rh(a),d=c[0],e=c[1];Xh(function(){q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===b?null:b;try{e(a)}finally{N.suspense=\nc}})},[a,b]);return d},useTransition:function(a){var b=Rh(!1),c=b[0],d=b[1];return[ai(function(b){d(!0);q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===a?null:a;try{d(!1),b()}finally{N.suspense=c}})},[a,c]),c]}},Kh={readContext:xg,useCallback:bi,useContext:xg,useEffect:Yh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Wh(4,36,Zh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Wh(4,36,a,b)},useMemo:function(a,b){var c=Oh();b=void 0===b?\nnull:b;var d=c.memoizedState;if(null!==d&&null!==b&&Hh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:Qh,useRef:function(){return Oh().memoizedState},useState:Th,useDebugValue:$h,useResponder:rh,useDeferredValue:function(a,b){var c=Th(a),d=c[0],e=c[1];Yh(function(){q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===b?null:b;try{e(a)}finally{N.suspense=c}})},[a,b]);return d},useTransition:function(a){var b=Th(!1),c=b[0],d=b[1];return[bi(function(b){d(!0);q.unstable_next(function(){var c=\nN.suspense;N.suspense=void 0===a?null:a;try{d(!1),b()}finally{N.suspense=c}})},[a,c]),c]}},ci=null,di=null,ei=!1;function fi(a,b){var c=gi(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction hi(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ii(a){if(ei){var b=di;if(b){var c=b;if(!hi(a,b)){b=re(c.nextSibling);if(!b||!hi(a,b)){a.effectTag=a.effectTag&-1025|2;ei=!1;ci=a;return}fi(ci,c)}ci=a;di=re(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,ei=!1,ci=a}}function ji(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;ci=a}\nfunction ki(a){if(a!==ci)return!1;if(!ei)return ji(a),ei=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!oe(b,a.memoizedProps))for(b=di;b;)fi(a,b),b=re(b.nextSibling);ji(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===ie){if(0===b){di=re(a.nextSibling);break a}b--}else c!==he&&c!==ke&&c!==je||b++}a=a.nextSibling}di=null}}else di=ci?re(a.stateNode.nextSibling):null;return!0}\nfunction li(){di=ci=null;ei=!1}var mi=Ea.ReactCurrentOwner,wg=!1;function R(a,b,c,d){b.child=null===a?gh(b,null,c,d):fh(b,a.child,c,d)}function ni(a,b,c,d,e){c=c.render;var f=b.ref;vg(b,e);d=Ih(a,b,c,d,f,e);if(null!==a&&!wg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),oi(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction pi(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!qi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ri(a,b,g,d,e,f);a=ch(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(eb)&&Gj.set(a,b)))}}\nfunction Kj(a,b){a.expirationTimea?b:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=hg(Lj.bind(null,a));else{var b=Oj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Pg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Xf&&Nf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?hg(Lj.bind(null,a)):gg(d,Qj.bind(null,a),{timeout:10*(1073741821-b)-cg()});a.callbackNode=b}}}\nfunction Qj(a,b){Jj=0;if(b)return b=Pg(),Rj(a,b),Z(a),null;var c=Oj(a);if(0!==c){b=a.callbackNode;if((T&(oj|pj))!==S)throw Error(u(327));Sj();a===U&&c===W||Tj(a,c);if(null!==V){var d=T;T|=oj;var e=Uj(a);do try{Vj();break}catch(h){Wj(a,h)}while(1);rg();T=d;lj.current=e;if(X===rj)throw b=wj,Tj(a,c),Mj(a,c),Z(a),b;if(null===V)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=X,U=null,d){case qj:case rj:throw Error(u(345));case sj:Rj(a,2=c){a.lastPingedTime=c;Tj(a,c);break}}f=Oj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=pe(Yj.bind(null,a),e);break}Yj(a);break;case uj:Mj(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Xj(e));if(Bj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Tj(a,c);break}e=Oj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==yj?d=10*(1073741821-yj)-cg():1073741823===xj?d=0:(d=10*(1073741821-xj)-5E3,e=cg(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*kj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=cg()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+Xa(e))}X!==vj&&(X=sj);f=Ni(f,e);k=d;do{switch(k.tag){case 3:g=f;k.effectTag|=4096;k.expirationTime=b;var x=fj(k,g,b);Eg(k,x);break a;case 1:g=f;var A=k.type,p=k.stateNode;if(0===(k.effectTag&64)&&(\"function\"===typeof A.getDerivedStateFromError||null!==p&&\"function\"===typeof p.componentDidCatch&&\n(null===jj||!jj.has(p)))){k.effectTag|=4096;k.expirationTime=b;var t=ij(k,g,b);Eg(k,t);break a}}k=k.return}while(null!==k)}V=ek(V)}catch(v){b=v;continue}break}while(1)}function Uj(){var a=lj.current;lj.current=Lh;return null===a?Lh:a}function Ig(a,b){aAj&&(Aj=a)}function Zj(){for(;null!==V;)V=fk(V)}function Vj(){for(;null!==V&&!Of();)V=fk(V)}\nfunction fk(a){var b=gk(a.alternate,a,W);a.memoizedProps=a.pendingProps;null===b&&(b=ek(a));mj.current=null;return b}\nfunction ek(a){V=a;do{var b=V.alternate;a=V.return;if(0===(V.effectTag&2048)){a:{var c=b;b=V;var d=W;var e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:L(b.type)&&Ff(b);break;case 3:nh(b);Gf(b);e=b.stateNode;e.pendingContext&&(e.context=e.pendingContext,e.pendingContext=null);(null===c||null===c.child)&&ki(b)&&Ci(b);Ii(b);break;case 5:ph(b);d=lh(kh.current);var f=b.type;if(null!==c&&null!=b.stateNode)Ji(c,b,f,e,d),c.ref!==b.ref&&(b.effectTag|=128);else if(e){var g=\nlh(ih.current);if(ki(b)){e=b;var h=e.stateNode;c=e.type;var k=e.memoizedProps,l=d;h[ue]=e;h[ve]=k;f=void 0;d=h;switch(c){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(h=0;h\\x3c/script>\",h=k.removeChild(k.firstChild)):\"string\"===typeof k.is?h=h.createElement(l,{is:k.is}):(h=h.createElement(l),\"select\"===l&&(l=h,k.multiple?l.multiple=!0:k.size&&(l.size=k.size))):h=h.createElementNS(g,l);k=h;k[ue]=c;k[ve]=e;Hi(k,b,!1,!1);b.stateNode=k;l=f;c=e;var m=d,C=Zd(l,c);switch(l){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\nk);d=c;break;case \"video\":case \"audio\":for(d=0;de.tailExpiration&&1f&&(f=c),k>f&&(f=k),d=d.sibling;e.childExpirationTime=f}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=\nV.firstEffect),a.lastEffect=V.lastEffect),1a?b:a}function Yj(a){var b=dg();fg(99,ik.bind(null,a,b));return null}\nfunction ik(a,b){do Sj();while(null!==Ej);if((T&(oj|pj))!==S)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Xj(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1h&&(l=h,h=g,g=l),l=de(p,g),m=de(p,h),l&&m&&(1!==v.rangeCount||v.anchorNode!==l.node||v.anchorOffset!==l.offset||v.focusNode!==m.node||v.focusOffset!==m.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),v.removeAllRanges(),g>h?(v.addRange(t),v.extend(m.node,m.offset)):(t.setEnd(m.node,m.offset),v.addRange(t))))));t=[];for(v=p;v=v.parentNode;)1===v.nodeType&&t.push({element:v,left:v.scrollLeft,top:v.scrollTop});\n\"function\"===typeof p.focus&&p.focus();for(p=0;p=c)return yi(a,b,c);I(M,M.current&\n1,b);b=oi(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1,b);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return Bi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current,b);if(!d)return null}return oi(a,b,c)}wg=!1}}else wg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Ef(b,J.current);vg(b,c);e=Ih(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;Mh();if(L(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Og(b,d,g,a);e.updater=Sg;b.stateNode=e;e._reactInternalFiber=b;Wg(b,d,a,c);b=vi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;Va(e);if(1!==e._status)throw e._result;\ne=e._result;b.type=e;f=b.tag=nk(e);a=mg(e,a);switch(f){case 0:b=si(null,b,e,a,c);break;case 1:b=ui(null,b,e,a,c);break;case 11:b=ni(null,b,e,a,c);break;case 14:b=pi(null,b,e,mg(e.type,a),d,c);break;default:throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),si(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),ui(a,b,d,e,c);case 3:wi(b);d=b.updateQueue;if(null===d)throw Error(u(282));e=b.memoizedState;e=null!==e?e.element:\nnull;Hg(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)li(),b=oi(a,b,c);else{if(e=b.stateNode.hydrate)di=re(b.stateNode.containerInfo.firstChild),ci=b,e=ei=!0;if(e)for(c=gh(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),li();b=b.child}return b;case 5:return oh(b),null===a&&ii(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,oe(d,e)?g=null:null!==f&&oe(d,f)&&(b.effectTag|=16),ti(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=\nb.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&ii(b),null;case 13:return yi(a,b,c);case 4:return mh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=fh(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),ni(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,b,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;\ne=b.pendingProps;g=b.memoizedProps;f=e.value;sg(b,f);if(null!==g){var h=g.value;f=of(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!K.current){b=oi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=Bg(c,null),l.tag=2,Dg(h,l));h.expirationTime=b&&a<=b}function Mj(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction Nj(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Rj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction rk(a,b,c,d){var e=b.current,f=Pg(),g=Mg.suspense;f=Qg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(ec(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=Bg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);Dg(e,b);Rg(e,f);return f}function sk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function tk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};exports.unstable_cancelCallback=function(a){a.callback=null};\nexports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};exports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus();\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus();\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n return this.shouldBeClosed() ? null : _react2.default.createElement(\n \"div\",\n {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n },\n _react2.default.createElement(\n \"div\",\n _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", this.props.aria || {}), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n }),\n this.props.children\n )\n );\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus();\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n var target;\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof tabbable[x] === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n tabbable[x].focus();\n}\nmodule.exports = exports[\"default\"];","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dumpClassLists = dumpClassLists;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\nfunction dumpClassLists() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \" (\" + classes + \"):\\n\";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n\";\n }\n\n classes = document.body.className;\n\n // eslint-disable-next-line max-len\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n\";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n\";\n }\n\n buffer += \"\\n\";\n\n // eslint-disable-next-line no-console\n console.log(buffer);\n }\n}\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./proptypes\"));\n__export(require(\"./colors\"));\n","\"use strict\";\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/*\n * List of string constants to represent different props\n */\nvar LOADING = \"loading\";\nvar COLOR = \"color\";\nvar CSS = \"css\";\nvar SIZE = \"size\";\nvar SIZE_UNIT = \"sizeUnit\";\nvar WIDTH = \"width\";\nvar WIDTH_UNIT = \"widthUnit\";\nvar HEIGHT = \"height\";\nvar HEIGHT_UNIT = \"heightUnit\";\nvar RADIUS = \"radius\";\nvar RADIUS_UNIT = \"radiusUnit\";\nvar MARGIN = \"margin\";\nvar commonValues = (_a = {},\n _a[LOADING] = true,\n _a[COLOR] = \"#000000\",\n _a[CSS] = {},\n _a);\nvar heightWidthValues = function (height, width) {\n var _a;\n return (_a = {},\n _a[HEIGHT] = height,\n _a[HEIGHT_UNIT] = \"px\",\n _a[WIDTH] = width,\n _a[WIDTH_UNIT] = \"px\",\n _a);\n};\nvar sizeValues = function (sizeValue) {\n var _a;\n return (_a = {},\n _a[SIZE] = sizeValue,\n _a[SIZE_UNIT] = \"px\",\n _a);\n};\nexports.sizeDefaults = function (sizeValue) {\n return Object.assign({}, commonValues, sizeValues(sizeValue));\n};\nexports.sizeMarginDefaults = function (sizeValue) {\n var _a;\n return Object.assign({}, exports.sizeDefaults(sizeValue), (_a = {},\n _a[MARGIN] = \"2px\",\n _a));\n};\nexports.heightWidthDefaults = function (height, width) {\n return Object.assign({}, commonValues, heightWidthValues(height, width));\n};\nexports.heightWidthRadiusDefaults = function (height, width, radius) {\n var _a;\n if (radius === void 0) { radius = 2; }\n return Object.assign({}, exports.heightWidthDefaults(height, width), (_a = {},\n _a[RADIUS] = radius,\n _a[RADIUS_UNIT] = \"px\",\n _a[MARGIN] = \"2px\",\n _a));\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BasicColors;\n(function (BasicColors) {\n BasicColors[\"maroon\"] = \"#800000\";\n BasicColors[\"red\"] = \"#FF0000\";\n BasicColors[\"orange\"] = \"#FFA500\";\n BasicColors[\"yellow\"] = \"#FFFF00\";\n BasicColors[\"olive\"] = \"#808000\";\n BasicColors[\"green\"] = \"#008000\";\n BasicColors[\"purple\"] = \"#800080\";\n BasicColors[\"fuchsia\"] = \"#FF00FF\";\n BasicColors[\"lime\"] = \"#00FF00\";\n BasicColors[\"teal\"] = \"#008080\";\n BasicColors[\"aqua\"] = \"#00FFFF\";\n BasicColors[\"blue\"] = \"#0000FF\";\n BasicColors[\"navy\"] = \"#000080\";\n BasicColors[\"black\"] = \"#000000\";\n BasicColors[\"gray\"] = \"#808080\";\n BasicColors[\"silver\"] = \"#C0C0C0\";\n BasicColors[\"white\"] = \"#FFFFFF\";\n})(BasicColors || (BasicColors = {}));\nexports.calculateRgba = function (color, opacity) {\n if (Object.keys(BasicColors).includes(color)) {\n color = BasicColors[color];\n }\n if (color[0] === \"#\") {\n color = color.slice(1);\n }\n if (color.length === 3) {\n var res_1 = \"\";\n color.split(\"\").forEach(function (c) {\n res_1 += c;\n res_1 += c;\n });\n color = res_1;\n }\n var rgbValues = color\n .match(/.{2}/g)\n .map(function (hex) { return parseInt(hex, 16); })\n .join(\", \");\n return \"rgba(\" + rgbValues + \", \" + opacity + \")\";\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = immutableStateInvariantMiddleware;\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _jsonStringifySafe = require('json-stringify-safe');\n\nvar _jsonStringifySafe2 = _interopRequireDefault(_jsonStringifySafe);\n\nvar _isImmutable = require('./isImmutable');\n\nvar _isImmutable2 = _interopRequireDefault(_isImmutable);\n\nvar _trackForMutations = require('./trackForMutations');\n\nvar _trackForMutations2 = _interopRequireDefault(_trackForMutations);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BETWEEN_DISPATCHES_MESSAGE = ['A state mutation was detected between dispatches, in the path `%s`.', 'This may cause incorrect behavior.', '(http://redux.js.org/docs/Troubleshooting.html#never-mutate-reducer-arguments)'].join(' ');\n\nvar INSIDE_DISPATCH_MESSAGE = ['A state mutation was detected inside a dispatch, in the path: `%s`.', 'Take a look at the reducer(s) handling the action %s.', '(http://redux.js.org/docs/Troubleshooting.html#never-mutate-reducer-arguments)'].join(' ');\n\nfunction immutableStateInvariantMiddleware() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _options$isImmutable = options.isImmutable,\n isImmutable = _options$isImmutable === undefined ? _isImmutable2.default : _options$isImmutable,\n ignore = options.ignore;\n\n var track = _trackForMutations2.default.bind(null, isImmutable, ignore);\n\n return function (_ref) {\n var getState = _ref.getState;\n\n var state = getState();\n var tracker = track(state);\n\n var result = void 0;\n return function (next) {\n return function (action) {\n state = getState();\n\n result = tracker.detectMutations();\n // Track before potentially not meeting the invariant\n tracker = track(state);\n\n (0, _invariant2.default)(!result.wasMutated, BETWEEN_DISPATCHES_MESSAGE, (result.path || []).join('.'));\n\n var dispatchedAction = next(action);\n state = getState();\n\n result = tracker.detectMutations();\n // Track before potentially not meeting the invariant\n tracker = track(state);\n\n result.wasMutated && (0, _invariant2.default)(!result.wasMutated, INSIDE_DISPATCH_MESSAGE, (result.path || []).join('.'), (0, _jsonStringifySafe2.default)(action));\n\n return dispatchedAction;\n };\n };\n };\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","exports = module.exports = stringify\nexports.getSerialize = serializer\n\nfunction stringify(obj, replacer, spaces, cycleReplacer) {\n return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces)\n}\n\nfunction serializer(replacer, cycleReplacer) {\n var stack = [], keys = []\n\n if (cycleReplacer == null) cycleReplacer = function(key, value) {\n if (stack[0] === value) return \"[Circular ~]\"\n return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\"\n }\n\n return function(key, value) {\n if (stack.length > 0) {\n var thisPos = stack.indexOf(this)\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)\n ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key)\n if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value)\n }\n else stack.push(value)\n\n return replacer == null ? value : replacer.call(this, key, value)\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = isImmutableDefault;\nfunction isImmutableDefault(value) {\n return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null || typeof value === 'undefined';\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = trackForMutations;\nfunction trackForMutations(isImmutable, ignore, obj) {\n var trackedProperties = trackProperties(isImmutable, ignore, obj);\n return {\n detectMutations: function detectMutations() {\n return _detectMutations(isImmutable, ignore, trackedProperties, obj);\n }\n };\n}\n\nfunction trackProperties(isImmutable) {\n var ignore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var obj = arguments[2];\n var path = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n\n var tracked = { value: obj };\n\n if (!isImmutable(obj)) {\n tracked.children = {};\n\n for (var key in obj) {\n var childPath = path.concat(key);\n if (ignore.length && ignore.indexOf(childPath.join('.')) !== -1) {\n continue;\n }\n\n tracked.children[key] = trackProperties(isImmutable, ignore, obj[key], childPath);\n }\n }\n return tracked;\n}\n\nfunction _detectMutations(isImmutable) {\n var ignore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var trackedProperty = arguments[2];\n var obj = arguments[3];\n var sameParentRef = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var path = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];\n\n var prevObj = trackedProperty ? trackedProperty.value : undefined;\n\n var sameRef = prevObj === obj;\n\n if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\n return { wasMutated: true, path: path };\n }\n\n if (isImmutable(prevObj) || isImmutable(obj)) {\n return { wasMutated: false };\n }\n\n // Gather all keys from prev (tracked) and after objs\n var keysToDetect = {};\n Object.keys(trackedProperty.children).forEach(function (key) {\n keysToDetect[key] = true;\n });\n Object.keys(obj).forEach(function (key) {\n keysToDetect[key] = true;\n });\n\n var keys = Object.keys(keysToDetect);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var childPath = path.concat(key);\n if (ignore.length && ignore.indexOf(childPath.join('.')) !== -1) {\n continue;\n }\n\n var result = _detectMutations(isImmutable, ignore, trackedProperty.children[key], obj[key], sameRef, childPath);\n\n if (result.wasMutated) {\n return result;\n }\n }\n return { wasMutated: false };\n}","var atob = require('./atob');\n\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, function (m, p) {\n var code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = '0' + code;\n }\n return '%' + code;\n }));\n}\n\nmodule.exports = function(str) {\n var output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n\n try{\n return b64DecodeUnicode(output);\n } catch (err) {\n return atob(output);\n }\n};\n","/**\n * The code was extracted from:\n * https://github.com/davidchambers/Base64.js\n */\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction InvalidCharacterError(message) {\n this.message = message;\n}\n\nInvalidCharacterError.prototype = new Error();\nInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\nfunction polyfill (input) {\n var str = String(input).replace(/=+$/, '');\n if (str.length % 4 == 1) {\n throw new InvalidCharacterError(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n }\n for (\n // initialize result and counters\n var bc = 0, bs, buffer, idx = 0, output = '';\n // get next character\n buffer = str.charAt(idx++);\n // character found in table? initialize bit storage and add its ascii value;\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n // and if not first of each 4 characters,\n // convert the first 8 bits to one ascii character\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n // try to find character in table (0-63, not found => -1)\n buffer = chars.indexOf(buffer);\n }\n return output;\n}\n\n\nmodule.exports = typeof window !== 'undefined' && window.atob && window.atob.bind(window) || polyfill;\n","'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n protocol = protocol.split(':')[0];\n port = +port;\n\n if (!port) return false;\n\n switch (protocol) {\n case 'http':\n case 'ws':\n return port !== 80;\n\n case 'https':\n case 'wss':\n return port !== 443;\n\n case 'ftp':\n return port !== 21;\n\n case 'gopher':\n return port !== 70;\n\n case 'file':\n return false;\n }\n\n return port !== 0;\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?#&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encode(key);\n value = encode(value);\n\n //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n if (key === null || value === null) continue;\n pairs.push(key +'='+ value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/* UAParser.js v1.0.39\n Copyright © 2012-2021 Faisal Salman \n MIT License */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"1.0.39\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\",UA_MAX_LENGTH=500;var AMAZON=\"Amazon\",APPLE=\"Apple\",ASUS=\"ASUS\",BLACKBERRY=\"BlackBerry\",BROWSER=\"Browser\",CHROME=\"Chrome\",EDGE=\"Edge\",FIREFOX=\"Firefox\",GOOGLE=\"Google\",HUAWEI=\"Huawei\",LG=\"LG\",MICROSOFT=\"Microsoft\",MOTOROLA=\"Motorola\",OPERA=\"Opera\",SAMSUNG=\"Samsung\",SHARP=\"Sharp\",SONY=\"Sony\",XIAOMI=\"Xiaomi\",ZEBRA=\"Zebra\",FACEBOOK=\"Facebook\",CHROMIUM_OS=\"Chromium OS\",MAC_OS=\"Mac OS\",SUFFIX_BROWSER=\" Browser\";var extend=function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i])}else{mergedRegexes[i]=regexes[i]}}return mergedRegexes},enumerize=function(arr){var enums={};for(var i=0;i0){if(q.length===2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length===3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length===4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},strMapper=function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j2){_device[MODEL]=\"iPad\";_device[TYPE]=TABLET}return _device};this.getEngine=function(){var _engine={};_engine[NAME]=undefined;_engine[VERSION]=undefined;rgxMapper.call(_engine,_ua,_rgxmap.engine);return _engine};this.getOS=function(){var _os={};_os[NAME]=undefined;_os[VERSION]=undefined;rgxMapper.call(_os,_ua,_rgxmap.os);if(_isSelfNav&&!_os[NAME]&&_uach&&_uach.platform&&_uach.platform!=\"Unknown\"){_os[NAME]=_uach.platform.replace(/chrome os/i,CHROMIUM_OS).replace(/macos/i,MAC_OS)}return _os};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return _ua};this.setUA=function(ua){_ua=typeof ua===STR_TYPE&&ua.length>UA_MAX_LENGTH?trim(ua,UA_MAX_LENGTH):ua;return this};this.setUA(_ua);return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER=enumerize([NAME,VERSION,MAJOR]);UAParser.CPU=enumerize([ARCHITECTURE]);UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]);UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]);if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}else if(typeof window!==UNDEF_TYPE){window.UAParser=UAParser}}var $=typeof window!==UNDEF_TYPE&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window===\"object\"?window:this);","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = createWebStorage;\n\nvar _getStorage = _interopRequireDefault(require(\"./getStorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createWebStorage(type) {\n var storage = (0, _getStorage.default)(type);\n return {\n getItem: function getItem(key) {\n return new Promise(function (resolve, reject) {\n resolve(storage.getItem(key));\n });\n },\n setItem: function setItem(key, item) {\n return new Promise(function (resolve, reject) {\n resolve(storage.setItem(key, item));\n });\n },\n removeItem: function removeItem(key) {\n return new Promise(function (resolve, reject) {\n resolve(storage.removeItem(key));\n });\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = getStorage;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction noop() {}\n\nvar noopStorage = {\n getItem: noop,\n setItem: noop,\n removeItem: noop\n};\n\nfunction hasStorage(storageType) {\n if ((typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) !== 'object' || !(storageType in self)) {\n return false;\n }\n\n try {\n var storage = self[storageType];\n var testKey = \"redux-persist \".concat(storageType, \" test\");\n storage.setItem(testKey, 'test');\n storage.getItem(testKey);\n storage.removeItem(testKey);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') console.warn(\"redux-persist \".concat(storageType, \" test failed, persistence will be disabled.\"));\n return false;\n }\n\n return true;\n}\n\nfunction getStorage(type) {\n var storageType = \"\".concat(type, \"Storage\");\n if (hasStorage(storageType)) return self[storageType];else {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\"redux-persist failed to create sync storage. falling back to noop storage.\");\n }\n\n return noopStorage;\n }\n}","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.abs = void 0;\nvar isNegative_1 = require(\"./isNegative\");\nvar negate_1 = require(\"./negate\");\nvar parse_1 = require(\"./parse\");\n/**\n * Get the absolute value of a duration.\n *\n * @example\n * abs({ days: -1, seconds: 1 })\n * // { days: 1, seconds: -1 }\n */\nvar abs = function (duration) {\n if (isNegative_1.isNegative(duration)) {\n return negate_1.negate(duration);\n }\n return parse_1.parse(duration);\n};\nexports.abs = abs;\n//# sourceMappingURL=abs.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseISODuration = void 0;\nvar units_1 = require(\"./units\");\nvar negate_1 = require(\"../negate\");\nvar numberUtils_1 = require(\"./numberUtils\");\nvar millisecondsPattern = '(?:[,.](\\\\d{1,3})\\\\d*)?';\nvar unitPattern = function (unit) { return \"(?:(-?\\\\d+)\" + unit + \")?\"; };\nvar createDurationParser = function (regex, unitsOrder) {\n return function (duration) {\n var match = duration.match(regex);\n if (!match) {\n return null;\n }\n var isDurationNegative = match[1] === '-';\n var unitStrings = match.slice(2);\n // Must have at least one unit match\n if (unitStrings.every(function (value) { return value === undefined; })) {\n return null;\n }\n var unitNumbers = unitStrings.map(function (value, i) {\n if (value === void 0) { value = '0'; }\n var isMilliseconds = i === unitStrings.length - 1;\n return isMilliseconds\n // Pad the end of the millisecond values. For example, when taking the \"6\"\n // portion from the string \"PT3.6S\", we need to interpret that as \"600\n // milliseconds\".\n ? Number(value.padEnd(3, '0'))\n : Number(value);\n });\n var output = __assign({}, units_1.ZERO);\n unitsOrder.forEach(function (unit, i) {\n output[unit] = unitNumbers[i];\n });\n // Milliseconds don't have their own minus symbol. It depends on the symbol\n // before the seconds value.\n if (numberUtils_1.isNegativelySigned(output.seconds)) {\n output.milliseconds *= -1;\n }\n return isDurationNegative\n ? negate_1.negate(output)\n : output;\n };\n};\n/**\n * Parse a duration string expressed in one of the following formats:\n *\n * - PYYYYMMDDThhmmss\n * - PYYYY-MM-DDThh:mm:ss\n */\nvar parseFullFormatISODuration = createDurationParser(new RegExp([\n '^(-)?P',\n '(\\\\d{4})', '-?',\n '(\\\\d{2})', '-?',\n '(\\\\d{2})', 'T',\n '(\\\\d{2})', ':?',\n '(\\\\d{2})', ':?',\n '(\\\\d{2})', millisecondsPattern,\n '$',\n].join('')), [\n 'years',\n 'months',\n 'days',\n 'hours',\n 'minutes',\n 'seconds',\n 'milliseconds',\n]);\n/**\n * Parse a duration string expressed via number and unit character pairs. For\n * example:\n *\n * - P6D\n * - P1Y2D\n * - P2DT6H2,5S\n */\nvar parseUnitsISODuration = createDurationParser(new RegExp([\n '^(-)?P',\n unitPattern('Y'),\n unitPattern('M'),\n unitPattern('W'),\n unitPattern('D'),\n '(?:T',\n unitPattern('H'),\n unitPattern('M'),\n unitPattern(millisecondsPattern + \"S\"),\n ')?$',\n].join('')), [\n 'years',\n 'months',\n 'weeks',\n 'days',\n 'hours',\n 'minutes',\n 'seconds',\n 'milliseconds',\n]);\n/**\n * Parse an ISO 8601 duration string into an object.\n *\n * The units of duration are not normalized. For example, the string `\"P365D\"`\n * doesn't get converted to `{ years: 1 }` since not all years are the same\n * length.\n *\n * @example parseISODuration('P365D') // { days: 365 }\n */\nvar parseISODuration = function (duration) {\n var output = (parseUnitsISODuration(duration) ||\n parseFullFormatISODuration(duration));\n if (output === null) {\n throw new SyntaxError(\"Failed to parse duration. \\\"\" + duration + \"\\\" is not a valid ISO duration string.\");\n }\n return output;\n};\nexports.parseISODuration = parseISODuration;\n//# sourceMappingURL=parseISODuration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNegativelySigned = void 0;\n/**\n * Returns `true` if the passed value less than `0`, or equal to `-0`.\n */\nvar isNegativelySigned = function (n) {\n return n < 0 || Object.is(n, -0);\n};\nexports.isNegativelySigned = isNegativelySigned;\n//# sourceMappingURL=numberUtils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validate = void 0;\nvar units_1 = require(\"./units\");\nvar validate = function (duration) {\n Object.keys(duration).forEach(function (unit) {\n if (!units_1.UNITS.includes(unit)) {\n throw new TypeError(\"Unexpected property \\\"\" + unit + \"\\\" on Duration object.\");\n }\n if (!Number.isInteger(duration[unit])) {\n throw new TypeError(\"Property \\\"\" + unit + \"\\\" must be a an integer. Received \" + duration[unit] + \".\");\n }\n });\n};\nexports.validate = validate;\n//# sourceMappingURL=validate.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cleanDurationObject = void 0;\nvar units_1 = require(\"./units\");\nvar cleanDurationObject = function (duration) {\n var output = __assign({}, duration);\n units_1.UNITS.forEach(function (key) {\n // Convert `-0` to `0`. Both values will evaluate as `true` here.\n if (output[key] === 0) {\n output[key] = 0;\n }\n });\n return output;\n};\nexports.cleanDurationObject = cleanDurationObject;\n//# sourceMappingURL=cleanDurationObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addMonths = exports.getDaysInMonth = void 0;\nvar getDaysInMonth = function (date) {\n var monthIndex = date.getMonth();\n var lastDayOfMonth = new Date(0);\n lastDayOfMonth.setFullYear(date.getFullYear(), monthIndex + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n};\nexports.getDaysInMonth = getDaysInMonth;\nvar addMonths = function (date, value) {\n var desiredMonth = date.getMonth() + value;\n var dateWithDesiredMonth = new Date(0);\n dateWithDesiredMonth.setFullYear(date.getFullYear(), desiredMonth, 1);\n dateWithDesiredMonth.setHours(0, 0, 0, 0);\n var daysInMonth = exports.getDaysInMonth(dateWithDesiredMonth);\n // Set the last day of the new month\n // if the original date was the last day of the longer month\n date.setMonth(desiredMonth, Math.min(daysInMonth, date.getDate()));\n};\nexports.addMonths = addMonths;\n//# sourceMappingURL=dateUtils.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.normalize = void 0;\nvar units_1 = require(\"./lib/units\");\nvar between_1 = require(\"./between\");\nvar apply_1 = require(\"./apply\");\nvar toUnit_1 = require(\"./toUnit\");\nvar parse_1 = require(\"./parse\");\nvar createUnitsNormalizer = function (keys, getDivisor) {\n return function (duration, remaining) {\n var output = __assign({}, duration);\n keys.forEach(function (unit) {\n var divisor = getDivisor(unit);\n output[unit] = ~~(remaining / divisor);\n remaining -= output[unit] * divisor;\n });\n return output;\n };\n};\nvar yearMonthNormalizer = createUnitsNormalizer(['years', 'months'], function (unit) { return units_1.UNITS_META_MAP_LITERAL[unit].months; });\nvar dayAndTimeNormalizer = createUnitsNormalizer(['days', 'hours', 'minutes', 'seconds', 'milliseconds'], function (unit) { return units_1.UNITS_META_MAP_LITERAL[unit].milliseconds; });\nvar baseNormalizer = function (duration) {\n var _a = parse_1.parse(duration), years = _a.years, months = _a.months, weeks = _a.weeks, days = _a.days, rest = __rest(_a, [\"years\", \"months\", \"weeks\", \"days\"]);\n var output = __assign({}, units_1.ZERO);\n // Normalize years and months between themselves.\n // They cannot be normalized with other units due to their variable length.\n output = yearMonthNormalizer(output, toUnit_1.toMonths({ years: years, months: months }));\n // Normalize unambiguous units. It could be argued that `days` is ambiguous as\n // a day is not always 24 hours long, but the ISO 8601 spec says a day is 24 hours.\n // When not changing timezones, a day is consistently 24 hours, whereas months\n // and years are consistently irregular.\n output = dayAndTimeNormalizer(output, toUnit_1.toMilliseconds(__assign(__assign({}, rest), { days: days + (weeks * 7) })));\n return output;\n};\n/**\n * Convert a duration object or number of milliseconds into a complete\n * duration object that expresses the value in the most appropriate units.\n *\n * If a `referenceDate` argument is provided, the returned duration is normalized\n * relative to that date. This means each day, month and year has an unambiguous\n * duration, and the `normalize` function can safely convert between these units.\n *\n * @example\n * normalize({ milliseconds 4000 }) // { ..., seconds: 4, milliseconds: 0 }\n * normalize('P28DT24H') // { ..., days: 29 }\n * normalize('P28DT24H', '2018-02-01') // { ..., months: 1, days: 1 }\n * normalize('P28DT24H', '2016-02-01') // { ..., months: 1, days: 0 } (leap year)\n */\nvar normalize = function (duration, referenceDate) {\n var durationToNormalize = referenceDate != null\n // When using a reference date, `between` may give a result like this:\n // { years: 1, months: -11 }\n // Because of this, we pass that through `baseNormalizer` too.\n ? between_1.between(referenceDate, apply_1.apply(referenceDate, duration))\n : duration;\n return baseNormalizer(durationToNormalize);\n};\nexports.normalize = normalize;\n//# sourceMappingURL=normalize.js.map","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.subtract = void 0;\nvar negate_1 = require(\"./negate\");\nvar sum_1 = require(\"./sum\");\n/**\n * Subtract durations from the first duration argument.\n *\n * @example\n * subtract({ days: 1 }, { hours: 12 })\n * // { days: 1, hours: -12 }\n */\nvar subtract = function (duration) {\n var durationsToSubtract = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n durationsToSubtract[_i - 1] = arguments[_i];\n }\n return sum_1.sum.apply(void 0, __spreadArrays([duration], durationsToSubtract.map(negate_1.negate)));\n};\nexports.subtract = subtract;\n//# sourceMappingURL=subtract.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toString = void 0;\nvar parse_1 = require(\"./parse\");\nvar isZero_1 = require(\"./isZero\");\nvar getUnitCount_1 = require(\"./lib/getUnitCount\");\nvar units_1 = require(\"./lib/units\");\nvar joinComponents = function (component) {\n return component\n .join('')\n // Commas are mentioned in the spec as the preferred decimal delimiter\n .replace(/\\./g, ',');\n};\n/**\n * Stringify a duration into an ISO duration string.\n *\n * @example\n * toString({ years: 1, hours: 6 }) // 'P1YT6H'\n * toString(6000) // 'PT6S'\n */\nvar toString = function (duration) {\n // Zero values are a special case, since \"P\" is not a valid value.\n // At least one unit must be specified.\n if (isZero_1.isZero(duration)) {\n return 'P0D';\n }\n var parsed = __assign({}, parse_1.parse(duration));\n // Weeks should not be included in the output, unless it is the only unit.\n if (getUnitCount_1.getUnitCount(parsed) === 1 && parsed.weeks !== 0) {\n return \"P\" + parsed.weeks + \"W\";\n }\n var components = {\n period: [],\n time: [],\n };\n // Some units should be converted before stringifying.\n // For example, weeks should not be mixed with other units, and milliseconds\n // don't exist on ISO duration strings.\n units_1.UNITS_META.forEach(function (_a) {\n var fromUnit = _a.unit, toUnit = _a.stringifyConvertTo;\n if (toUnit == null) {\n return;\n }\n var millisecondValue = parsed[fromUnit] * units_1.UNITS_META_MAP[fromUnit].milliseconds;\n parsed[toUnit] += millisecondValue / units_1.UNITS_META_MAP[toUnit].milliseconds;\n parsed[fromUnit] = 0;\n });\n // Push each non-zero unit to its relevant array\n units_1.UNITS_META.forEach(function (_a) {\n var unit = _a.unit, ISOPrecision = _a.ISOPrecision, ISOCharacter = _a.ISOCharacter;\n var value = parsed[unit];\n if (ISOPrecision != null && value !== 0) {\n components[ISOPrecision].push(\"\" + value + ISOCharacter);\n }\n });\n // Build output string\n var output = \"P\" + joinComponents(components.period);\n if (components.time.length) {\n output += \"T\" + joinComponents(components.time);\n }\n return output;\n};\nexports.toString = toString;\n//# sourceMappingURL=toString.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUnitCount = void 0;\nvar units_1 = require(\"./units\");\nvar parse_1 = require(\"../parse\");\nvar getUnitCount = function (duration) {\n var parsed = __assign({}, parse_1.parse(duration));\n var count = 0;\n units_1.UNITS.forEach(function (unit) {\n if (parsed[unit] !== 0) {\n count++;\n }\n });\n return count;\n};\nexports.getUnitCount = getUnitCount;\n//# sourceMappingURL=getUnitCount.js.map","'use strict';\n\nvar urilib = require('url');\n\nvar attribute = require('./attribute');\nvar helpers = require('./helpers');\nvar scanSchema = require('./scan').scan;\nvar ValidatorResult = helpers.ValidatorResult;\nvar ValidatorResultError = helpers.ValidatorResultError;\nvar SchemaError = helpers.SchemaError;\nvar SchemaContext = helpers.SchemaContext;\n//var anonymousBase = 'vnd.jsonschema:///';\nvar anonymousBase = '/';\n\n/**\n * Creates a new Validator object\n * @name Validator\n * @constructor\n */\nvar Validator = function Validator () {\n // Allow a validator instance to override global custom formats or to have their\n // own custom formats.\n this.customFormats = Object.create(Validator.prototype.customFormats);\n this.schemas = {};\n this.unresolvedRefs = [];\n\n // Use Object.create to make this extensible without Validator instances stepping on each other's toes.\n this.types = Object.create(types);\n this.attributes = Object.create(attribute.validators);\n};\n\n// Allow formats to be registered globally.\nValidator.prototype.customFormats = {};\n\n// Hint at the presence of a property\nValidator.prototype.schemas = null;\nValidator.prototype.types = null;\nValidator.prototype.attributes = null;\nValidator.prototype.unresolvedRefs = null;\n\n/**\n * Adds a schema with a certain urn to the Validator instance.\n * @param schema\n * @param urn\n * @return {Object}\n */\nValidator.prototype.addSchema = function addSchema (schema, base) {\n var self = this;\n if (!schema) {\n return null;\n }\n var scan = scanSchema(base||anonymousBase, schema);\n var ourUri = base || schema.$id || schema.id;\n for(var uri in scan.id){\n this.schemas[uri] = scan.id[uri];\n }\n for(var uri in scan.ref){\n // If this schema is already defined, it will be filtered out by the next step\n this.unresolvedRefs.push(uri);\n }\n // Remove newly defined schemas from unresolvedRefs\n this.unresolvedRefs = this.unresolvedRefs.filter(function(uri){\n return typeof self.schemas[uri]==='undefined';\n });\n return this.schemas[ourUri];\n};\n\nValidator.prototype.addSubSchemaArray = function addSubSchemaArray(baseuri, schemas) {\n if(!Array.isArray(schemas)) return;\n for(var i=0; i\", schema);\n }\n var subschema = helpers.objectGetPath(ctx.schemas[document], fragment.substr(1));\n if(subschema===undefined){\n throw new SchemaError(\"no such schema \" + fragment + \" located in <\" + document + \">\", schema);\n }\n return {subschema: subschema, switchSchema: switchSchema};\n};\n\n/**\n * Tests whether the instance if of a certain type.\n * @private\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @param type\n * @return {boolean}\n */\nValidator.prototype.testType = function validateType (instance, schema, options, ctx, type) {\n if(type===undefined){\n return;\n }else if(type===null){\n throw new SchemaError('Unexpected null in \"type\" keyword');\n }\n if (typeof this.types[type] == 'function') {\n return this.types[type].call(this, instance);\n }\n if (type && typeof type == 'object') {\n var res = this.validateSchema(instance, type, options, ctx);\n return res === undefined || !(res && res.errors.length);\n }\n // Undefined or properties not on the list are acceptable, same as not being defined\n return true;\n};\n\nvar types = Validator.prototype.types = {};\ntypes.string = function testString (instance) {\n return typeof instance == 'string';\n};\ntypes.number = function testNumber (instance) {\n // isFinite returns false for NaN, Infinity, and -Infinity\n return typeof instance == 'number' && isFinite(instance);\n};\ntypes.integer = function testInteger (instance) {\n return (typeof instance == 'number') && instance % 1 === 0;\n};\ntypes.boolean = function testBoolean (instance) {\n return typeof instance == 'boolean';\n};\ntypes.array = function testArray (instance) {\n return Array.isArray(instance);\n};\ntypes['null'] = function testNull (instance) {\n return instance === null;\n};\ntypes.date = function testDate (instance) {\n return instance instanceof Date;\n};\ntypes.any = function testAny (instance) {\n return true;\n};\ntypes.object = function testObject (instance) {\n // TODO: fix this - see #15\n return instance && (typeof instance === 'object') && !(Array.isArray(instance)) && !(instance instanceof Date);\n};\n\nmodule.exports = Validator;\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\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// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\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 stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","'use strict';\n\nvar helpers = require('./helpers');\n\n/** @type ValidatorResult */\nvar ValidatorResult = helpers.ValidatorResult;\n/** @type SchemaError */\nvar SchemaError = helpers.SchemaError;\n\nvar attribute = {};\n\nattribute.ignoreProperties = {\n // informative properties\n 'id': true,\n 'default': true,\n 'description': true,\n 'title': true,\n // arguments to other properties\n 'additionalItems': true,\n 'then': true,\n 'else': true,\n // special-handled properties\n '$schema': true,\n '$ref': true,\n 'extends': true,\n};\n\n/**\n * @name validators\n */\nvar validators = attribute.validators = {};\n\n/**\n * Validates whether the instance if of a certain type\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {ValidatorResult|null}\n */\nvalidators.type = function validateType (instance, schema, options, ctx) {\n // Ignore undefined instances\n if (instance === undefined) {\n return null;\n }\n var result = new ValidatorResult(instance, schema, options, ctx);\n var types = Array.isArray(schema.type) ? schema.type : [schema.type];\n if (!types.some(this.testType.bind(this, instance, schema, options, ctx))) {\n var list = types.map(function (v) {\n if(!v) return;\n var id = v.$id || v.id;\n return id ? ('<' + id + '>') : (v+'');\n });\n result.addError({\n name: 'type',\n argument: list,\n message: \"is not of a type(s) \" + list,\n });\n }\n return result;\n};\n\nfunction testSchemaNoThrow(instance, options, ctx, callback, schema){\n var throwError = options.throwError;\n var throwAll = options.throwAll;\n options.throwError = false;\n options.throwAll = false;\n var res = this.validateSchema(instance, schema, options, ctx);\n options.throwError = throwError;\n options.throwAll = throwAll;\n\n if (!res.valid && callback instanceof Function) {\n callback(res);\n }\n return res.valid;\n}\n\n/**\n * Validates whether the instance matches some of the given schemas\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {ValidatorResult|null}\n */\nvalidators.anyOf = function validateAnyOf (instance, schema, options, ctx) {\n // Ignore undefined instances\n if (instance === undefined) {\n return null;\n }\n var result = new ValidatorResult(instance, schema, options, ctx);\n var inner = new ValidatorResult(instance, schema, options, ctx);\n if (!Array.isArray(schema.anyOf)){\n throw new SchemaError(\"anyOf must be an array\");\n }\n if (!schema.anyOf.some(\n testSchemaNoThrow.bind(\n this, instance, options, ctx, function(res){inner.importErrors(res);}\n ))) {\n var list = schema.anyOf.map(function (v, i) {\n var id = v.$id || v.id;\n if(id) return '<' + id + '>';\n return(v.title && JSON.stringify(v.title)) || (v['$ref'] && ('<' + v['$ref'] + '>')) || '[subschema '+i+']';\n });\n if (options.nestedErrors) {\n result.importErrors(inner);\n }\n result.addError({\n name: 'anyOf',\n argument: list,\n message: \"is not any of \" + list.join(','),\n });\n }\n return result;\n};\n\n/**\n * Validates whether the instance matches every given schema\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null}\n */\nvalidators.allOf = function validateAllOf (instance, schema, options, ctx) {\n // Ignore undefined instances\n if (instance === undefined) {\n return null;\n }\n if (!Array.isArray(schema.allOf)){\n throw new SchemaError(\"allOf must be an array\");\n }\n var result = new ValidatorResult(instance, schema, options, ctx);\n var self = this;\n schema.allOf.forEach(function(v, i){\n var valid = self.validateSchema(instance, v, options, ctx);\n if(!valid.valid){\n var id = v.$id || v.id;\n var msg = id || (v.title && JSON.stringify(v.title)) || (v['$ref'] && ('<' + v['$ref'] + '>')) || '[subschema '+i+']';\n result.addError({\n name: 'allOf',\n argument: { id: msg, length: valid.errors.length, valid: valid },\n message: 'does not match allOf schema ' + msg + ' with ' + valid.errors.length + ' error[s]:',\n });\n result.importErrors(valid);\n }\n });\n return result;\n};\n\n/**\n * Validates whether the instance matches exactly one of the given schemas\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null}\n */\nvalidators.oneOf = function validateOneOf (instance, schema, options, ctx) {\n // Ignore undefined instances\n if (instance === undefined) {\n return null;\n }\n if (!Array.isArray(schema.oneOf)){\n throw new SchemaError(\"oneOf must be an array\");\n }\n var result = new ValidatorResult(instance, schema, options, ctx);\n var inner = new ValidatorResult(instance, schema, options, ctx);\n var count = schema.oneOf.filter(\n testSchemaNoThrow.bind(\n this, instance, options, ctx, function(res) {inner.importErrors(res);}\n ) ).length;\n var list = schema.oneOf.map(function (v, i) {\n var id = v.$id || v.id;\n return id || (v.title && JSON.stringify(v.title)) || (v['$ref'] && ('<' + v['$ref'] + '>')) || '[subschema '+i+']';\n });\n if (count!==1) {\n if (options.nestedErrors) {\n result.importErrors(inner);\n }\n result.addError({\n name: 'oneOf',\n argument: list,\n message: \"is not exactly one from \" + list.join(','),\n });\n }\n return result;\n};\n\n/**\n * Validates \"then\" or \"else\" depending on the result of validating \"if\"\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null}\n */\nvalidators.if = function validateIf (instance, schema, options, ctx) {\n // Ignore undefined instances\n if (instance === undefined) return null;\n if (!helpers.isSchema(schema.if)) throw new Error('Expected \"if\" keyword to be a schema');\n var ifValid = testSchemaNoThrow.call(this, instance, options, ctx, null, schema.if);\n var result = new ValidatorResult(instance, schema, options, ctx);\n var res;\n if(ifValid){\n if (schema.then === undefined) return;\n if (!helpers.isSchema(schema.then)) throw new Error('Expected \"then\" keyword to be a schema');\n res = this.validateSchema(instance, schema.then, options, ctx.makeChild(schema.then));\n result.importErrors(res);\n }else{\n if (schema.else === undefined) return;\n if (!helpers.isSchema(schema.else)) throw new Error('Expected \"else\" keyword to be a schema');\n res = this.validateSchema(instance, schema.else, options, ctx.makeChild(schema.else));\n result.importErrors(res);\n }\n return result;\n};\n\nfunction getEnumerableProperty(object, key){\n // Determine if `key` shows up in `for(var key in object)`\n // First test Object.hasOwnProperty.call as an optimization: that guarantees it does\n if(Object.hasOwnProperty.call(object, key)) return object[key];\n // Test `key in object` as an optimization; false means it won't\n if(!(key in object)) return;\n while( (object = Object.getPrototypeOf(object)) ){\n if(Object.propertyIsEnumerable.call(object, key)) return object[key];\n }\n}\n\n/**\n * Validates propertyNames\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.propertyNames = function validatePropertyNames (instance, schema, options, ctx) {\n if(!this.types.object(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var subschema = schema.propertyNames!==undefined ? schema.propertyNames : {};\n if(!helpers.isSchema(subschema)) throw new SchemaError('Expected \"propertyNames\" to be a schema (object or boolean)');\n\n for (var property in instance) {\n if(getEnumerableProperty(instance, property) !== undefined){\n var res = this.validateSchema(property, subschema, options, ctx.makeChild(subschema));\n result.importErrors(res);\n }\n }\n\n return result;\n};\n\n/**\n * Validates properties\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.properties = function validateProperties (instance, schema, options, ctx) {\n if(!this.types.object(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var properties = schema.properties || {};\n for (var property in properties) {\n var subschema = properties[property];\n if(subschema===undefined){\n continue;\n }else if(subschema===null){\n throw new SchemaError('Unexpected null, expected schema in \"properties\"');\n }\n if (typeof options.preValidateProperty == 'function') {\n options.preValidateProperty(instance, property, subschema, options, ctx);\n }\n var prop = getEnumerableProperty(instance, property);\n var res = this.validateSchema(prop, subschema, options, ctx.makeChild(subschema, property));\n if(res.instance !== result.instance[property]) result.instance[property] = res.instance;\n result.importErrors(res);\n }\n return result;\n};\n\n/**\n * Test a specific property within in instance against the additionalProperties schema attribute\n * This ignores properties with definitions in the properties schema attribute, but no other attributes.\n * If too many more types of property-existence tests pop up they may need their own class of tests (like `type` has)\n * @private\n * @return {boolean}\n */\nfunction testAdditionalProperty (instance, schema, options, ctx, property, result) {\n if(!this.types.object(instance)) return;\n if (schema.properties && schema.properties[property] !== undefined) {\n return;\n }\n if (schema.additionalProperties === false) {\n result.addError({\n name: 'additionalProperties',\n argument: property,\n message: \"is not allowed to have the additional property \" + JSON.stringify(property),\n });\n } else {\n var additionalProperties = schema.additionalProperties || {};\n\n if (typeof options.preValidateProperty == 'function') {\n options.preValidateProperty(instance, property, additionalProperties, options, ctx);\n }\n\n var res = this.validateSchema(instance[property], additionalProperties, options, ctx.makeChild(additionalProperties, property));\n if(res.instance !== result.instance[property]) result.instance[property] = res.instance;\n result.importErrors(res);\n }\n}\n\n/**\n * Validates patternProperties\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.patternProperties = function validatePatternProperties (instance, schema, options, ctx) {\n if(!this.types.object(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var patternProperties = schema.patternProperties || {};\n\n for (var property in instance) {\n var test = true;\n for (var pattern in patternProperties) {\n var subschema = patternProperties[pattern];\n if(subschema===undefined){\n continue;\n }else if(subschema===null){\n throw new SchemaError('Unexpected null, expected schema in \"patternProperties\"');\n }\n try {\n var regexp = new RegExp(pattern, 'u');\n } catch(_e) {\n // In the event the stricter handling causes an error, fall back on the forgiving handling\n // DEPRECATED\n regexp = new RegExp(pattern);\n }\n if (!regexp.test(property)) {\n continue;\n }\n test = false;\n\n if (typeof options.preValidateProperty == 'function') {\n options.preValidateProperty(instance, property, subschema, options, ctx);\n }\n\n var res = this.validateSchema(instance[property], subschema, options, ctx.makeChild(subschema, property));\n if(res.instance !== result.instance[property]) result.instance[property] = res.instance;\n result.importErrors(res);\n }\n if (test) {\n testAdditionalProperty.call(this, instance, schema, options, ctx, property, result);\n }\n }\n\n return result;\n};\n\n/**\n * Validates additionalProperties\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.additionalProperties = function validateAdditionalProperties (instance, schema, options, ctx) {\n if(!this.types.object(instance)) return;\n // if patternProperties is defined then we'll test when that one is called instead\n if (schema.patternProperties) {\n return null;\n }\n var result = new ValidatorResult(instance, schema, options, ctx);\n for (var property in instance) {\n testAdditionalProperty.call(this, instance, schema, options, ctx, property, result);\n }\n return result;\n};\n\n/**\n * Validates whether the instance value is at least of a certain length, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.minProperties = function validateMinProperties (instance, schema, options, ctx) {\n if (!this.types.object(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var keys = Object.keys(instance);\n if (!(keys.length >= schema.minProperties)) {\n result.addError({\n name: 'minProperties',\n argument: schema.minProperties,\n message: \"does not meet minimum property length of \" + schema.minProperties,\n });\n }\n return result;\n};\n\n/**\n * Validates whether the instance value is at most of a certain length, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.maxProperties = function validateMaxProperties (instance, schema, options, ctx) {\n if (!this.types.object(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var keys = Object.keys(instance);\n if (!(keys.length <= schema.maxProperties)) {\n result.addError({\n name: 'maxProperties',\n argument: schema.maxProperties,\n message: \"does not meet maximum property length of \" + schema.maxProperties,\n });\n }\n return result;\n};\n\n/**\n * Validates items when instance is an array\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.items = function validateItems (instance, schema, options, ctx) {\n var self = this;\n if (!this.types.array(instance)) return;\n if (schema.items===undefined) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n instance.every(function (value, i) {\n if(Array.isArray(schema.items)){\n var items = schema.items[i]===undefined ? schema.additionalItems : schema.items[i];\n }else{\n var items = schema.items;\n }\n if (items === undefined) {\n return true;\n }\n if (items === false) {\n result.addError({\n name: 'items',\n message: \"additionalItems not permitted\",\n });\n return false;\n }\n var res = self.validateSchema(value, items, options, ctx.makeChild(items, i));\n if(res.instance !== result.instance[i]) result.instance[i] = res.instance;\n result.importErrors(res);\n return true;\n });\n return result;\n};\n\n/**\n * Validates the \"contains\" keyword\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.contains = function validateContains (instance, schema, options, ctx) {\n var self = this;\n if (!this.types.array(instance)) return;\n if (schema.contains===undefined) return;\n if (!helpers.isSchema(schema.contains)) throw new Error('Expected \"contains\" keyword to be a schema');\n var result = new ValidatorResult(instance, schema, options, ctx);\n var count = instance.some(function (value, i) {\n var res = self.validateSchema(value, schema.contains, options, ctx.makeChild(schema.contains, i));\n return res.errors.length===0;\n });\n if(count===false){\n result.addError({\n name: 'contains',\n argument: schema.contains,\n message: \"must contain an item matching given schema\",\n });\n }\n return result;\n};\n\n/**\n * Validates minimum and exclusiveMinimum when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.minimum = function validateMinimum (instance, schema, options, ctx) {\n if (!this.types.number(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n if (schema.exclusiveMinimum && schema.exclusiveMinimum === true) {\n if(!(instance > schema.minimum)){\n result.addError({\n name: 'minimum',\n argument: schema.minimum,\n message: \"must be greater than \" + schema.minimum,\n });\n }\n } else {\n if(!(instance >= schema.minimum)){\n result.addError({\n name: 'minimum',\n argument: schema.minimum,\n message: \"must be greater than or equal to \" + schema.minimum,\n });\n }\n }\n return result;\n};\n\n/**\n * Validates maximum and exclusiveMaximum when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.maximum = function validateMaximum (instance, schema, options, ctx) {\n if (!this.types.number(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n if (schema.exclusiveMaximum && schema.exclusiveMaximum === true) {\n if(!(instance < schema.maximum)){\n result.addError({\n name: 'maximum',\n argument: schema.maximum,\n message: \"must be less than \" + schema.maximum,\n });\n }\n } else {\n if(!(instance <= schema.maximum)){\n result.addError({\n name: 'maximum',\n argument: schema.maximum,\n message: \"must be less than or equal to \" + schema.maximum,\n });\n }\n }\n return result;\n};\n\n/**\n * Validates the number form of exclusiveMinimum when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.exclusiveMinimum = function validateExclusiveMinimum (instance, schema, options, ctx) {\n // Support the boolean form of exclusiveMinimum, which is handled by the \"minimum\" keyword.\n if(typeof schema.exclusiveMinimum === 'boolean') return;\n if (!this.types.number(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var valid = instance > schema.exclusiveMinimum;\n if (!valid) {\n result.addError({\n name: 'exclusiveMinimum',\n argument: schema.exclusiveMinimum,\n message: \"must be strictly greater than \" + schema.exclusiveMinimum,\n });\n }\n return result;\n};\n\n/**\n * Validates the number form of exclusiveMaximum when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.exclusiveMaximum = function validateExclusiveMaximum (instance, schema, options, ctx) {\n // Support the boolean form of exclusiveMaximum, which is handled by the \"maximum\" keyword.\n if(typeof schema.exclusiveMaximum === 'boolean') return;\n if (!this.types.number(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var valid = instance < schema.exclusiveMaximum;\n if (!valid) {\n result.addError({\n name: 'exclusiveMaximum',\n argument: schema.exclusiveMaximum,\n message: \"must be strictly less than \" + schema.exclusiveMaximum,\n });\n }\n return result;\n};\n\n/**\n * Perform validation for multipleOf and divisibleBy, which are essentially the same.\n * @param instance\n * @param schema\n * @param validationType\n * @param errorMessage\n * @returns {String|null}\n */\nvar validateMultipleOfOrDivisbleBy = function validateMultipleOfOrDivisbleBy (instance, schema, options, ctx, validationType, errorMessage) {\n if (!this.types.number(instance)) return;\n\n var validationArgument = schema[validationType];\n if (validationArgument == 0) {\n throw new SchemaError(validationType + \" cannot be zero\");\n }\n\n var result = new ValidatorResult(instance, schema, options, ctx);\n\n var instanceDecimals = helpers.getDecimalPlaces(instance);\n var divisorDecimals = helpers.getDecimalPlaces(validationArgument);\n\n var maxDecimals = Math.max(instanceDecimals , divisorDecimals);\n var multiplier = Math.pow(10, maxDecimals);\n\n if (Math.round(instance * multiplier) % Math.round(validationArgument * multiplier) !== 0) {\n result.addError({\n name: validationType,\n argument: validationArgument,\n message: errorMessage + JSON.stringify(validationArgument),\n });\n }\n\n return result;\n};\n\n/**\n * Validates divisibleBy when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.multipleOf = function validateMultipleOf (instance, schema, options, ctx) {\n return validateMultipleOfOrDivisbleBy.call(this, instance, schema, options, ctx, \"multipleOf\", \"is not a multiple of (divisible by) \");\n};\n\n/**\n * Validates multipleOf when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.divisibleBy = function validateDivisibleBy (instance, schema, options, ctx) {\n return validateMultipleOfOrDivisbleBy.call(this, instance, schema, options, ctx, \"divisibleBy\", \"is not divisible by (multiple of) \");\n};\n\n/**\n * Validates whether the instance value is present.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.required = function validateRequired (instance, schema, options, ctx) {\n var result = new ValidatorResult(instance, schema, options, ctx);\n if (instance === undefined && schema.required === true) {\n // A boolean form is implemented for reverse-compatibility with schemas written against older drafts\n result.addError({\n name: 'required',\n message: \"is required\",\n });\n } else if (this.types.object(instance) && Array.isArray(schema.required)) {\n schema.required.forEach(function(n){\n if(getEnumerableProperty(instance, n)===undefined){\n result.addError({\n name: 'required',\n argument: n,\n message: \"requires property \" + JSON.stringify(n),\n });\n }\n });\n }\n return result;\n};\n\n/**\n * Validates whether the instance value matches the regular expression, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.pattern = function validatePattern (instance, schema, options, ctx) {\n if (!this.types.string(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var pattern = schema.pattern;\n try {\n var regexp = new RegExp(pattern, 'u');\n } catch(_e) {\n // In the event the stricter handling causes an error, fall back on the forgiving handling\n // DEPRECATED\n regexp = new RegExp(pattern);\n }\n if (!instance.match(regexp)) {\n result.addError({\n name: 'pattern',\n argument: schema.pattern,\n message: \"does not match pattern \" + JSON.stringify(schema.pattern.toString()),\n });\n }\n return result;\n};\n\n/**\n * Validates whether the instance value is of a certain defined format or a custom\n * format.\n * The following formats are supported for string types:\n * - date-time\n * - date\n * - time\n * - ip-address\n * - ipv6\n * - uri\n * - color\n * - host-name\n * - alpha\n * - alpha-numeric\n * - utc-millisec\n * @param instance\n * @param schema\n * @param [options]\n * @param [ctx]\n * @return {String|null}\n */\nvalidators.format = function validateFormat (instance, schema, options, ctx) {\n if (instance===undefined) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n if (!result.disableFormat && !helpers.isFormat(instance, schema.format, this)) {\n result.addError({\n name: 'format',\n argument: schema.format,\n message: \"does not conform to the \" + JSON.stringify(schema.format) + \" format\",\n });\n }\n return result;\n};\n\n/**\n * Validates whether the instance value is at least of a certain length, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.minLength = function validateMinLength (instance, schema, options, ctx) {\n if (!this.types.string(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var hsp = instance.match(/[\\uDC00-\\uDFFF]/g);\n var length = instance.length - (hsp ? hsp.length : 0);\n if (!(length >= schema.minLength)) {\n result.addError({\n name: 'minLength',\n argument: schema.minLength,\n message: \"does not meet minimum length of \" + schema.minLength,\n });\n }\n return result;\n};\n\n/**\n * Validates whether the instance value is at most of a certain length, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.maxLength = function validateMaxLength (instance, schema, options, ctx) {\n if (!this.types.string(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n // TODO if this was already computed in \"minLength\", use that value instead of re-computing\n var hsp = instance.match(/[\\uDC00-\\uDFFF]/g);\n var length = instance.length - (hsp ? hsp.length : 0);\n if (!(length <= schema.maxLength)) {\n result.addError({\n name: 'maxLength',\n argument: schema.maxLength,\n message: \"does not meet maximum length of \" + schema.maxLength,\n });\n }\n return result;\n};\n\n/**\n * Validates whether instance contains at least a minimum number of items, when the instance is an Array.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.minItems = function validateMinItems (instance, schema, options, ctx) {\n if (!this.types.array(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n if (!(instance.length >= schema.minItems)) {\n result.addError({\n name: 'minItems',\n argument: schema.minItems,\n message: \"does not meet minimum length of \" + schema.minItems,\n });\n }\n return result;\n};\n\n/**\n * Validates whether instance contains no more than a maximum number of items, when the instance is an Array.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.maxItems = function validateMaxItems (instance, schema, options, ctx) {\n if (!this.types.array(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n if (!(instance.length <= schema.maxItems)) {\n result.addError({\n name: 'maxItems',\n argument: schema.maxItems,\n message: \"does not meet maximum length of \" + schema.maxItems,\n });\n }\n return result;\n};\n\n/**\n * Deep compares arrays for duplicates\n * @param v\n * @param i\n * @param a\n * @private\n * @return {boolean}\n */\nfunction testArrays (v, i, a) {\n var j, len = a.length;\n for (j = i + 1, len; j < len; j++) {\n if (helpers.deepCompareStrict(v, a[j])) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Validates whether there are no duplicates, when the instance is an Array.\n * @param instance\n * @return {String|null}\n */\nvalidators.uniqueItems = function validateUniqueItems (instance, schema, options, ctx) {\n if (schema.uniqueItems!==true) return;\n if (!this.types.array(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n if (!instance.every(testArrays)) {\n result.addError({\n name: 'uniqueItems',\n message: \"contains duplicate item\",\n });\n }\n return result;\n};\n\n/**\n * Validate for the presence of dependency properties, if the instance is an object.\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {null|ValidatorResult}\n */\nvalidators.dependencies = function validateDependencies (instance, schema, options, ctx) {\n if (!this.types.object(instance)) return;\n var result = new ValidatorResult(instance, schema, options, ctx);\n for (var property in schema.dependencies) {\n if (instance[property] === undefined) {\n continue;\n }\n var dep = schema.dependencies[property];\n var childContext = ctx.makeChild(dep, property);\n if (typeof dep == 'string') {\n dep = [dep];\n }\n if (Array.isArray(dep)) {\n dep.forEach(function (prop) {\n if (instance[prop] === undefined) {\n result.addError({\n // FIXME there's two different \"dependencies\" errors here with slightly different outputs\n // Can we make these the same? Or should we create different error types?\n name: 'dependencies',\n argument: childContext.propertyPath,\n message: \"property \" + prop + \" not found, required by \" + childContext.propertyPath,\n });\n }\n });\n } else {\n var res = this.validateSchema(instance, dep, options, childContext);\n if(result.instance !== res.instance) result.instance = res.instance;\n if (res && res.errors.length) {\n result.addError({\n name: 'dependencies',\n argument: childContext.propertyPath,\n message: \"does not meet dependency required by \" + childContext.propertyPath,\n });\n result.importErrors(res);\n }\n }\n }\n return result;\n};\n\n/**\n * Validates whether the instance value is one of the enumerated values.\n *\n * @param instance\n * @param schema\n * @return {ValidatorResult|null}\n */\nvalidators['enum'] = function validateEnum (instance, schema, options, ctx) {\n if (instance === undefined) {\n return null;\n }\n if (!Array.isArray(schema['enum'])) {\n throw new SchemaError(\"enum expects an array\", schema);\n }\n var result = new ValidatorResult(instance, schema, options, ctx);\n if (!schema['enum'].some(helpers.deepCompareStrict.bind(null, instance))) {\n result.addError({\n name: 'enum',\n argument: schema['enum'],\n message: \"is not one of enum values: \" + schema['enum'].map(String).join(','),\n });\n }\n return result;\n};\n\n/**\n * Validates whether the instance exactly matches a given value\n *\n * @param instance\n * @param schema\n * @return {ValidatorResult|null}\n */\nvalidators['const'] = function validateEnum (instance, schema, options, ctx) {\n if (instance === undefined) {\n return null;\n }\n var result = new ValidatorResult(instance, schema, options, ctx);\n if (!helpers.deepCompareStrict(schema['const'], instance)) {\n result.addError({\n name: 'const',\n argument: schema['const'],\n message: \"does not exactly match expected constant: \" + schema['const'],\n });\n }\n return result;\n};\n\n/**\n * Validates whether the instance if of a prohibited type.\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {null|ValidatorResult}\n */\nvalidators.not = validators.disallow = function validateNot (instance, schema, options, ctx) {\n var self = this;\n if(instance===undefined) return null;\n var result = new ValidatorResult(instance, schema, options, ctx);\n var notTypes = schema.not || schema.disallow;\n if(!notTypes) return null;\n if(!Array.isArray(notTypes)) notTypes=[notTypes];\n notTypes.forEach(function (type) {\n if (self.testType(instance, schema, options, ctx, type)) {\n var id = type && (type.$id || type.id);\n var schemaId = id || type;\n result.addError({\n name: 'not',\n argument: schemaId,\n message: \"is of prohibited type \" + schemaId,\n });\n }\n });\n return result;\n};\n\nmodule.exports = attribute;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n\n var before;\n\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule, // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","import { StyleSheet } from '@emotion/sheet';\nimport Stylis from '@emotion/stylis';\nimport '@emotion/weak-memoize';\n\n// https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet\n// inlined to avoid umd wrapper and peerDep warnings/installing stylis\n// since we use stylis after closure compiler\nvar delimiter = '/*|*/';\nvar needle = delimiter + '}';\n\nfunction toSheet(block) {\n if (block) {\n Sheet.current.insert(block + '}');\n }\n}\n\nvar Sheet = {\n current: null\n};\nvar ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n {\n switch (content.charCodeAt(0)) {\n case 64:\n {\n // @import\n Sheet.current.insert(content + ';');\n return '';\n }\n // charcode for l\n\n case 108:\n {\n // charcode for b\n // this ignores label\n if (content.charCodeAt(2) === 98) {\n return '';\n }\n }\n }\n\n break;\n }\n // selector\n\n case 2:\n {\n if (ns === 0) return content + delimiter;\n break;\n }\n // at-rule\n\n case 3:\n {\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n {\n Sheet.current.insert(selectors[0] + content);\n return '';\n }\n\n default:\n {\n return content + (at === 0 ? delimiter : '');\n }\n }\n }\n\n case -2:\n {\n content.split(needle).forEach(toSheet);\n }\n }\n};\n\nvar createCache = function createCache(options) {\n if (options === undefined) options = {};\n var key = options.key || 'css';\n var stylisOptions;\n\n if (options.prefix !== undefined) {\n stylisOptions = {\n prefix: options.prefix\n };\n }\n\n var stylis = new Stylis(stylisOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n\n {\n container = options.container || document.head;\n var nodes = document.querySelectorAll(\"style[data-emotion-\" + key + \"]\");\n Array.prototype.forEach.call(nodes, function (node) {\n var attrib = node.getAttribute(\"data-emotion-\" + key); // $FlowFixMe\n\n attrib.split(' ').forEach(function (id) {\n inserted[id] = true;\n });\n\n if (node.parentNode !== container) {\n container.appendChild(node);\n }\n });\n }\n\n var _insert;\n\n {\n stylis.use(options.stylisPlugins)(ruleSheet);\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n Sheet.current = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n var map = serialized.map;\n Sheet.current = {\n insert: function insert(rule) {\n sheet.insert(rule + map);\n }\n };\n }\n\n stylis(selector, serialized.styles);\n\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n };\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // https://esbench.com/bench/5bf7371a4cd7e6009ef61d0a\n var commentStart = /\\/\\*/g;\n var commentEnd = /\\*\\//g;\n stylis.use(function (context, content) {\n switch (context) {\n case -1:\n {\n while (commentStart.test(content)) {\n commentEnd.lastIndex = commentStart.lastIndex;\n\n if (commentEnd.test(content)) {\n commentStart.lastIndex = commentEnd.lastIndex;\n continue;\n }\n\n throw new Error('Your styles have an unterminated comment (\"/*\" without corresponding \"*/\").');\n }\n\n commentStart.lastIndex = 0;\n break;\n }\n }\n });\n stylis.use(function (context, content, selectors) {\n switch (context) {\n case -1:\n {\n var flag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n var unsafePseudoClasses = content.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n var ignoreRegExp = new RegExp(unsafePseudoClass + \".*\\\\/\\\\* \" + flag + \" \\\\*\\\\/\");\n var ignore = ignoreRegExp.test(content);\n\n if (unsafePseudoClass && !ignore) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n }\n });\n }\n\n break;\n }\n }\n });\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n return cache;\n};\n\nexport default createCache;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className]);\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(\".\" + className, current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","/* eslint-disable */\n// murmurhash2 via https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\nfunction murmurhash2_32_gc(str) {\n var l = str.length,\n h = l ^ l,\n i = 0,\n k;\n\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return (h >>> 0).toString(36);\n}\n\nexport default murmurhash2_32_gc;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import { serializeStyles } from '@emotion/serialize';\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nexport default css;\n","import _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport { createContext, forwardRef, createElement, Component } from 'react';\nimport createCache from '@emotion/cache';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\nimport css from '@emotion/css';\nexport { default as css } from '@emotion/css';\n\nvar EmotionCacheContext = createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? createCache() : null);\nvar ThemeContext = createContext({});\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n var render = function render(props, ref) {\n return createElement(EmotionCacheContext.Consumer, null, function (cache) {\n return func(props, cache, ref);\n });\n }; // $FlowFixMe\n\n\n return forwardRef(render);\n};\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar render = function render(cache, props, theme, ref) {\n var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles);\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = createElement(type, newProps);\n\n return ele;\n};\n\nvar Emotion =\n/* #__PURE__ */\nwithEmotionCache(function (props, cache, ref) {\n // use Context.read for the theme when it's stable\n if (typeof props.css === 'function') {\n return createElement(ThemeContext.Consumer, null, function (theme) {\n return render(cache, props, theme, ref);\n });\n }\n\n return render(cache, props, null, ref);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n} // $FlowFixMe\n\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/css' like this: css`\" + props.css + \"`\");\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type;\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|)jsx.*\\n\\s+at ([A-Z][A-Za-z$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/^.*\\n([A-Z][A-Za-z$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n createElementArgArray[1] = newProps;\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false;\nvar Global =\n/* #__PURE__ */\nwithEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n\n if (typeof styles === 'function') {\n return createElement(ThemeContext.Consumer, null, function (theme) {\n var serialized = serializeStyles([styles(theme)]);\n return createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n });\n }\n\n var serialized = serializeStyles([styles]);\n return createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n});\n\n// maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\nvar InnerGlobal =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerGlobal, _React$Component);\n\n function InnerGlobal(props, context, updater) {\n return _React$Component.call(this, props, context, updater) || this;\n }\n\n var _proto = InnerGlobal.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.sheet = new StyleSheet({\n key: this.props.cache.key + \"-global\",\n nonce: this.props.cache.sheet.nonce,\n container: this.props.cache.sheet.container\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion-\" + this.props.cache.key + \"=\\\"\" + this.props.serialized.name + \"\\\"]\");\n\n if (node !== null) {\n this.sheet.tags.push(node);\n }\n\n if (this.props.cache.sheet.tags.length) {\n this.sheet.before = this.props.cache.sheet.tags[0];\n }\n\n this.insertStyles();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.serialized.name !== this.props.serialized.name) {\n this.insertStyles();\n }\n };\n\n _proto.insertStyles = function insertStyles$1() {\n if (this.props.serialized.next !== undefined) {\n // insert keyframes\n insertStyles(this.props.cache, this.props.serialized.next, true);\n }\n\n if (this.sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling;\n this.sheet.before = element;\n this.sheet.flush();\n }\n\n this.props.cache.insert(\"\", this.props.serialized, this.sheet, false);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.sheet.flush();\n };\n\n _proto.render = function render() {\n\n return null;\n };\n\n return InnerGlobal;\n}(Component);\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar ClassNames = withEmotionCache(function (props, context) {\n return createElement(ThemeContext.Consumer, null, function (theme) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, context.registered);\n\n {\n insertStyles(context, serialized, false);\n }\n\n return context.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(context.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: theme\n };\n var ele = props.children(content);\n hasRendered = true;\n\n return ele;\n });\n});\n\nexport { CacheProvider, ClassNames, Global, ThemeContext, jsx, keyframes, withEmotionCache };\n","/** PURE_IMPORTS_START tslib,_.._Observable,_.._Subscription,_.._observable_from PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from '../../Observable';\nimport { Subscription } from '../../Subscription';\nimport { from } from '../../observable/from';\nexport function fromFetch(input, initWithSelector) {\n if (initWithSelector === void 0) {\n initWithSelector = {};\n }\n var selector = initWithSelector.selector, init = tslib_1.__rest(initWithSelector, [\"selector\"]);\n return new Observable(function (subscriber) {\n var controller = new AbortController();\n var signal = controller.signal;\n var abortable = true;\n var unsubscribed = false;\n var subscription = new Subscription();\n subscription.add(function () {\n unsubscribed = true;\n if (abortable) {\n controller.abort();\n }\n });\n var perSubscriberInit;\n if (init) {\n if (init.signal) {\n if (init.signal.aborted) {\n controller.abort();\n }\n else {\n var outerSignal_1 = init.signal;\n var outerSignalHandler_1 = function () {\n if (!signal.aborted) {\n controller.abort();\n }\n };\n outerSignal_1.addEventListener('abort', outerSignalHandler_1);\n subscription.add(function () { return outerSignal_1.removeEventListener('abort', outerSignalHandler_1); });\n }\n }\n perSubscriberInit = tslib_1.__assign({}, init, { signal: signal });\n }\n else {\n perSubscriberInit = { signal: signal };\n }\n fetch(input, perSubscriberInit).then(function (response) {\n if (selector) {\n subscription.add(from(selector(response)).subscribe(function (value) { return subscriber.next(value); }, function (err) {\n abortable = false;\n if (!unsubscribed) {\n subscriber.error(err);\n }\n }, function () {\n abortable = false;\n subscriber.complete();\n }));\n }\n else {\n abortable = false;\n subscriber.next(response);\n subscriber.complete();\n }\n }).catch(function (err) {\n abortable = false;\n if (!unsubscribed) {\n subscriber.error(err);\n }\n });\n return subscription;\n });\n}\n//# sourceMappingURL=fetch.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nvar FilterOperator = /*@__PURE__*/ (function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n return FilterOperator;\n}());\nvar FilterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FilterSubscriber, _super);\n function FilterSubscriber(destination, predicate, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.count = 0;\n return _this;\n }\n FilterSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n };\n return FilterSubscriber;\n}(Subscriber));\n//# sourceMappingURL=filter.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nexport function finalize(callback) {\n return function (source) { return source.lift(new FinallyOperator(callback)); };\n}\nvar FinallyOperator = /*@__PURE__*/ (function () {\n function FinallyOperator(callback) {\n this.callback = callback;\n }\n FinallyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n };\n return FinallyOperator;\n}());\nvar FinallySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FinallySubscriber, _super);\n function FinallySubscriber(destination, callback) {\n var _this = _super.call(this, destination) || this;\n _this.add(new Subscription(callback));\n return _this;\n }\n return FinallySubscriber;\n}(Subscriber));\n//# sourceMappingURL=finalize.js.map\n","/** PURE_IMPORTS_START _observable_empty,_observable_of,_observable_throwError PURE_IMPORTS_END */\nimport { empty } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n/*@__PURE__*/ (function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nvar Notification = /*@__PURE__*/ (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n };\n Notification.prototype.do = function (next, error, complete) {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n };\n Notification.prototype.toObservable = function () {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return of(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return empty();\n }\n throw new Error('unexpected notification kind value');\n };\n Notification.createNext = function (value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n Notification.undefinedValueNotification = new Notification('N', undefined);\n return Notification;\n}());\nexport { Notification };\n//# sourceMappingURL=Notification.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar QueueAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n return scheduler.flush(this);\n };\n return QueueAction;\n}(AsyncAction));\nexport { QueueAction };\n//# sourceMappingURL=QueueAction.js.map\n","/** PURE_IMPORTS_START _QueueAction,_QueueScheduler PURE_IMPORTS_END */\nimport { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport var queueScheduler = /*@__PURE__*/ new QueueScheduler(QueueAction);\nexport var queue = queueScheduler;\n//# sourceMappingURL=queue.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar QueueScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(AsyncScheduler));\nexport { QueueScheduler };\n//# sourceMappingURL=QueueScheduler.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriberSymbol] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nvar ObserveOnOperator = /*@__PURE__*/ (function () {\n function ObserveOnOperator(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n };\n return ObserveOnOperator;\n}());\nexport { ObserveOnOperator };\nvar ObserveOnSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ObserveOnSubscriber, _super);\n function ObserveOnSubscriber(destination, scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n var _this = _super.call(this, destination) || this;\n _this.scheduler = scheduler;\n _this.delay = delay;\n return _this;\n }\n ObserveOnSubscriber.dispatch = function (arg) {\n var notification = arg.notification, destination = arg.destination;\n notification.observe(destination);\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n var destination = this.destination;\n destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n };\n ObserveOnSubscriber.prototype._next = function (value) {\n this.scheduleMessage(Notification.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(Notification.createError(err));\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(Notification.createComplete());\n this.unsubscribe();\n };\n return ObserveOnSubscriber;\n}(Subscriber));\nexport { ObserveOnSubscriber };\nvar ObserveOnMessage = /*@__PURE__*/ (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\nexport { ObserveOnMessage };\n//# sourceMappingURL=observeOn.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar nextHandle = 1;\nvar RESOLVED = /*@__PURE__*/ (function () { return /*@__PURE__*/ Promise.resolve(); })();\nvar activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport var Immediate = {\n setImmediate: function (cb) {\n var handle = nextHandle++;\n activeHandles[handle] = true;\n RESOLVED.then(function () { return findAndClearHandle(handle) && cb(); });\n return handle;\n },\n clearImmediate: function (handle) {\n findAndClearHandle(handle);\n },\n};\nexport var TestTools = {\n pending: function () {\n return Object.keys(activeHandles).length;\n }\n};\n//# sourceMappingURL=Immediate.js.map\n","/** PURE_IMPORTS_START tslib,_util_Immediate,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Immediate } from '../util/Immediate';\nimport { AsyncAction } from './AsyncAction';\nvar AsapAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AsapAction;\n}(AsyncAction));\nexport { AsapAction };\n//# sourceMappingURL=AsapAction.js.map\n","/** PURE_IMPORTS_START _AsapAction,_AsapScheduler PURE_IMPORTS_END */\nimport { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport var asapScheduler = /*@__PURE__*/ new AsapScheduler(AsapAction);\nexport var asap = asapScheduler;\n//# sourceMappingURL=asap.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AsapScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsapScheduler, _super);\n function AsapScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsapScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(AsyncScheduler));\nexport { AsapScheduler };\n//# sourceMappingURL=AsapScheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_scheduler_asap,_util_isNumeric PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from '../Observable';\nimport { asap } from '../scheduler/asap';\nimport { isNumeric } from '../util/isNumeric';\nvar SubscribeOnObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubscribeOnObservable, _super);\n function SubscribeOnObservable(source, delayTime, scheduler) {\n if (delayTime === void 0) {\n delayTime = 0;\n }\n if (scheduler === void 0) {\n scheduler = asap;\n }\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.delayTime = delayTime;\n _this.scheduler = scheduler;\n if (!isNumeric(delayTime) || delayTime < 0) {\n _this.delayTime = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n _this.scheduler = asap;\n }\n return _this;\n }\n SubscribeOnObservable.create = function (source, delay, scheduler) {\n if (delay === void 0) {\n delay = 0;\n }\n if (scheduler === void 0) {\n scheduler = asap;\n }\n return new SubscribeOnObservable(source, delay, scheduler);\n };\n SubscribeOnObservable.dispatch = function (arg) {\n var source = arg.source, subscriber = arg.subscriber;\n return this.add(source.subscribe(subscriber));\n };\n SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n var delay = this.delayTime;\n var source = this.source;\n var scheduler = this.scheduler;\n return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n source: source, subscriber: subscriber\n });\n };\n return SubscribeOnObservable;\n}(Observable));\nexport { SubscribeOnObservable };\n//# sourceMappingURL=SubscribeOnObservable.js.map\n","/** PURE_IMPORTS_START _isArray PURE_IMPORTS_END */\nimport { isArray } from './isArray';\nexport function isNumeric(val) {\n return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\n//# sourceMappingURL=isNumeric.js.map\n","/** PURE_IMPORTS_START _observable_SubscribeOnObservable PURE_IMPORTS_END */\nimport { SubscribeOnObservable } from '../observable/SubscribeOnObservable';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function subscribeOnOperatorFunction(source) {\n return source.lift(new SubscribeOnOperator(scheduler, delay));\n };\n}\nvar SubscribeOnOperator = /*@__PURE__*/ (function () {\n function SubscribeOnOperator(scheduler, delay) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n SubscribeOnOperator.prototype.call = function (subscriber, source) {\n return new SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);\n };\n return SubscribeOnOperator;\n}());\n//# sourceMappingURL=subscribeOn.js.map\n","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { Observable, of as _of, from as _from } from 'rxjs';\nimport { ofType as _ofType } from './operators';\n\nexport var ActionsObservable = function (_Observable) {\n _inherits(ActionsObservable, _Observable);\n\n _createClass(ActionsObservable, null, [{\n key: 'of',\n value: function of() {\n return new this(_of.apply(undefined, arguments));\n }\n }, {\n key: 'from',\n value: function from(actions, scheduler) {\n return new this(_from(actions, scheduler));\n }\n }]);\n\n function ActionsObservable(actionsSubject) {\n _classCallCheck(this, ActionsObservable);\n\n var _this = _possibleConstructorReturn(this, (ActionsObservable.__proto__ || Object.getPrototypeOf(ActionsObservable)).call(this));\n\n _this.source = actionsSubject;\n return _this;\n }\n\n _createClass(ActionsObservable, [{\n key: 'lift',\n value: function lift(operator) {\n var observable = new ActionsObservable(this);\n observable.operator = operator;\n return observable;\n }\n }, {\n key: 'ofType',\n value: function ofType() {\n return _ofType.apply(undefined, arguments)(this);\n }\n }]);\n\n return ActionsObservable;\n}(Observable);","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { Observable, Subject } from 'rxjs';\n\nexport var StateObservable = function (_Observable) {\n _inherits(StateObservable, _Observable);\n\n function StateObservable(stateSubject, initialState) {\n _classCallCheck(this, StateObservable);\n\n var _this = _possibleConstructorReturn(this, (StateObservable.__proto__ || Object.getPrototypeOf(StateObservable)).call(this, function (subscriber) {\n var subscription = _this.__notifier.subscribe(subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(_this.value);\n }\n return subscription;\n }));\n\n _this.value = initialState;\n _this.__notifier = new Subject();\n _this.__subscription = stateSubject.subscribe(function (value) {\n // We only want to update state$ if it has actually changed since\n // redux requires reducers use immutability patterns.\n // This is basically what distinctUntilChanged() does but it's so simple\n // we don't need to pull that code in\n if (value !== _this.value) {\n _this.value = value;\n _this.__notifier.next(value);\n }\n });\n return _this;\n }\n\n return StateObservable;\n}(Observable);","import { Subject, from, queueScheduler } from 'rxjs';\nimport { map, mergeMap, observeOn, subscribeOn } from 'rxjs/operators';\nimport { ActionsObservable } from './ActionsObservable';\nimport { StateObservable } from './StateObservable';\nimport { warn } from './utils/console';\n\nexport function createEpicMiddleware() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // This isn't great. RxJS doesn't publicly export the constructor for\n // QueueScheduler nor QueueAction, so we reach in. We need to do this because\n // we don't want our internal queuing mechanism to be on the same queue as any\n // other RxJS code outside of redux-observable internals.\n var QueueScheduler = queueScheduler.constructor;\n var uniqueQueueScheduler = new QueueScheduler(queueScheduler.SchedulerAction);\n\n if (process.env.NODE_ENV !== 'production' && typeof options === 'function') {\n throw new TypeError('Providing your root Epic to `createEpicMiddleware(rootEpic)` is no longer supported, instead use `epicMiddleware.run(rootEpic)`\\n\\nLearn more: https://redux-observable.js.org/MIGRATION.html#setting-up-the-middleware');\n }\n\n var epic$ = new Subject();\n var store = void 0;\n\n var epicMiddleware = function epicMiddleware(_store) {\n if (process.env.NODE_ENV !== 'production' && store) {\n // https://github.com/redux-observable/redux-observable/issues/389\n warn('this middleware is already associated with a store. createEpicMiddleware should be called for every store.\\n\\nLearn more: https://goo.gl/2GQ7Da');\n }\n store = _store;\n var actionSubject$ = new Subject().pipe(observeOn(uniqueQueueScheduler));\n var stateSubject$ = new Subject().pipe(observeOn(uniqueQueueScheduler));\n var action$ = new ActionsObservable(actionSubject$);\n var state$ = new StateObservable(stateSubject$, store.getState());\n\n var result$ = epic$.pipe(map(function (epic) {\n var output$ = 'dependencies' in options ? epic(action$, state$, options.dependencies) : epic(action$, state$);\n\n if (!output$) {\n throw new TypeError('Your root Epic \"' + (epic.name || '') + '\" does not return a stream. Double check you\\'re not missing a return statement!');\n }\n\n return output$;\n }), mergeMap(function (output$) {\n return from(output$).pipe(subscribeOn(uniqueQueueScheduler), observeOn(uniqueQueueScheduler));\n }));\n\n result$.subscribe(store.dispatch);\n\n return function (next) {\n return function (action) {\n // Downstream middleware gets the action first,\n // which includes their reducers, so state is\n // updated before epics receive the action\n var result = next(action);\n\n // It's important to update the state$ before we emit\n // the action because otherwise it would be stale\n stateSubject$.next(store.getState());\n actionSubject$.next(action);\n\n return result;\n };\n };\n };\n\n epicMiddleware.run = function (rootEpic) {\n if (process.env.NODE_ENV !== 'production' && !store) {\n warn('epicMiddleware.run(rootEpic) called before the middleware has been setup by redux. Provide the epicMiddleware instance to createStore() first.');\n }\n epic$.next(rootEpic);\n };\n\n return epicMiddleware;\n}","/** PURE_IMPORTS_START _AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\nimport { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = /*@__PURE__*/ new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar TimeoutErrorImpl = /*@__PURE__*/ (function () {\n function TimeoutErrorImpl() {\n Error.call(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n return this;\n }\n TimeoutErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return TimeoutErrorImpl;\n})();\nexport var TimeoutError = TimeoutErrorImpl;\n//# sourceMappingURL=TimeoutError.js.map\n","/** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function timeoutWith(due, withObservable, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) {\n var absoluteTimeout = isDate(due);\n var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n return source.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));\n };\n}\nvar TimeoutWithOperator = /*@__PURE__*/ (function () {\n function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {\n this.waitFor = waitFor;\n this.absoluteTimeout = absoluteTimeout;\n this.withObservable = withObservable;\n this.scheduler = scheduler;\n }\n TimeoutWithOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));\n };\n return TimeoutWithOperator;\n}());\nvar TimeoutWithSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TimeoutWithSubscriber, _super);\n function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.absoluteTimeout = absoluteTimeout;\n _this.waitFor = waitFor;\n _this.withObservable = withObservable;\n _this.scheduler = scheduler;\n _this.scheduleTimeout();\n return _this;\n }\n TimeoutWithSubscriber.dispatchTimeout = function (subscriber) {\n var withObservable = subscriber.withObservable;\n subscriber._unsubscribeAndRecycle();\n subscriber.add(innerSubscribe(withObservable, new SimpleInnerSubscriber(subscriber)));\n };\n TimeoutWithSubscriber.prototype.scheduleTimeout = function () {\n var action = this.action;\n if (action) {\n this.action = action.schedule(this, this.waitFor);\n }\n else {\n this.add(this.action = this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, this));\n }\n };\n TimeoutWithSubscriber.prototype._next = function (value) {\n if (!this.absoluteTimeout) {\n this.scheduleTimeout();\n }\n _super.prototype._next.call(this, value);\n };\n TimeoutWithSubscriber.prototype._unsubscribe = function () {\n this.action = undefined;\n this.scheduler = null;\n this.withObservable = null;\n };\n return TimeoutWithSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=timeoutWith.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\n//# sourceMappingURL=isDate.js.map\n","/** PURE_IMPORTS_START _scheduler_async,_util_TimeoutError,_timeoutWith,_observable_throwError PURE_IMPORTS_END */\nimport { async } from '../scheduler/async';\nimport { TimeoutError } from '../util/TimeoutError';\nimport { timeoutWith } from './timeoutWith';\nimport { throwError } from '../observable/throwError';\nexport function timeout(due, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return timeoutWith(due, throwError(new TimeoutError()), scheduler);\n}\n//# sourceMappingURL=timeout.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isScheduler,_operators_mergeAll,_fromArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var concurrent = Number.POSITIVE_INFINITY;\n var scheduler = null;\n var last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map\n","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nimport { merge } from 'rxjs';\n\n/**\n Merges all epics into a single one.\n */\nexport var combineEpics = function combineEpics() {\n for (var _len = arguments.length, epics = Array(_len), _key = 0; _key < _len; _key++) {\n epics[_key] = arguments[_key];\n }\n\n var merger = function merger() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge.apply(undefined, _toConsumableArray(epics.map(function (epic) {\n var output$ = epic.apply(undefined, args);\n if (!output$) {\n throw new TypeError('combineEpics: one of the provided Epics \"' + (epic.name || '') + '\" does not return a stream. Double check you\\'re not missing a return statement!');\n }\n return output$;\n })));\n };\n\n // Technically the `name` property on Function's are supposed to be read-only.\n // While some JS runtimes allow it anyway (so this is useful in debugging)\n // some actually throw an exception when you attempt to do so.\n try {\n Object.defineProperty(merger, 'name', {\n value: 'combineEpics(' + epics.map(function (epic) {\n return epic.name || '';\n }).join(', ') + ')'\n });\n } catch (e) {}\n\n return merger;\n};"],"sourceRoot":""}