1 line
121 KiB
Plaintext
1 line
121 KiB
Plaintext
{"version":3,"sources":["webpack://wp.[name]/webpack/bootstrap","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/components/registry-provider/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/components/with-dispatch/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/components/with-select/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/default-registry.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/namespace-store.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/plugins/controls/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/plugins/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/plugins/persistence/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/plugins/persistence/storage/default.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/plugins/persistence/storage/object.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/promise-middleware.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/registry.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/resolvers-cache-middleware.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/store/actions.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/store/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/store/reducer.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/store/selectors.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/data/src/store/utils.js","webpack://wp.[name]/./node_modules/equivalent-key-map/equivalent-key-map.js","webpack://wp.[name]/./node_modules/is-promise/index.js","webpack://wp.[name]/./node_modules/redux/es/redux.js","webpack://wp.[name]/./node_modules/symbol-observable/es/index.js","webpack://wp.[name]/./node_modules/symbol-observable/es/ponyfill.js","webpack://wp.[name]/./node_modules/turbo-combine-reducers/index.js","webpack://wp.[name]/(webpack)/buildin/global.js","webpack://wp.[name]/(webpack)/buildin/harmony-module.js","webpack://wp.[name]/external {\"this\":[\"wp\",\"compose\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"deprecated\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"element\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"isShallowEqual\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"reduxRoutine\"]}","webpack://wp.[name]/external \"lodash\""],"names":["createContext","defaultRegistry","Consumer","Provider","RegistryConsumer","withDispatch","mapDispatchToProps","createHigherOrderComponent","compose","pure","WrappedComponent","ComponentWithDispatch","props","arguments","proxyProps","setProxyProps","propName","args","registry","dispatch","ownProps","propsToDispatchers","mapValues","dispatcher","hasOwnProperty","proxyDispatch","bind","Component","withSelect","mapSelectToProps","DEFAULT_MERGE_PROPS","getNextMergeProps","select","ComponentWithSelect","subscribe","mergeProps","canRunSelection","unsubscribe","nextProps","nextState","hasRegistryChanged","hasPropsChanged","isShallowEqual","state","nextMergeProps","setState","createRegistry","registerGenericStore","registerStore","registerReducer","registerActions","registerSelectors","registerResolvers","use","createNamespace","key","options","namespaces","reducer","store","actions","selectors","resolvers","createReduxStore","TypeError","mapActions","mapSelectors","fulfillment","getCoreDataFulfillment","result","mapResolvers","getSelectors","getActions","listener","lastState","getState","hasChanged","enhancers","applyMiddleware","createResolversCacheMiddleware","promise","window","__REDUX_DEVTOOLS_EXTENSION__","push","name","instanceId","createStore","flowRight","createStateSelector","selector","createBoundAction","action","mapSelector","selectorName","resolver","fulfillSelector","isFulfilled","hasStarted","start","fulfill","finish","mappedResolvers","resolverFulfill","hasStartedResolution","startResolution","finishResolution","fulfillWithRegistry","namespace","stores","get","reducerKey","controls","middleware","createMiddleware","enhancer","Object","assign","supportControls","DEFAULT_STORAGE","defaultStorage","DEFAULT_STORAGE_KEY","withInitialState","initialState","createPersistenceInterface","storage","storageKey","data","undefined","persisted","getItem","JSON","parse","error","set","value","setItem","stringify","pluginOptions","persistence","createPersistOnChange","keys","Array","isArray","pick","persist","flow","localStorage","removeItem","objectStorage","clear","String","create","promiseMiddleware","next","isPromise","then","resolvedAction","storeConfigs","listeners","globalListener","forEach","without","withPlugins","attributes","attribute","apply","config","deprecated","alternative","plugin","version","entries","dataStore","map","getCachedResolvers","resolversByArgs","shouldInvalidate","invalidateResolution","type","isResolved","onSubKey","EquivalentKeyMap","isStarting","delete","getIsResolving","hasFinishedResolution","isResolving","actionProperty","nextKeyState"],"mappings":";;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;AClFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,iDAAiD,gBAAgB;AACjE;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACNA;AAAA;AAAA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,C;;;;;;;;;;;;AClCA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACdA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AAAA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;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AAiB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;;;AAGP;AACA,mCAAmC;;AAEnC;;AAEA,qBAAqB,uBAAuB;AAC5C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,gBAAgB,GAAG;AACnB;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,gBAAgB,QAAQ;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;;;AAGA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,gBAAgB,QAAQ;AACxB;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;;;;;;;;;;;AClTA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,IAAI;AACf,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,yDAAY;AACxB;AACA,KAAK;AACL,GAAG;AACH;AACA;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ,yDAAY;AACvB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG,aAAa;;AAEhB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;;AAEA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,QAAQ,IAAqC;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;;AAEA;AACA,4EAA4E,aAAa;AACzF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,6BAA6B;AAC7B;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,KAAqC;AACzC;AACA;;AAEgI;;;;;;;;;;;;;AC3nBhI;AAAA;AAAA;AACqC;;AAErC;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC,UAAU,IAA6B;AACxC;AACA,CAAC,MAAM,EAEN;;AAED,aAAa,4DAAQ;AACN,qEAAM,EAAC;;;;;;;;;;;;;;AClBtB;AAAA;AAAe;AACf;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;;;;;;;;;;;AChBA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;;AAEV;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnDA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACvBA,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,+CAA+C,EAAE,I;;;;;;;;;;;ACA9D,aAAa,6CAA6C,EAAE,I;;;;;;;;;;;ACA5D,aAAa,iCAAiC,EAAE,I","file":"data.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./node_modules/@wordpress/data/build-module/index.js\");\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\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}","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}","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}","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}","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}","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}","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 _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\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\");\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","import defineProperty from \"./defineProperty\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\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}","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 arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport defaultRegistry from '../../default-registry';\n\nconst { Consumer, Provider } = createContext( defaultRegistry );\n\nexport const RegistryConsumer = Consumer;\n\nexport default Provider;\n","/**\n * External dependencies\n */\nimport { mapValues } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { pure, compose, createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { RegistryConsumer } from '../registry-provider';\n\n/**\n * Higher-order component used to add dispatch props using registered action\n * creators.\n *\n * @param {Object} mapDispatchToProps Object of prop names where value is a\n * dispatch-bound action creator, or a\n * function to be called with with the\n * component's props and returning an\n * action creator.\n *\n * @return {Component} Enhanced component with merged dispatcher props.\n */\nconst withDispatch = ( mapDispatchToProps ) => createHigherOrderComponent(\n\tcompose( [\n\t\tpure,\n\t\t( WrappedComponent ) => {\n\t\t\tclass ComponentWithDispatch extends Component {\n\t\t\t\tconstructor( props ) {\n\t\t\t\t\tsuper( ...arguments );\n\n\t\t\t\t\tthis.proxyProps = {};\n\t\t\t\t\tthis.setProxyProps( props );\n\t\t\t\t}\n\n\t\t\t\tcomponentDidUpdate() {\n\t\t\t\t\tthis.setProxyProps( this.props );\n\t\t\t\t}\n\n\t\t\t\tproxyDispatch( propName, ...args ) {\n\t\t\t\t\t// Original dispatcher is a pre-bound (dispatching) action creator.\n\t\t\t\t\tmapDispatchToProps( this.props.registry.dispatch, this.props.ownProps )[ propName ]( ...args );\n\t\t\t\t}\n\n\t\t\t\tsetProxyProps( props ) {\n\t\t\t\t\t// Assign as instance property so that in subsequent render\n\t\t\t\t\t// reconciliation, the prop values are referentially equal.\n\t\t\t\t\t// Importantly, note that while `mapDispatchToProps` is\n\t\t\t\t\t// called, it is done only to determine the keys for which\n\t\t\t\t\t// proxy functions should be created. The actual registry\n\t\t\t\t\t// dispatch does not occur until the function is called.\n\t\t\t\t\tconst propsToDispatchers = mapDispatchToProps( this.props.registry.dispatch, props.ownProps );\n\t\t\t\t\tthis.proxyProps = mapValues( propsToDispatchers, ( dispatcher, propName ) => {\n\t\t\t\t\t\t// Prebind with prop name so we have reference to the original\n\t\t\t\t\t\t// dispatcher to invoke. Track between re-renders to avoid\n\t\t\t\t\t\t// creating new function references every render.\n\t\t\t\t\t\tif ( this.proxyProps.hasOwnProperty( propName ) ) {\n\t\t\t\t\t\t\treturn this.proxyProps[ propName ];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn this.proxyDispatch.bind( this, propName );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\trender() {\n\t\t\t\t\treturn <WrappedComponent { ...this.props.ownProps } { ...this.proxyProps } />;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn ( ownProps ) => (\n\t\t\t\t<RegistryConsumer>\n\t\t\t\t\t{ ( registry ) => (\n\t\t\t\t\t\t<ComponentWithDispatch\n\t\t\t\t\t\t\townProps={ ownProps }\n\t\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</RegistryConsumer>\n\t\t\t);\n\t\t},\n\t] ),\n\t'withDispatch'\n);\n\nexport default withDispatch;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { RegistryConsumer } from '../registry-provider';\n\n/**\n * Higher-order component used to inject state-derived props using registered\n * selectors.\n *\n * @param {Function} mapSelectToProps Function called on every state change,\n * expected to return object of props to\n * merge with the component's own props.\n *\n * @return {Component} Enhanced component with merged state data props.\n */\nconst withSelect = ( mapSelectToProps ) => createHigherOrderComponent( ( WrappedComponent ) => {\n\t/**\n\t * Default merge props. A constant value is used as the fallback since it\n\t * can be more efficiently shallow compared in case component is repeatedly\n \t * rendered without its own merge props.\n\t *\n\t * @type {Object}\n\t */\n\tconst DEFAULT_MERGE_PROPS = {};\n\n\t/**\n\t * Given a props object, returns the next merge props by mapSelectToProps.\n\t *\n\t * @param {Object} props Props to pass as argument to mapSelectToProps.\n\t *\n\t * @return {Object} Props to merge into rendered wrapped element.\n\t */\n\tfunction getNextMergeProps( props ) {\n\t\treturn (\n\t\t\tmapSelectToProps( props.registry.select, props.ownProps ) ||\n\t\t\tDEFAULT_MERGE_PROPS\n\t\t);\n\t}\n\n\tclass ComponentWithSelect extends Component {\n\t\tconstructor( props ) {\n\t\t\tsuper( props );\n\n\t\t\tthis.subscribe( props.registry );\n\n\t\t\tthis.mergeProps = getNextMergeProps( props );\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\tthis.canRunSelection = true;\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\tthis.canRunSelection = false;\n\t\t\tthis.unsubscribe();\n\t\t}\n\n\t\tshouldComponentUpdate( nextProps, nextState ) {\n\t\t\t// Cycle subscription if registry changes.\n\t\t\tconst hasRegistryChanged = nextProps.registry !== this.props.registry;\n\t\t\tif ( hasRegistryChanged ) {\n\t\t\t\tthis.unsubscribe();\n\t\t\t\tthis.subscribe( nextProps.registry );\n\t\t\t}\n\n\t\t\t// Treat a registry change as equivalent to `ownProps`, to reflect\n\t\t\t// `mergeProps` to rendered component if and only if updated.\n\t\t\tconst hasPropsChanged = (\n\t\t\t\thasRegistryChanged ||\n\t\t\t\t! isShallowEqual( this.props.ownProps, nextProps.ownProps )\n\t\t\t);\n\n\t\t\t// Only render if props have changed or merge props have been updated\n\t\t\t// from the store subscriber.\n\t\t\tif ( this.state === nextState && ! hasPropsChanged ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( hasPropsChanged ) {\n\t\t\t\tconst nextMergeProps = getNextMergeProps( nextProps );\n\t\t\t\tif ( ! isShallowEqual( this.mergeProps, nextMergeProps ) ) {\n\t\t\t\t\t// If merge props change as a result of the incoming props,\n\t\t\t\t\t// they should be reflected as such in the upcoming render.\n\t\t\t\t\t// While side effects are discouraged in lifecycle methods,\n\t\t\t\t\t// this component is used heavily, and prior efforts to use\n\t\t\t\t\t// `getDerivedStateFromProps` had demonstrated miserable\n\t\t\t\t\t// performance.\n\t\t\t\t\tthis.mergeProps = nextMergeProps;\n\t\t\t\t}\n\n\t\t\t\t// Regardless whether merge props are changing, fall through to\n\t\t\t\t// incur the render since the component will need to receive\n\t\t\t\t// the changed `ownProps`.\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\tsubscribe( registry ) {\n\t\t\tthis.unsubscribe = registry.subscribe( () => {\n\t\t\t\tif ( ! this.canRunSelection ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst nextMergeProps = getNextMergeProps( this.props );\n\t\t\t\tif ( isShallowEqual( this.mergeProps, nextMergeProps ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.mergeProps = nextMergeProps;\n\n\t\t\t\t// Schedule an update. Merge props are not assigned to state\n\t\t\t\t// because derivation of merge props from incoming props occurs\n\t\t\t\t// within shouldComponentUpdate, where setState is not allowed.\n\t\t\t\t// setState is used here instead of forceUpdate because forceUpdate\n\t\t\t\t// bypasses shouldComponentUpdate altogether, which isn't desireable\n\t\t\t\t// if both state and props change within the same render.\n\t\t\t\t// Unfortunately this requires that next merge props are generated\n\t\t\t\t// twice.\n\t\t\t\tthis.setState( {} );\n\t\t\t} );\n\t\t}\n\n\t\trender() {\n\t\t\treturn <WrappedComponent { ...this.props.ownProps } { ...this.mergeProps } />;\n\t\t}\n\t}\n\n\treturn ( ownProps ) => (\n\t\t<RegistryConsumer>\n\t\t\t{ ( registry ) => (\n\t\t\t\t<ComponentWithSelect\n\t\t\t\t\townProps={ ownProps }\n\t\t\t\t\tregistry={ registry }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</RegistryConsumer>\n\t);\n}, 'withSelect' );\n\nexport default withSelect;\n","import { createRegistry } from './registry';\n\nexport default createRegistry();\n","/**\n * External dependencies\n */\nimport combineReducers from 'turbo-combine-reducers';\n\n/**\n * Internal dependencies\n */\nimport defaultRegistry from './default-registry';\nimport * as plugins from './plugins';\n\nexport { default as withSelect } from './components/with-select';\nexport { default as withDispatch } from './components/with-dispatch';\nexport { default as RegistryProvider, RegistryConsumer } from './components/registry-provider';\nexport { createRegistry } from './registry';\nexport { plugins };\n\n/**\n * The combineReducers helper function turns an object whose values are different\n * reducing functions into a single reducing function you can pass to registerReducer.\n *\n * @param {Object} reducers An object whose values correspond to different reducing\n * functions that need to be combined into one.\n *\n * @return {Function} A reducer that invokes every reducer inside the reducers\n * object, and constructs a state object with the same shape.\n */\nexport { combineReducers };\n\nexport const select = defaultRegistry.select;\nexport const dispatch = defaultRegistry.dispatch;\nexport const subscribe = defaultRegistry.subscribe;\nexport const registerGenericStore = defaultRegistry.registerGenericStore;\nexport const registerStore = defaultRegistry.registerStore;\nexport const registerReducer = defaultRegistry.registerReducer;\nexport const registerActions = defaultRegistry.registerActions;\nexport const registerSelectors = defaultRegistry.registerSelectors;\nexport const registerResolvers = defaultRegistry.registerResolvers;\nexport const use = defaultRegistry.use;\n","/**\n * External dependencies\n */\nimport { createStore, applyMiddleware } from 'redux';\nimport {\n\tflowRight,\n\tget,\n\tmapValues,\n} from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport promise from './promise-middleware';\nimport createResolversCacheMiddleware from './resolvers-cache-middleware';\n\n/**\n * Creates a namespace object with a store derived from the reducer given.\n *\n * @param {string} key Identifying string used for namespace and redex dev tools.\n * @param {Object} options Contains reducer, actions, selectors, and resolvers.\n * @param {Object} registry Temporary registry reference, required for namespace updates.\n *\n * @return {Object} Store Object.\n */\nexport default function createNamespace( key, options, registry ) {\n\t// TODO: After register[Reducer|Actions|Selectors|Resolvers] are deprecated and removed,\n\t// this function can be greatly simplified because it should no longer be called to modify\n\t// a namespace, but only to create one, and only once for each namespace.\n\n\t// TODO: After removing `registry.namespaces`and making stores immutable after create,\n\t// reducer, store, actinos, selectors, and resolvers can all be removed from here.\n\tlet {\n\t\treducer,\n\t\tstore,\n\t\tactions,\n\t\tselectors,\n\t\tresolvers,\n\t} = registry.namespaces[ key ] || {};\n\n\tif ( options.reducer ) {\n\t\treducer = options.reducer;\n\t\tstore = createReduxStore( reducer, key, registry );\n\t}\n\tif ( options.actions ) {\n\t\tif ( ! store ) {\n\t\t\tthrow new TypeError( 'Cannot specify actions when no reducer is present' );\n\t\t}\n\t\tactions = mapActions( options.actions, store );\n\t}\n\tif ( options.selectors ) {\n\t\tif ( ! store ) {\n\t\t\tthrow new TypeError( 'Cannot specify selectors when no reducer is present' );\n\t\t}\n\t\tselectors = mapSelectors( options.selectors, store );\n\t}\n\tif ( options.resolvers ) {\n\t\tconst fulfillment = getCoreDataFulfillment( registry, key );\n\t\tconst result = mapResolvers( options.resolvers, selectors, fulfillment, store );\n\t\tresolvers = result.resolvers;\n\t\tselectors = result.selectors;\n\t}\n\n\tconst getSelectors = () => selectors;\n\tconst getActions = () => actions;\n\n\t// Customize subscribe behavior to call listeners only on effective change,\n\t// not on every dispatch.\n\tconst subscribe = store && function( listener ) {\n\t\tlet lastState = store.getState();\n\t\tstore.subscribe( () => {\n\t\t\tconst state = store.getState();\n\t\t\tconst hasChanged = state !== lastState;\n\t\t\tlastState = state;\n\n\t\t\tif ( hasChanged ) {\n\t\t\t\tlistener();\n\t\t\t}\n\t\t} );\n\t};\n\n\treturn {\n\t\treducer,\n\t\tstore,\n\t\tactions,\n\t\tselectors,\n\t\tresolvers,\n\t\tgetSelectors,\n\t\tgetActions,\n\t\tsubscribe,\n\t};\n}\n\n/**\n * Creates a redux store for a namespace.\n *\n * @param {Function} reducer Root reducer for redux store.\n * @param {string} key Part of the state shape to register the\n * selectors for.\n * @param {Object} registry Registry reference, for resolver enhancer support.\n * @return {Object} Newly created redux store.\n */\nfunction createReduxStore( reducer, key, registry ) {\n\tconst enhancers = [\n\t\tapplyMiddleware( createResolversCacheMiddleware( registry, key ), promise ),\n\t];\n\tif ( typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ ) {\n\t\tenhancers.push( window.__REDUX_DEVTOOLS_EXTENSION__( { name: key, instanceId: key } ) );\n\t}\n\n\treturn createStore( reducer, flowRight( enhancers ) );\n}\n\n/**\n * Maps selectors to a redux store.\n *\n * @param {Object} selectors Selectors to register. Keys will be used as the\n * public facing API. Selectors will get passed the\n * state as first argument.\n * @param {Object} store The redux store to which the selectors should be mapped.\n * @return {Object} Selectors mapped to the redux store provided.\n */\nfunction mapSelectors( selectors, store ) {\n\tconst createStateSelector = ( selector ) => ( ...args ) => selector( store.getState(), ...args );\n\treturn mapValues( selectors, createStateSelector );\n}\n\n/**\n * Maps actions to dispatch from a given store.\n *\n * @param {Object} actions Actions to register.\n * @param {Object} store The redux store to which the actions should be mapped.\n * @return {Object} Actions mapped to the redux store provided.\n */\nfunction mapActions( actions, store ) {\n\tconst createBoundAction = ( action ) => ( ...args ) => store.dispatch( action( ...args ) );\n\treturn mapValues( actions, createBoundAction );\n}\n\n/**\n * Returns resolvers with matched selectors for a given namespace.\n * Resolvers are side effects invoked once per argument set of a given selector call,\n * used in ensuring that the data needs for the selector are satisfied.\n *\n * @param {Object} resolvers Resolvers to register.\n * @param {Object} selectors The current selectors to be modified.\n * @param {Object} fulfillment Fulfillment implementation functions.\n * @param {Object} store The redux store to which the resolvers should be mapped.\n * @return {Object} An object containing updated selectors and resolvers.\n */\nfunction mapResolvers( resolvers, selectors, fulfillment, store ) {\n\tconst mapSelector = ( selector, selectorName ) => {\n\t\tconst resolver = resolvers[ selectorName ];\n\t\tif ( ! resolver ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\treturn ( ...args ) => {\n\t\t\tasync function fulfillSelector() {\n\t\t\t\tconst state = store.getState();\n\t\t\t\tif ( typeof resolver.isFulfilled === 'function' && resolver.isFulfilled( state, ...args ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( fulfillment.hasStarted( selectorName, args ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfulfillment.start( selectorName, args );\n\t\t\t\tawait fulfillment.fulfill( selectorName, ...args );\n\t\t\t\tfulfillment.finish( selectorName, args );\n\t\t\t}\n\n\t\t\tfulfillSelector( ...args );\n\t\t\treturn selector( ...args );\n\t\t};\n\t};\n\n\tconst mappedResolvers = mapValues( resolvers, ( resolver ) => {\n\t\tconst { fulfill: resolverFulfill = resolver } = resolver;\n\t\treturn { ...resolver, fulfill: resolverFulfill };\n\t} );\n\n\treturn {\n\t\tresolvers: mappedResolvers,\n\t\tselectors: mapValues( selectors, mapSelector ),\n\t};\n}\n\n/**\n * Bundles up fulfillment functions for resolvers.\n * @param {Object} registry Registry reference, for fulfilling via resolvers\n * @param {string} key Part of the state shape to register the\n * selectors for.\n * @return {Object} An object providing fulfillment functions.\n */\nfunction getCoreDataFulfillment( registry, key ) {\n\tconst { hasStartedResolution } = registry.select( 'core/data' );\n\tconst { startResolution, finishResolution } = registry.dispatch( 'core/data' );\n\n\treturn {\n\t\thasStarted: ( ...args ) => hasStartedResolution( key, ...args ),\n\t\tstart: ( ...args ) => startResolution( key, ...args ),\n\t\tfinish: ( ...args ) => finishResolution( key, ...args ),\n\t\tfulfill: ( ...args ) => fulfillWithRegistry( registry, key, ...args ),\n\t};\n}\n\n/**\n * Calls a resolver given arguments\n *\n * @param {Object} registry Registry reference, for fulfilling via resolvers\n * @param {string} key Part of the state shape to register the\n * selectors for.\n * @param {string} selectorName Selector name to fulfill.\n * @param {Array} args Selector Arguments.\n */\nasync function fulfillWithRegistry( registry, key, selectorName, ...args ) {\n\tconst namespace = registry.stores[ key ];\n\tconst resolver = get( namespace, [ 'resolvers', selectorName ] );\n\tif ( ! resolver ) {\n\t\treturn;\n\t}\n\n\tconst action = resolver.fulfill( ...args );\n\tif ( action ) {\n\t\tawait namespace.store.dispatch( action );\n\t}\n}\n","/**\n * External dependencies\n */\nimport { applyMiddleware } from 'redux';\n\n/**\n * WordPress dependencies\n */\nimport createMiddleware from '@wordpress/redux-routine';\n\nexport default function( registry ) {\n\treturn {\n\t\tregisterStore( reducerKey, options ) {\n\t\t\tconst store = registry.registerStore( reducerKey, options );\n\n\t\t\tif ( options.controls ) {\n\t\t\t\tconst middleware = createMiddleware( options.controls );\n\t\t\t\tconst enhancer = applyMiddleware( middleware );\n\t\t\t\tconst createStore = () => store;\n\n\t\t\t\tObject.assign(\n\t\t\t\t\tstore,\n\t\t\t\t\tenhancer( createStore )( options.reducer )\n\t\t\t\t);\n\n\t\t\t\tregistry.namespaces[ reducerKey ].supportControls = true;\n\t\t\t}\n\n\t\t\treturn store;\n\t\t},\n\t};\n}\n","export { default as controls } from './controls';\nexport { default as persistence } from './persistence';\n","/**\n * External dependencies\n */\nimport { pick, flow } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport defaultStorage from './storage/default';\n\n/**\n * Persistence plugin options.\n *\n * @property {Storage} storage Persistent storage implementation. This must\n * at least implement `getItem` and `setItem` of\n * the Web Storage API.\n * @property {string} storageKey Key on which to set in persistent storage.\n *\n * @typedef {WPDataPersistencePluginOptions}\n */\n\n/**\n * Default plugin storage.\n *\n * @type {Storage}\n */\nconst DEFAULT_STORAGE = defaultStorage;\n\n/**\n * Default plugin storage key.\n *\n * @type {string}\n */\nconst DEFAULT_STORAGE_KEY = 'WP_DATA';\n\n/**\n * Higher-order reducer to provides an initial value when state is undefined.\n *\n * @param {Function} reducer Original reducer.\n * @param {*} initialState Value to use as initial state.\n *\n * @return {Function} Enhanced reducer.\n */\nexport function withInitialState( reducer, initialState ) {\n\treturn ( state = initialState, action ) => {\n\t\treturn reducer( state, action );\n\t};\n}\n\n/**\n * Creates a persistence interface, exposing getter and setter methods (`get`\n * and `set` respectively).\n *\n * @param {WPDataPersistencePluginOptions} options Plugin options.\n *\n * @return {Object} Persistence interface.\n */\nexport function createPersistenceInterface( options ) {\n\tconst {\n\t\tstorage = DEFAULT_STORAGE,\n\t\tstorageKey = DEFAULT_STORAGE_KEY,\n\t} = options;\n\n\tlet data;\n\n\t/**\n\t * Returns the persisted data as an object, defaulting to an empty object.\n\t *\n\t * @return {Object} Persisted data.\n\t */\n\tfunction get() {\n\t\tif ( data === undefined ) {\n\t\t\t// If unset, getItem is expected to return null. Fall back to\n\t\t\t// empty object.\n\t\t\tconst persisted = storage.getItem( storageKey );\n\t\t\tif ( persisted === null ) {\n\t\t\t\tdata = {};\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( persisted );\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\t// Similarly, should any error be thrown during parse of\n\t\t\t\t\t// the string (malformed JSON), fall back to empty object.\n\t\t\t\t\tdata = {};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Merges an updated reducer state into the persisted data.\n\t *\n\t * @param {string} key Key to update.\n\t * @param {*} value Updated value.\n\t */\n\tfunction set( key, value ) {\n\t\tdata = { ...data, [ key ]: value };\n\t\tstorage.setItem( storageKey, JSON.stringify( data ) );\n\t}\n\n\treturn { get, set };\n}\n\n/**\n * Data plugin to persist store state into a single storage key.\n *\n * @param {WPDataRegistry} registry Data registry.\n * @param {?WPDataPersistencePluginOptions} pluginOptions Plugin options.\n *\n * @return {WPDataPlugin} Data plugin.\n */\nexport default function( registry, pluginOptions ) {\n\tconst persistence = createPersistenceInterface( pluginOptions );\n\n\t/**\n\t * Creates an enhanced store dispatch function, triggering the state of the\n\t * given reducer key to be persisted when changed.\n\t *\n\t * @param {Function} getState Function which returns current state.\n\t * @param {string} reducerKey Reducer key.\n\t * @param {?Array<string>} keys Optional subset of keys to save.\n\t *\n\t * @return {Function} Enhanced dispatch function.\n\t */\n\tfunction createPersistOnChange( getState, reducerKey, keys ) {\n\t\tlet lastState = getState();\n\n\t\treturn ( result ) => {\n\t\t\tlet state = getState();\n\t\t\tif ( state !== lastState ) {\n\t\t\t\tif ( Array.isArray( keys ) ) {\n\t\t\t\t\tstate = pick( state, keys );\n\t\t\t\t}\n\n\t\t\t\tpersistence.set( reducerKey, state );\n\t\t\t\tlastState = state;\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\treturn {\n\t\tregisterStore( reducerKey, options ) {\n\t\t\tif ( ! options.persist ) {\n\t\t\t\treturn registry.registerStore( reducerKey, options );\n\t\t\t}\n\n\t\t\tconst initialState = persistence.get()[ reducerKey ];\n\n\t\t\toptions = {\n\t\t\t\t...options,\n\t\t\t\treducer: withInitialState( options.reducer, initialState ),\n\t\t\t};\n\n\t\t\tconst store = registry.registerStore( reducerKey, options );\n\n\t\t\tstore.dispatch = flow( [\n\t\t\t\tstore.dispatch,\n\t\t\t\tcreatePersistOnChange(\n\t\t\t\t\tstore.getState,\n\t\t\t\t\treducerKey,\n\t\t\t\t\toptions.persist\n\t\t\t\t),\n\t\t\t] );\n\n\t\t\treturn store;\n\t\t},\n\t};\n}\n","/**\n * Internal dependencies\n */\nimport objectStorage from './object';\n\nlet storage;\n\ntry {\n\t// Private Browsing in Safari 10 and earlier will throw an error when\n\t// attempting to set into localStorage. The test here is intentional in\n\t// causing a thrown error as condition for using fallback object storage.\n\tstorage = window.localStorage;\n\tstorage.setItem( '__wpDataTestLocalStorage', '' );\n\tstorage.removeItem( '__wpDataTestLocalStorage' );\n} catch ( error ) {\n\tstorage = objectStorage;\n}\n\nexport default storage;\n","let objectStorage;\n\nconst storage = {\n\tgetItem( key ) {\n\t\tif ( ! objectStorage || ! objectStorage[ key ] ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn objectStorage[ key ];\n\t},\n\tsetItem( key, value ) {\n\t\tif ( ! objectStorage ) {\n\t\t\tstorage.clear();\n\t\t}\n\n\t\tobjectStorage[ key ] = String( value );\n\t},\n\tclear() {\n\t\tobjectStorage = Object.create( null );\n\t},\n};\n\nexport default storage;\n","/**\n * External dependencies\n */\nimport isPromise from 'is-promise';\n\n/**\n * Simplest possible promise redux middleware.\n *\n * @return {function} middleware.\n */\nconst promiseMiddleware = () => ( next ) => ( action ) => {\n\tif ( isPromise( action ) ) {\n\t\treturn action.then( ( resolvedAction ) => {\n\t\t\tif ( resolvedAction ) {\n\t\t\t\treturn next( resolvedAction );\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn next( action );\n};\n\nexport default promiseMiddleware;\n","/**\n * External dependencies\n */\nimport {\n\twithout,\n\tmapValues,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport createNamespace from './namespace-store.js';\nimport dataStore from './store';\n\n/**\n * An isolated orchestrator of store registrations.\n *\n * @typedef {WPDataRegistry}\n *\n * @property {Function} registerGenericStore\n * @property {Function} registerStore\n * @property {Function} subscribe\n * @property {Function} select\n * @property {Function} dispatch\n */\n\n/**\n * An object of registry function overrides.\n *\n * @typedef {WPDataPlugin}\n */\n\n/**\n * Creates a new store registry, given an optional object of initial store\n * configurations.\n *\n * @param {Object} storeConfigs Initial store configurations.\n *\n * @return {WPDataRegistry} Data registry.\n */\nexport function createRegistry( storeConfigs = {} ) {\n\tconst stores = {};\n\tlet listeners = [];\n\n\t/**\n\t * Global listener called for each store's update.\n\t */\n\tfunction globalListener() {\n\t\tlisteners.forEach( ( listener ) => listener() );\n\t}\n\n\t/**\n\t * Subscribe to changes to any data.\n\t *\n\t * @param {Function} listener Listener function.\n\t *\n\t * @return {Function} Unsubscribe function.\n\t */\n\tconst subscribe = ( listener ) => {\n\t\tlisteners.push( listener );\n\n\t\treturn () => {\n\t\t\tlisteners = without( listeners, listener );\n\t\t};\n\t};\n\n\t/**\n\t * Calls a selector given the current state and extra arguments.\n\t *\n\t * @param {string} reducerKey Part of the state shape to register the\n\t * selectors for.\n\t *\n\t * @return {*} The selector's returned value.\n\t */\n\tfunction select( reducerKey ) {\n\t\tconst store = stores[ reducerKey ];\n\t\treturn store && store.getSelectors();\n\t}\n\n\t/**\n\t * Returns the available actions for a part of the state.\n\t *\n\t * @param {string} reducerKey Part of the state shape to dispatch the\n\t * action for.\n\t *\n\t * @return {*} The action's returned value.\n\t */\n\tfunction dispatch( reducerKey ) {\n\t\tconst store = stores[ reducerKey ];\n\t\treturn store && store.getActions();\n\t}\n\n\t//\n\t// Deprecated\n\t// TODO: Remove this after `use()` is removed.\n\t//\n\tfunction withPlugins( attributes ) {\n\t\treturn mapValues( attributes, ( attribute, key ) => {\n\t\t\tif ( typeof attribute !== 'function' ) {\n\t\t\t\treturn attribute;\n\t\t\t}\n\t\t\treturn function() {\n\t\t\t\treturn registry[ key ].apply( null, arguments );\n\t\t\t};\n\t\t} );\n\t}\n\n\t/**\n\t * Registers a generic store.\n\t *\n\t * @param {string} key Store registry key.\n\t * @param {Object} config Configuration (getSelectors, getActions, subscribe).\n\t */\n\tfunction registerGenericStore( key, config ) {\n\t\tif ( typeof config.getSelectors !== 'function' ) {\n\t\t\tthrow new TypeError( 'config.getSelectors must be a function' );\n\t\t}\n\t\tif ( typeof config.getActions !== 'function' ) {\n\t\t\tthrow new TypeError( 'config.getActions must be a function' );\n\t\t}\n\t\tif ( typeof config.subscribe !== 'function' ) {\n\t\t\tthrow new TypeError( 'config.subscribe must be a function' );\n\t\t}\n\t\tstores[ key ] = config;\n\t\tconfig.subscribe( globalListener );\n\t}\n\n\tlet registry = {\n\t\tregisterGenericStore,\n\t\tstores,\n\t\tnamespaces: stores, // TODO: Deprecate/remove this.\n\t\tsubscribe,\n\t\tselect,\n\t\tdispatch,\n\t\tuse,\n\t};\n\n\t//\n\t// Deprecated\n\t//\n\tregistry.registerReducer = ( reducerKey, reducer ) => {\n\t\tdeprecated( 'registry.registerReducer', {\n\t\t\talternative: 'registry.registerStore',\n\t\t\tplugin: 'Gutenberg',\n\t\t\tversion: '4.4.0',\n\t\t} );\n\n\t\tconst namespace = createNamespace( reducerKey, { reducer }, registry );\n\t\tregisterGenericStore( reducerKey, namespace );\n\t\treturn namespace.store;\n\t};\n\n\t//\n\t// Deprecated\n\t//\n\tregistry.registerActions = ( reducerKey, actions ) => {\n\t\tdeprecated( 'registry.registerActions', {\n\t\t\talternative: 'registry.registerStore',\n\t\t\tplugin: 'Gutenberg',\n\t\t\tversion: '4.4.0',\n\t\t} );\n\n\t\tconst namespace = createNamespace( reducerKey, { actions }, registry );\n\t\tregisterGenericStore( reducerKey, namespace );\n\t};\n\n\t//\n\t// Deprecated\n\t//\n\tregistry.registerSelectors = ( reducerKey, selectors ) => {\n\t\tdeprecated( 'registry.registerSelectors', {\n\t\t\talternative: 'registry.registerStore',\n\t\t\tplugin: 'Gutenberg',\n\t\t\tversion: '4.4.0',\n\t\t} );\n\n\t\tconst namespace = createNamespace( reducerKey, { selectors }, registry );\n\t\tregisterGenericStore( reducerKey, namespace );\n\t};\n\n\t//\n\t// Deprecated\n\t//\n\tregistry.registerResolvers = ( reducerKey, resolvers ) => {\n\t\tdeprecated( 'registry.registerResolvers', {\n\t\t\talternative: 'registry.registerStore',\n\t\t\tplugin: 'Gutenberg',\n\t\t\tversion: '4.4.0',\n\t\t} );\n\n\t\tconst namespace = createNamespace( reducerKey, { resolvers }, registry );\n\t\tregisterGenericStore( reducerKey, namespace );\n\t};\n\n\t/**\n\t * Registers a standard `@wordpress/data` store.\n\t *\n\t * @param {string} reducerKey Reducer key.\n\t * @param {Object} options Store description (reducer, actions, selectors, resolvers).\n\t *\n\t * @return {Object} Registered store object.\n\t */\n\tregistry.registerStore = ( reducerKey, options ) => {\n\t\tif ( ! options.reducer ) {\n\t\t\tthrow new TypeError( 'Must specify store reducer' );\n\t\t}\n\n\t\tconst namespace = createNamespace( reducerKey, options, registry );\n\t\tregisterGenericStore( reducerKey, namespace );\n\t\treturn namespace.store;\n\t};\n\n\t//\n\t// TODO:\n\t// This function will be deprecated as soon as it is no longer internally referenced.\n\t//\n\tfunction use( plugin, options ) {\n\t\tregistry = {\n\t\t\t...registry,\n\t\t\t...plugin( registry, options ),\n\t\t};\n\n\t\treturn registry;\n\t}\n\n\tObject.entries( {\n\t\t'core/data': dataStore,\n\t\t...storeConfigs,\n\t} ).map( ( [ name, config ] ) => registry.registerStore( name, config ) );\n\n\treturn withPlugins( registry );\n}\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * creates a middleware handling resolvers cache invalidation.\n *\n * @param {Object} registry\n * @param {string} reducerKey\n *\n * @return {function} middleware\n */\nconst createResolversCacheMiddleware = ( registry, reducerKey ) => () => ( next ) => ( action ) => {\n\tconst resolvers = registry.select( 'core/data' ).getCachedResolvers( reducerKey );\n\tObject.entries( resolvers ).forEach( ( [ selectorName, resolversByArgs ] ) => {\n\t\tconst resolver = get( registry.namespaces, [ reducerKey, 'resolvers', selectorName ] );\n\t\tif ( ! resolver || ! resolver.shouldInvalidate ) {\n\t\t\treturn;\n\t\t}\n\t\tresolversByArgs.forEach( ( value, args ) => {\n\t\t\t// resolversByArgs is the map Map([ args ] => boolean) storing the cache resolution status for a given selector.\n\t\t\t// If the value is false it means this resolver has finished its resolution which means we need to invalidate it,\n\t\t\t// if it's true it means it's inflight and the invalidation is not necessary.\n\t\t\tif ( value !== false || ! resolver.shouldInvalidate( action, ...args ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Trigger cache invalidation\n\t\t\tregistry.dispatch( 'core/data' ).invalidateResolution( reducerKey, selectorName, args );\n\t\t} );\n\t} );\n\tnext( action );\n};\n\nexport default createResolversCacheMiddleware;\n","/**\n * Returns an action object used in signalling that selector resolution has\n * started.\n *\n * @param {string} reducerKey Registered store reducer key.\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {...*} args Arguments to associate for uniqueness.\n *\n * @return {Object} Action object.\n */\nexport function startResolution( reducerKey, selectorName, args ) {\n\treturn {\n\t\ttype: 'START_RESOLUTION',\n\t\treducerKey,\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that selector resolution has\n * completed.\n *\n * @param {string} reducerKey Registered store reducer key.\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {...*} args Arguments to associate for uniqueness.\n *\n * @return {Object} Action object.\n */\nexport function finishResolution( reducerKey, selectorName, args ) {\n\treturn {\n\t\ttype: 'FINISH_RESOLUTION',\n\t\treducerKey,\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that we should invalidate the resolution cache.\n *\n * @param {string} reducerKey Registered store reducer key.\n * @param {string} selectorName Name of selector for which resolver should be invalidated.\n * @param {Array} args Arguments to associate for uniqueness.\n *\n * @return {Object} Action object.\n */\nexport function invalidateResolution( reducerKey, selectorName, args ) {\n\treturn {\n\t\ttype: 'INVALIDATE_RESOLUTION',\n\t\treducerKey,\n\t\tselectorName,\n\t\targs,\n\t};\n}\n","/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as selectors from './selectors';\nimport * as actions from './actions';\n\nexport default {\n\treducer,\n\tactions,\n\tselectors,\n};\n","/**\n * External dependencies\n */\nimport { flowRight } from 'lodash';\nimport EquivalentKeyMap from 'equivalent-key-map';\n\n/**\n * Internal dependencies\n */\nimport { onSubKey } from './utils';\n\n/**\n * Reducer function returning next state for selector resolution, object form:\n *\n * reducerKey -> selectorName -> EquivalentKeyMap<Array,boolean>\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @returns {Object} Next state.\n */\nconst isResolved = flowRight( [\n\tonSubKey( 'reducerKey' ),\n\tonSubKey( 'selectorName' ),\n] )( ( state = new EquivalentKeyMap(), action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'START_RESOLUTION':\n\t\tcase 'FINISH_RESOLUTION': {\n\t\t\tconst isStarting = action.type === 'START_RESOLUTION';\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.set( action.args, isStarting );\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'INVALIDATE_RESOLUTION': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.delete( action.args );\n\t\t\treturn nextState;\n\t\t}\n\t}\n\n\treturn state;\n} );\n\nexport default isResolved;\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * Returns the raw `isResolving` value for a given reducer key, selector name,\n * and arguments set. May be undefined if the selector has never been resolved\n * or not resolved for the given set of arguments, otherwise true or false for\n * resolution started and completed respectively.\n *\n * @param {Object} state Data state.\n * @param {string} reducerKey Registered store reducer key.\n * @param {string} selectorName Selector name.\n * @param {Array} args Arguments passed to selector.\n *\n * @return {?boolean} isResolving value.\n */\nexport function getIsResolving( state, reducerKey, selectorName, args ) {\n\tconst map = get( state, [ reducerKey, selectorName ] );\n\tif ( ! map ) {\n\t\treturn;\n\t}\n\n\treturn map.get( args );\n}\n\n/**\n * Returns true if resolution has already been triggered for a given reducer\n * key, selector name, and arguments set.\n *\n * @param {Object} state Data state.\n * @param {string} reducerKey Registered store reducer key.\n * @param {string} selectorName Selector name.\n * @param {?Array} args Arguments passed to selector (default `[]`).\n *\n * @return {boolean} Whether resolution has been triggered.\n */\nexport function hasStartedResolution( state, reducerKey, selectorName, args = [] ) {\n\treturn getIsResolving( state, reducerKey, selectorName, args ) !== undefined;\n}\n\n/**\n * Returns true if resolution has completed for a given reducer key, selector\n * name, and arguments set.\n *\n * @param {Object} state Data state.\n * @param {string} reducerKey Registered store reducer key.\n * @param {string} selectorName Selector name.\n * @param {?Array} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution has completed.\n */\nexport function hasFinishedResolution( state, reducerKey, selectorName, args = [] ) {\n\treturn getIsResolving( state, reducerKey, selectorName, args ) === false;\n}\n\n/**\n * Returns true if resolution has been triggered but has not yet completed for\n * a given reducer key, selector name, and arguments set.\n *\n * @param {Object} state Data state.\n * @param {string} reducerKey Registered store reducer key.\n * @param {string} selectorName Selector name.\n * @param {?Array} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution is in progress.\n */\nexport function isResolving( state, reducerKey, selectorName, args = [] ) {\n\treturn getIsResolving( state, reducerKey, selectorName, args ) === true;\n}\n\n/**\n * Returns the list of the cached resolvers.\n *\n * @param {Object} state Data state.\n * @param {string} reducerKey Registered store reducer key.\n *\n * @return {Object} Resolvers mapped by args and selectorName.\n */\nexport function getCachedResolvers( state, reducerKey ) {\n\treturn state.hasOwnProperty( reducerKey ) ? state[ reducerKey ] : {};\n}\n","/**\n * Higher-order reducer creator which creates a combined reducer object, keyed\n * by a property on the action object.\n *\n * @param {string} actionProperty Action property by which to key object.\n *\n * @return {Function} Higher-order reducer.\n */\nexport const onSubKey = ( actionProperty ) => ( reducer ) => ( state = {}, action ) => {\n\t// Retrieve subkey from action. Do not track if undefined; useful for cases\n\t// where reducer is scoped by action shape.\n\tconst key = action[ actionProperty ];\n\tif ( key === undefined ) {\n\t\treturn state;\n\t}\n\n\t// Avoid updating state if unchanged. Note that this also accounts for a\n\t// reducer which returns undefined on a key which is not yet tracked.\n\tconst nextKeyState = reducer( state[ key ], action );\n\tif ( nextKeyState === state[ key ] ) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\t...state,\n\t\t[ key ]: nextKeyState,\n\t};\n};\n","'use strict';\n\nfunction _typeof(obj) {\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\n/**\n * Given an instance of EquivalentKeyMap, returns its internal value pair tuple\n * for a key, if one exists. The tuple members consist of the last reference\n * value for the key (used in efficient subsequent lookups) and the value\n * assigned for the key at the leaf node.\n *\n * @param {EquivalentKeyMap} instance EquivalentKeyMap instance.\n * @param {*} key The key for which to return value pair.\n *\n * @return {?Array} Value pair, if exists.\n */\nfunction getValuePair(instance, key) {\n var _map = instance._map,\n _arrayTreeMap = instance._arrayTreeMap,\n _objectTreeMap = instance._objectTreeMap; // Map keeps a reference to the last object-like key used to set the\n // value, which can be used to shortcut immediately to the value.\n\n if (_map.has(key)) {\n return _map.get(key);\n } // Sort keys to ensure stable retrieval from tree.\n\n\n var properties = Object.keys(key).sort(); // Tree by type to avoid conflicts on numeric object keys, empty value.\n\n var map = Array.isArray(key) ? _arrayTreeMap : _objectTreeMap;\n\n for (var i = 0; i < properties.length; i++) {\n var property = properties[i];\n map = map.get(property);\n\n if (map === undefined) {\n return;\n }\n\n var propertyValue = key[property];\n map = map.get(propertyValue);\n\n if (map === undefined) {\n return;\n }\n }\n\n var valuePair = map.get('_ekm_value');\n\n if (!valuePair) {\n return;\n } // If reached, it implies that an object-like key was set with another\n // reference, so delete the reference and replace with the current.\n\n\n _map.delete(valuePair[0]);\n\n valuePair[0] = key;\n map.set('_ekm_value', valuePair);\n\n _map.set(key, valuePair);\n\n return valuePair;\n}\n/**\n * Variant of a Map object which enables lookup by equivalent (deeply equal)\n * object and array keys.\n */\n\n\nvar EquivalentKeyMap =\n/*#__PURE__*/\nfunction () {\n /**\n * Constructs a new instance of EquivalentKeyMap.\n *\n * @param {Iterable.<*>} iterable Initial pair of key, value for map.\n */\n function EquivalentKeyMap(iterable) {\n _classCallCheck(this, EquivalentKeyMap);\n\n this.clear();\n\n if (iterable instanceof EquivalentKeyMap) {\n // Map#forEach is only means of iterating with support for IE11.\n var iterablePairs = [];\n iterable.forEach(function (value, key) {\n iterablePairs.push([key, value]);\n });\n iterable = iterablePairs;\n }\n\n if (iterable != null) {\n for (var i = 0; i < iterable.length; i++) {\n this.set(iterable[i][0], iterable[i][1]);\n }\n }\n }\n /**\n * Accessor property returning the number of elements.\n *\n * @return {number} Number of elements.\n */\n\n\n _createClass(EquivalentKeyMap, [{\n key: \"set\",\n\n /**\n * Add or update an element with a specified key and value.\n *\n * @param {*} key The key of the element to add.\n * @param {*} value The value of the element to add.\n *\n * @return {EquivalentKeyMap} Map instance.\n */\n value: function set(key, value) {\n // Shortcut non-object-like to set on internal Map.\n if (key === null || _typeof(key) !== 'object') {\n this._map.set(key, value);\n\n return this;\n } // Sort keys to ensure stable assignment into tree.\n\n\n var properties = Object.keys(key).sort();\n var valuePair = [key, value]; // Tree by type to avoid conflicts on numeric object keys, empty value.\n\n var map = Array.isArray(key) ? this._arrayTreeMap : this._objectTreeMap;\n\n for (var i = 0; i < properties.length; i++) {\n var property = properties[i];\n\n if (!map.has(property)) {\n map.set(property, new EquivalentKeyMap());\n }\n\n map = map.get(property);\n var propertyValue = key[property];\n\n if (!map.has(propertyValue)) {\n map.set(propertyValue, new EquivalentKeyMap());\n }\n\n map = map.get(propertyValue);\n } // If an _ekm_value exists, there was already an equivalent key. Before\n // overriding, ensure that the old key reference is removed from map to\n // avoid memory leak of accumulating equivalent keys. This is, in a\n // sense, a poor man's WeakMap, while still enabling iterability.\n\n\n var previousValuePair = map.get('_ekm_value');\n\n if (previousValuePair) {\n this._map.delete(previousValuePair[0]);\n }\n\n map.set('_ekm_value', valuePair);\n\n this._map.set(key, valuePair);\n\n return this;\n }\n /**\n * Returns a specified element.\n *\n * @param {*} key The key of the element to return.\n *\n * @return {?*} The element associated with the specified key or undefined\n * if the key can't be found.\n */\n\n }, {\n key: \"get\",\n value: function get(key) {\n // Shortcut non-object-like to get from internal Map.\n if (key === null || _typeof(key) !== 'object') {\n return this._map.get(key);\n }\n\n var valuePair = getValuePair(this, key);\n\n if (valuePair) {\n return valuePair[1];\n }\n }\n /**\n * Returns a boolean indicating whether an element with the specified key\n * exists or not.\n *\n * @param {*} key The key of the element to test for presence.\n *\n * @return {boolean} Whether an element with the specified key exists.\n */\n\n }, {\n key: \"has\",\n value: function has(key) {\n if (key === null || _typeof(key) !== 'object') {\n return this._map.has(key);\n } // Test on the _presence_ of the pair, not its value, as even undefined\n // can be a valid member value for a key.\n\n\n return getValuePair(this, key) !== undefined;\n }\n /**\n * Removes the specified element.\n *\n * @param {*} key The key of the element to remove.\n *\n * @return {boolean} Returns true if an element existed and has been\n * removed, or false if the element does not exist.\n */\n\n }, {\n key: \"delete\",\n value: function _delete(key) {\n if (!this.has(key)) {\n return false;\n } // This naive implementation will leave orphaned child trees. A better\n // implementation should traverse and remove orphans.\n\n\n this.set(key, undefined);\n return true;\n }\n /**\n * Executes a provided function once per each key/value pair, in insertion\n * order.\n *\n * @param {Function} callback Function to execute for each element.\n * @param {*} thisArg Value to use as `this` when executing\n * `callback`.\n */\n\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n var _this = this;\n\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this;\n\n this._map.forEach(function (value, key) {\n // Unwrap value from object-like value pair.\n if (key !== null && _typeof(key) === 'object') {\n value = value[1];\n }\n\n callback.call(thisArg, value, key, _this);\n });\n }\n /**\n * Removes all elements.\n */\n\n }, {\n key: \"clear\",\n value: function clear() {\n this._map = new Map();\n this._arrayTreeMap = new Map();\n this._objectTreeMap = new Map();\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._map.size;\n }\n }]);\n\n return EquivalentKeyMap;\n}();\n\nmodule.exports = EquivalentKeyMap;\n","module.exports = isPromise;\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\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 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#subscribe(listener) 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#subscribe(listener) for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\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;\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);\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 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 a single function as the first argument,\n * and get a 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 keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\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 _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\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 _objectSpread({}, 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 { createStore, combineReducers, bindActionCreators, applyMiddleware, compose, ActionTypes as __DO_NOT_USE__ActionTypes };\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\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 combineReducers( reducers ) {\n\tvar keys = Object.keys( reducers ),\n\t\tgetNextState;\n\n\tgetNextState = ( function() {\n\t\tvar fn, i, key;\n\n\t\tfn = 'return {';\n\t\tfor ( i = 0; i < keys.length; i++ ) {\n\t\t\t// Rely on Quoted escaping of JSON.stringify with guarantee that\n\t\t\t// each member of Object.keys is a string.\n\t\t\t//\n\t\t\t// \"If Type(value) is String, then return the result of calling the\n\t\t\t// abstract operation Quote with argument value. [...] The abstract\n\t\t\t// operation Quote(value) wraps a String value in double quotes and\n\t\t\t// escapes characters within it.\"\n\t\t\t//\n\t\t\t// https://www.ecma-international.org/ecma-262/5.1/#sec-15.12.3\n\t\t\tkey = JSON.stringify( keys[ i ] );\n\n\t\t\tfn += key + ':r[' + key + '](s[' + key + '],a),';\n\t\t}\n\t\tfn += '}';\n\n\t\treturn new Function( 'r,s,a', fn );\n\t} )();\n\n\treturn function combinedReducer( state, action ) {\n\t\tvar nextState, i, key;\n\n\t\t// Assumed changed if initial state.\n\t\tif ( state === undefined ) {\n\t\t\treturn getNextState( reducers, {}, action );\n\t\t}\n\n\t\tnextState = getNextState( reducers, state, action );\n\n\t\t// Determine whether state has changed.\n\t\ti = keys.length;\n\t\twhile ( i-- ) {\n\t\t\tkey = keys[ i ];\n\t\t\tif ( state[ key ] !== nextState[ key ] ) {\n\t\t\t\t// Return immediately if a changed value is encountered.\n\t\t\t\treturn nextState;\n\t\t\t}\n\t\t}\n\n\t\treturn state;\n\t};\n}\n\nmodule.exports = combineReducers;\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 || Function(\"return this\")() || (1, eval)(\"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","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","(function() { module.exports = this[\"wp\"][\"compose\"]; }());","(function() { module.exports = this[\"wp\"][\"deprecated\"]; }());","(function() { module.exports = this[\"wp\"][\"element\"]; }());","(function() { module.exports = this[\"wp\"][\"isShallowEqual\"]; }());","(function() { module.exports = this[\"wp\"][\"reduxRoutine\"]; }());","(function() { module.exports = this[\"lodash\"]; }());"],"sourceRoot":""} |