/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../node_modules/@babel/runtime/helpers/esm/defineProperty.js": /*!********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! \********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _defineProperty) /* harmony export */ }); /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); function _defineProperty(e, r, t) { return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/extends.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/extends.js ***! \*************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _extends) /* harmony export */ }); function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/objectSpread2.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/objectSpread2.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _objectSpread2) /* harmony export */ }); /* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defineProperty.js */ "../node_modules/@babel/runtime/helpers/esm/defineProperty.js"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js": /*!**********************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js ***! \**********************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _objectWithoutPropertiesLoose) /* harmony export */ }); function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/toPrimitive.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! \*****************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPrimitive) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/esm/typeof.js"); function toPrimitive(t, r) { if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPropertyKey) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/esm/typeof.js"); /* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); function toPropertyKey(t) { var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + ""; } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/typeof.js": /*!************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/typeof.js ***! \************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _typeof) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(o) { "@babel/helpers - typeof"; return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js": /*!******************************************************************!*\ !*** ../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ EnhancerArray: () => (/* binding */ EnhancerArray), /* harmony export */ MiddlewareArray: () => (/* binding */ MiddlewareArray), /* harmony export */ SHOULD_AUTOBATCH: () => (/* binding */ SHOULD_AUTOBATCH), /* harmony export */ TaskAbortError: () => (/* binding */ TaskAbortError), /* harmony export */ __DO_NOT_USE__ActionTypes: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_1__.__DO_NOT_USE__ActionTypes), /* harmony export */ addListener: () => (/* binding */ addListener), /* harmony export */ applyMiddleware: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_1__.applyMiddleware), /* harmony export */ autoBatchEnhancer: () => (/* binding */ autoBatchEnhancer), /* harmony export */ bindActionCreators: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_1__.bindActionCreators), /* harmony export */ clearAllListeners: () => (/* binding */ clearAllListeners), /* harmony export */ combineReducers: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_1__.combineReducers), /* harmony export */ compose: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_1__.compose), /* harmony export */ configureStore: () => (/* binding */ configureStore), /* harmony export */ createAction: () => (/* binding */ createAction), /* harmony export */ createActionCreatorInvariantMiddleware: () => (/* binding */ createActionCreatorInvariantMiddleware), /* harmony export */ createAsyncThunk: () => (/* binding */ createAsyncThunk), /* harmony export */ createDraftSafeSelector: () => (/* binding */ createDraftSafeSelector), /* harmony export */ createEntityAdapter: () => (/* binding */ createEntityAdapter), /* harmony export */ createImmutableStateInvariantMiddleware: () => (/* binding */ createImmutableStateInvariantMiddleware), /* harmony export */ createListenerMiddleware: () => (/* binding */ createListenerMiddleware), /* harmony export */ createNextState: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_0__["default"]), /* harmony export */ createReducer: () => (/* binding */ createReducer), /* harmony export */ createSelector: () => (/* reexport safe */ reselect__WEBPACK_IMPORTED_MODULE_2__.createSelector), /* harmony export */ createSerializableStateInvariantMiddleware: () => (/* binding */ createSerializableStateInvariantMiddleware), /* harmony export */ createSlice: () => (/* binding */ createSlice), /* harmony export */ createStore: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_1__.createStore), /* harmony export */ current: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_0__.current), /* harmony export */ findNonSerializableValue: () => (/* binding */ findNonSerializableValue), /* harmony export */ freeze: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_0__.freeze), /* harmony export */ getDefaultMiddleware: () => (/* binding */ getDefaultMiddleware), /* harmony export */ getType: () => (/* binding */ getType), /* harmony export */ isAction: () => (/* binding */ isAction), /* harmony export */ isActionCreator: () => (/* binding */ isActionCreator), /* harmony export */ isAllOf: () => (/* binding */ isAllOf), /* harmony export */ isAnyOf: () => (/* binding */ isAnyOf), /* harmony export */ isAsyncThunkAction: () => (/* binding */ isAsyncThunkAction), /* harmony export */ isDraft: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_0__.isDraft), /* harmony export */ isFluxStandardAction: () => (/* binding */ isFSA), /* harmony export */ isFulfilled: () => (/* binding */ isFulfilled), /* harmony export */ isImmutableDefault: () => (/* binding */ isImmutableDefault), /* harmony export */ isPending: () => (/* binding */ isPending), /* harmony export */ isPlain: () => (/* binding */ isPlain), /* harmony export */ isPlainObject: () => (/* binding */ isPlainObject), /* harmony export */ isRejected: () => (/* binding */ isRejected), /* harmony export */ isRejectedWithValue: () => (/* binding */ isRejectedWithValue), /* harmony export */ legacy_createStore: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_1__.legacy_createStore), /* harmony export */ miniSerializeError: () => (/* binding */ miniSerializeError), /* harmony export */ nanoid: () => (/* binding */ nanoid), /* harmony export */ original: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_0__.original), /* harmony export */ prepareAutoBatched: () => (/* binding */ prepareAutoBatched), /* harmony export */ removeListener: () => (/* binding */ removeListener), /* harmony export */ unwrapResult: () => (/* binding */ unwrapResult) /* harmony export */ }); /* harmony import */ var immer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! immer */ "../node_modules/immer/dist/immer.esm.mjs"); /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux */ "../node_modules/redux/es/redux.js"); /* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reselect */ "../node_modules/reselect/es/index.js"); /* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux-thunk */ "../node_modules/redux-thunk/es/index.js"); var __extends = (undefined && undefined.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __generator = (undefined && undefined.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) { for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i]; return to; }; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; }; var __spreadValues = function (a, b) { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) { var prop = _c[_i]; if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); }; var __async = function (__this, __arguments, generator) { return new Promise(function (resolve, reject) { var fulfilled = function (value) { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = function (value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); }; step((generator = generator.apply(__this, __arguments)).next()); }); }; // src/index.ts // src/createDraftSafeSelector.ts var createDraftSafeSelector = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var selector = reselect__WEBPACK_IMPORTED_MODULE_2__.createSelector.apply(void 0, args); var wrappedSelector = function (value) { var rest = []; for (var _i = 1; _i < arguments.length; _i++) { rest[_i - 1] = arguments[_i]; } return selector.apply(void 0, __spreadArray([(0,immer__WEBPACK_IMPORTED_MODULE_0__.isDraft)(value) ? (0,immer__WEBPACK_IMPORTED_MODULE_0__.current)(value) : value], rest)); }; return wrappedSelector; }; // src/configureStore.ts // src/devtoolsExtension.ts var composeWithDevTools = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () { if (arguments.length === 0) return void 0; if (typeof arguments[0] === "object") return redux__WEBPACK_IMPORTED_MODULE_1__.compose; return redux__WEBPACK_IMPORTED_MODULE_1__.compose.apply(null, arguments); }; var devToolsEnhancer = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () { return function (noop2) { return noop2; }; }; // src/isPlainObject.ts function isPlainObject(value) { if (typeof value !== "object" || value === null) return false; var proto = Object.getPrototypeOf(value); if (proto === null) return true; var baseProto = proto; while (Object.getPrototypeOf(baseProto) !== null) { baseProto = Object.getPrototypeOf(baseProto); } return proto === baseProto; } // src/getDefaultMiddleware.ts // src/tsHelpers.ts var hasMatchFunction = function (v) { return v && typeof v.match === "function"; }; // src/createAction.ts function createAction(type, prepareAction) { function actionCreator() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (prepareAction) { var prepared = prepareAction.apply(void 0, args); if (!prepared) { throw new Error("prepareAction did not return an object"); } return __spreadValues(__spreadValues({ type: type, payload: prepared.payload }, "meta" in prepared && { meta: prepared.meta }), "error" in prepared && { error: prepared.error }); } return { type: type, payload: args[0] }; } actionCreator.toString = function () { return "" + type; }; actionCreator.type = type; actionCreator.match = function (action) { return action.type === type; }; return actionCreator; } function isAction(action) { return isPlainObject(action) && "type" in action; } function isActionCreator(action) { return typeof action === "function" && "type" in action && hasMatchFunction(action); } function isFSA(action) { return isAction(action) && typeof action.type === "string" && Object.keys(action).every(isValidKey); } function isValidKey(key) { return ["type", "payload", "error", "meta"].indexOf(key) > -1; } function getType(actionCreator) { return "" + actionCreator; } // src/actionCreatorInvariantMiddleware.ts function getMessage(type) { var splitType = type ? ("" + type).split("/") : []; var actionName = splitType[splitType.length - 1] || "actionCreator"; return "Detected an action creator with type \"" + (type || "unknown") + "\" being dispatched. \nMake sure you're calling the action creator before dispatching, i.e. `dispatch(" + actionName + "())` instead of `dispatch(" + actionName + ")`. This is necessary even if the action has no payload."; } function createActionCreatorInvariantMiddleware(options) { if (options === void 0) { options = {}; } if (false) // removed by dead control flow {} var _c = options.isActionCreator, isActionCreator2 = _c === void 0 ? isActionCreator : _c; return function () { return function (next) { return function (action) { if (isActionCreator2(action)) { console.warn(getMessage(action.type)); } return next(action); }; }; }; } // src/utils.ts function getTimeMeasureUtils(maxDelay, fnName) { var elapsed = 0; return { measureTime: function (fn) { var started = Date.now(); try { return fn(); } finally { var finished = Date.now(); elapsed += finished - started; } }, warnIfExceeded: function () { if (elapsed > maxDelay) { console.warn(fnName + " took " + elapsed + "ms, which is more than the warning threshold of " + maxDelay + "ms. \nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\nIt is disabled in production builds, so you don't need to worry about that."); } } }; } var MiddlewareArray = /** @class */ (function (_super) { __extends(MiddlewareArray, _super); function MiddlewareArray() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var _this = _super.apply(this, args) || this; Object.setPrototypeOf(_this, MiddlewareArray.prototype); return _this; } Object.defineProperty(MiddlewareArray, Symbol.species, { get: function () { return MiddlewareArray; }, enumerable: false, configurable: true }); MiddlewareArray.prototype.concat = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } return _super.prototype.concat.apply(this, arr); }; MiddlewareArray.prototype.prepend = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } if (arr.length === 1 && Array.isArray(arr[0])) { return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))(); } return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))(); }; return MiddlewareArray; }(Array)); var EnhancerArray = /** @class */ (function (_super) { __extends(EnhancerArray, _super); function EnhancerArray() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var _this = _super.apply(this, args) || this; Object.setPrototypeOf(_this, EnhancerArray.prototype); return _this; } Object.defineProperty(EnhancerArray, Symbol.species, { get: function () { return EnhancerArray; }, enumerable: false, configurable: true }); EnhancerArray.prototype.concat = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } return _super.prototype.concat.apply(this, arr); }; EnhancerArray.prototype.prepend = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } if (arr.length === 1 && Array.isArray(arr[0])) { return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr[0].concat(this))))(); } return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr.concat(this))))(); }; return EnhancerArray; }(Array)); function freezeDraftable(val) { return (0,immer__WEBPACK_IMPORTED_MODULE_0__.isDraftable)(val) ? (0,immer__WEBPACK_IMPORTED_MODULE_0__["default"])(val, function () { }) : val; } // src/immutableStateInvariantMiddleware.ts var isProduction = "development" === "production"; var prefix = "Invariant failed"; function invariant(condition, message) { if (condition) { return; } if (isProduction) { throw new Error(prefix); } throw new Error(prefix + ": " + (message || "")); } function stringify(obj, serializer, indent, decycler) { return JSON.stringify(obj, getSerialize(serializer, decycler), indent); } function getSerialize(serializer, decycler) { var stack = [], keys = []; if (!decycler) decycler = function (_, value) { if (stack[0] === value) return "[Circular ~]"; return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]"; }; return function (key, value) { if (stack.length > 0) { var thisPos = stack.indexOf(this); ~thisPos ? stack.splice(thisPos + 1) : stack.push(this); ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key); if (~stack.indexOf(value)) value = decycler.call(this, key, value); } else stack.push(value); return serializer == null ? value : serializer.call(this, key, value); }; } function isImmutableDefault(value) { return typeof value !== "object" || value == null || Object.isFrozen(value); } function trackForMutations(isImmutable, ignorePaths, obj) { var trackedProperties = trackProperties(isImmutable, ignorePaths, obj); return { detectMutations: function () { return detectMutations(isImmutable, ignorePaths, trackedProperties, obj); } }; } function trackProperties(isImmutable, ignorePaths, obj, path, checkedObjects) { if (ignorePaths === void 0) { ignorePaths = []; } if (path === void 0) { path = ""; } if (checkedObjects === void 0) { checkedObjects = new Set(); } var tracked = { value: obj }; if (!isImmutable(obj) && !checkedObjects.has(obj)) { checkedObjects.add(obj); tracked.children = {}; for (var key in obj) { var childPath = path ? path + "." + key : key; if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) { continue; } tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath); } } return tracked; } function detectMutations(isImmutable, ignoredPaths, trackedProperty, obj, sameParentRef, path) { if (ignoredPaths === void 0) { ignoredPaths = []; } if (sameParentRef === void 0) { sameParentRef = false; } if (path === void 0) { path = ""; } var prevObj = trackedProperty ? trackedProperty.value : void 0; var sameRef = prevObj === obj; if (sameParentRef && !sameRef && !Number.isNaN(obj)) { return { wasMutated: true, path: path }; } if (isImmutable(prevObj) || isImmutable(obj)) { return { wasMutated: false }; } var keysToDetect = {}; for (var key in trackedProperty.children) { keysToDetect[key] = true; } for (var key in obj) { keysToDetect[key] = true; } var hasIgnoredPaths = ignoredPaths.length > 0; var _loop_1 = function (key) { var nestedPath = path ? path + "." + key : key; if (hasIgnoredPaths) { var hasMatches = ignoredPaths.some(function (ignored) { if (ignored instanceof RegExp) { return ignored.test(nestedPath); } return nestedPath === ignored; }); if (hasMatches) { return "continue"; } } var result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath); if (result.wasMutated) { return { value: result }; } }; for (var key in keysToDetect) { var state_1 = _loop_1(key); if (typeof state_1 === "object") return state_1.value; } return { wasMutated: false }; } function createImmutableStateInvariantMiddleware(options) { if (options === void 0) { options = {}; } if (false) // removed by dead control flow {} var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore; ignoredPaths = ignoredPaths || ignore; var track = trackForMutations.bind(null, isImmutable, ignoredPaths); return function (_c) { var getState = _c.getState; var state = getState(); var tracker = track(state); var result; return function (next) { return function (action) { var measureUtils = getTimeMeasureUtils(warnAfter, "ImmutableStateInvariantMiddleware"); measureUtils.measureTime(function () { state = getState(); result = tracker.detectMutations(); tracker = track(state); invariant(!result.wasMutated, "A state mutation was detected between dispatches, in the path '" + (result.path || "") + "'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)"); }); var dispatchedAction = next(action); measureUtils.measureTime(function () { state = getState(); result = tracker.detectMutations(); tracker = track(state); result.wasMutated && invariant(!result.wasMutated, "A state mutation was detected inside a dispatch, in the path: " + (result.path || "") + ". Take a look at the reducer(s) handling the action " + stringify(action) + ". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)"); }); measureUtils.warnIfExceeded(); return dispatchedAction; }; }; }; } // src/serializableStateInvariantMiddleware.ts function isPlain(val) { var type = typeof val; return val == null || type === "string" || type === "boolean" || type === "number" || Array.isArray(val) || isPlainObject(val); } function findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths, cache) { if (path === void 0) { path = ""; } if (isSerializable === void 0) { isSerializable = isPlain; } if (ignoredPaths === void 0) { ignoredPaths = []; } var foundNestedSerializable; if (!isSerializable(value)) { return { keyPath: path || "", value: value }; } if (typeof value !== "object" || value === null) { return false; } if (cache == null ? void 0 : cache.has(value)) return false; var entries = getEntries != null ? getEntries(value) : Object.entries(value); var hasIgnoredPaths = ignoredPaths.length > 0; var _loop_2 = function (key, nestedValue) { var nestedPath = path ? path + "." + key : key; if (hasIgnoredPaths) { var hasMatches = ignoredPaths.some(function (ignored) { if (ignored instanceof RegExp) { return ignored.test(nestedPath); } return nestedPath === ignored; }); if (hasMatches) { return "continue"; } } if (!isSerializable(nestedValue)) { return { value: { keyPath: nestedPath, value: nestedValue } }; } if (typeof nestedValue === "object") { foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache); if (foundNestedSerializable) { return { value: foundNestedSerializable }; } } }; for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) { var _c = entries_1[_i], key = _c[0], nestedValue = _c[1]; var state_2 = _loop_2(key, nestedValue); if (typeof state_2 === "object") return state_2.value; } if (cache && isNestedFrozen(value)) cache.add(value); return false; } function isNestedFrozen(value) { if (!Object.isFrozen(value)) return false; for (var _i = 0, _c = Object.values(value); _i < _c.length; _i++) { var nestedValue = _c[_i]; if (typeof nestedValue !== "object" || nestedValue === null) continue; if (!isNestedFrozen(nestedValue)) return false; } return true; } function createSerializableStateInvariantMiddleware(options) { if (options === void 0) { options = {}; } if (false) // removed by dead control flow {} var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? ["meta.arg", "meta.baseQueryMeta"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j, _k = options.disableCache, disableCache = _k === void 0 ? false : _k; var cache = !disableCache && WeakSet ? new WeakSet() : void 0; return function (storeAPI) { return function (next) { return function (action) { var result = next(action); var measureUtils = getTimeMeasureUtils(warnAfter, "SerializableStateInvariantMiddleware"); if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) { measureUtils.measureTime(function () { var foundActionNonSerializableValue = findNonSerializableValue(action, "", isSerializable, getEntries, ignoredActionPaths, cache); if (foundActionNonSerializableValue) { var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value; console.error("A non-serializable value was detected in an action, in the path: `" + keyPath + "`. Value:", value, "\nTake a look at the logic that dispatched this action: ", action, "\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)", "\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)"); } }); } if (!ignoreState) { measureUtils.measureTime(function () { var state = storeAPI.getState(); var foundStateNonSerializableValue = findNonSerializableValue(state, "", isSerializable, getEntries, ignoredPaths, cache); if (foundStateNonSerializableValue) { var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value; console.error("A non-serializable value was detected in the state, in the path: `" + keyPath + "`. Value:", value, "\nTake a look at the reducer(s) handling this action type: " + action.type + ".\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)"); } }); measureUtils.warnIfExceeded(); } return result; }; }; }; } // src/getDefaultMiddleware.ts function isBoolean(x) { return typeof x === "boolean"; } function curryGetDefaultMiddleware() { return function curriedGetDefaultMiddleware(options) { return getDefaultMiddleware(options); }; } function getDefaultMiddleware(options) { if (options === void 0) { options = {}; } var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e, _f = options.actionCreatorCheck, actionCreatorCheck = _f === void 0 ? true : _f; var middlewareArray = new MiddlewareArray(); if (thunk) { if (isBoolean(thunk)) { middlewareArray.push(redux_thunk__WEBPACK_IMPORTED_MODULE_3__["default"]); } else { middlewareArray.push(redux_thunk__WEBPACK_IMPORTED_MODULE_3__["default"].withExtraArgument(thunk.extraArgument)); } } if (true) { if (immutableCheck) { var immutableOptions = {}; if (!isBoolean(immutableCheck)) { immutableOptions = immutableCheck; } middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions)); } if (serializableCheck) { var serializableOptions = {}; if (!isBoolean(serializableCheck)) { serializableOptions = serializableCheck; } middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions)); } if (actionCreatorCheck) { var actionCreatorOptions = {}; if (!isBoolean(actionCreatorCheck)) { actionCreatorOptions = actionCreatorCheck; } middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions)); } } return middlewareArray; } // src/configureStore.ts var IS_PRODUCTION = "development" === "production"; function configureStore(options) { var curriedGetDefaultMiddleware = curryGetDefaultMiddleware(); var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h; var rootReducer; if (typeof reducer === "function") { rootReducer = reducer; } else if (isPlainObject(reducer)) { rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_1__.combineReducers)(reducer); } else { throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'); } var finalMiddleware = middleware; if (typeof finalMiddleware === "function") { finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware); if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) { throw new Error("when using a middleware builder function, an array of middleware must be returned"); } } if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== "function"; })) { throw new Error("each middleware provided to configureStore must be a function"); } var middlewareEnhancer = redux__WEBPACK_IMPORTED_MODULE_1__.applyMiddleware.apply(void 0, finalMiddleware); var finalCompose = redux__WEBPACK_IMPORTED_MODULE_1__.compose; if (devTools) { finalCompose = composeWithDevTools(__spreadValues({ trace: !IS_PRODUCTION }, typeof devTools === "object" && devTools)); } var defaultEnhancers = new EnhancerArray(middlewareEnhancer); var storeEnhancers = defaultEnhancers; if (Array.isArray(enhancers)) { storeEnhancers = __spreadArray([middlewareEnhancer], enhancers); } else if (typeof enhancers === "function") { storeEnhancers = enhancers(defaultEnhancers); } var composedEnhancer = finalCompose.apply(void 0, storeEnhancers); return (0,redux__WEBPACK_IMPORTED_MODULE_1__.createStore)(rootReducer, preloadedState, composedEnhancer); } // src/createReducer.ts // src/mapBuilders.ts function executeReducerBuilderCallback(builderCallback) { var actionsMap = {}; var actionMatchers = []; var defaultCaseReducer; var builder = { addCase: function (typeOrActionCreator, reducer) { if (true) { if (actionMatchers.length > 0) { throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`"); } if (defaultCaseReducer) { throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`"); } } var type = typeof typeOrActionCreator === "string" ? typeOrActionCreator : typeOrActionCreator.type; if (!type) { throw new Error("`builder.addCase` cannot be called with an empty action type"); } if (type in actionsMap) { throw new Error("`builder.addCase` cannot be called with two reducers for the same action type"); } actionsMap[type] = reducer; return builder; }, addMatcher: function (matcher, reducer) { if (true) { if (defaultCaseReducer) { throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`"); } } actionMatchers.push({ matcher: matcher, reducer: reducer }); return builder; }, addDefaultCase: function (reducer) { if (true) { if (defaultCaseReducer) { throw new Error("`builder.addDefaultCase` can only be called once"); } } defaultCaseReducer = reducer; return builder; } }; builderCallback(builder); return [actionsMap, actionMatchers, defaultCaseReducer]; } // src/createReducer.ts function isStateFunction(x) { return typeof x === "function"; } var hasWarnedAboutObjectNotation = false; function createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) { if (actionMatchers === void 0) { actionMatchers = []; } if (true) { if (typeof mapOrBuilderCallback === "object") { if (!hasWarnedAboutObjectNotation) { hasWarnedAboutObjectNotation = true; console.warn("The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer"); } } } var _c = typeof mapOrBuilderCallback === "function" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2]; var getInitialState; if (isStateFunction(initialState)) { getInitialState = function () { return freezeDraftable(initialState()); }; } else { var frozenInitialState_1 = freezeDraftable(initialState); getInitialState = function () { return frozenInitialState_1; }; } function reducer(state, action) { if (state === void 0) { state = getInitialState(); } var caseReducers = __spreadArray([ actionsMap[action.type] ], finalActionMatchers.filter(function (_c) { var matcher = _c.matcher; return matcher(action); }).map(function (_c) { var reducer2 = _c.reducer; return reducer2; })); if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) { caseReducers = [finalDefaultCaseReducer]; } return caseReducers.reduce(function (previousState, caseReducer) { if (caseReducer) { if ((0,immer__WEBPACK_IMPORTED_MODULE_0__.isDraft)(previousState)) { var draft = previousState; var result = caseReducer(draft, action); if (result === void 0) { return previousState; } return result; } else if (!(0,immer__WEBPACK_IMPORTED_MODULE_0__.isDraftable)(previousState)) { var result = caseReducer(previousState, action); if (result === void 0) { if (previousState === null) { return previousState; } throw Error("A case reducer on a non-draftable value must not return undefined"); } return result; } else { return (0,immer__WEBPACK_IMPORTED_MODULE_0__["default"])(previousState, function (draft) { return caseReducer(draft, action); }); } } return previousState; }, state); } reducer.getInitialState = getInitialState; return reducer; } // src/createSlice.ts var hasWarnedAboutObjectNotation2 = false; function getType2(slice, actionKey) { return slice + "/" + actionKey; } function createSlice(options) { var name = options.name; if (!name) { throw new Error("`name` is a required option for createSlice"); } if (typeof process !== "undefined" && "development" === "development") { if (options.initialState === void 0) { console.error("You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`"); } } var initialState = typeof options.initialState == "function" ? options.initialState : freezeDraftable(options.initialState); var reducers = options.reducers || {}; var reducerNames = Object.keys(reducers); var sliceCaseReducersByName = {}; var sliceCaseReducersByType = {}; var actionCreators = {}; reducerNames.forEach(function (reducerName) { var maybeReducerWithPrepare = reducers[reducerName]; var type = getType2(name, reducerName); var caseReducer; var prepareCallback; if ("reducer" in maybeReducerWithPrepare) { caseReducer = maybeReducerWithPrepare.reducer; prepareCallback = maybeReducerWithPrepare.prepare; } else { caseReducer = maybeReducerWithPrepare; } sliceCaseReducersByName[reducerName] = caseReducer; sliceCaseReducersByType[type] = caseReducer; actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type); }); function buildReducer() { if (true) { if (typeof options.extraReducers === "object") { if (!hasWarnedAboutObjectNotation2) { hasWarnedAboutObjectNotation2 = true; console.warn("The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice"); } } } var _c = typeof options.extraReducers === "function" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f; var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType); return createReducer(initialState, function (builder) { for (var key in finalCaseReducers) { builder.addCase(key, finalCaseReducers[key]); } for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) { var m = actionMatchers_1[_i]; builder.addMatcher(m.matcher, m.reducer); } if (defaultCaseReducer) { builder.addDefaultCase(defaultCaseReducer); } }); } var _reducer; return { name: name, reducer: function (state, action) { if (!_reducer) _reducer = buildReducer(); return _reducer(state, action); }, actions: actionCreators, caseReducers: sliceCaseReducersByName, getInitialState: function () { if (!_reducer) _reducer = buildReducer(); return _reducer.getInitialState(); } }; } // src/entities/entity_state.ts function getInitialEntityState() { return { ids: [], entities: {} }; } function createInitialStateFactory() { function getInitialState(additionalState) { if (additionalState === void 0) { additionalState = {}; } return Object.assign(getInitialEntityState(), additionalState); } return { getInitialState: getInitialState }; } // src/entities/state_selectors.ts function createSelectorsFactory() { function getSelectors(selectState) { var selectIds = function (state) { return state.ids; }; var selectEntities = function (state) { return state.entities; }; var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); }); var selectId = function (_, id) { return id; }; var selectById = function (entities, id) { return entities[id]; }; var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; }); if (!selectState) { return { selectIds: selectIds, selectEntities: selectEntities, selectAll: selectAll, selectTotal: selectTotal, selectById: createDraftSafeSelector(selectEntities, selectId, selectById) }; } var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities); return { selectIds: createDraftSafeSelector(selectState, selectIds), selectEntities: selectGlobalizedEntities, selectAll: createDraftSafeSelector(selectState, selectAll), selectTotal: createDraftSafeSelector(selectState, selectTotal), selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById) }; } return { getSelectors: getSelectors }; } // src/entities/state_adapter.ts function createSingleArgumentStateOperator(mutator) { var operator = createStateOperator(function (_, state) { return mutator(state); }); return function operation(state) { return operator(state, void 0); }; } function createStateOperator(mutator) { return function operation(state, arg) { function isPayloadActionArgument(arg2) { return isFSA(arg2); } var runMutator = function (draft) { if (isPayloadActionArgument(arg)) { mutator(arg.payload, draft); } else { mutator(arg, draft); } }; if ((0,immer__WEBPACK_IMPORTED_MODULE_0__.isDraft)(state)) { runMutator(state); return state; } else { return (0,immer__WEBPACK_IMPORTED_MODULE_0__["default"])(state, runMutator); } }; } // src/entities/utils.ts function selectIdValue(entity, selectId) { var key = selectId(entity); if ( true && key === void 0) { console.warn("The entity passed to the `selectId` implementation returned undefined.", "You should probably provide your own `selectId` implementation.", "The entity that was passed:", entity, "The `selectId` implementation:", selectId.toString()); } return key; } function ensureEntitiesArray(entities) { if (!Array.isArray(entities)) { entities = Object.values(entities); } return entities; } function splitAddedUpdatedEntities(newEntities, selectId, state) { newEntities = ensureEntitiesArray(newEntities); var added = []; var updated = []; for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) { var entity = newEntities_1[_i]; var id = selectIdValue(entity, selectId); if (id in state.entities) { updated.push({ id: id, changes: entity }); } else { added.push(entity); } } return [added, updated]; } // src/entities/unsorted_state_adapter.ts function createUnsortedStateAdapter(selectId) { function addOneMutably(entity, state) { var key = selectIdValue(entity, selectId); if (key in state.entities) { return; } state.ids.push(key); state.entities[key] = entity; } function addManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) { var entity = newEntities_2[_i]; addOneMutably(entity, state); } } function setOneMutably(entity, state) { var key = selectIdValue(entity, selectId); if (!(key in state.entities)) { state.ids.push(key); } state.entities[key] = entity; } function setManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) { var entity = newEntities_3[_i]; setOneMutably(entity, state); } } function setAllMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); state.ids = []; state.entities = {}; addManyMutably(newEntities, state); } function removeOneMutably(key, state) { return removeManyMutably([key], state); } function removeManyMutably(keys, state) { var didMutate = false; keys.forEach(function (key) { if (key in state.entities) { delete state.entities[key]; didMutate = true; } }); if (didMutate) { state.ids = state.ids.filter(function (id) { return id in state.entities; }); } } function removeAllMutably(state) { Object.assign(state, { ids: [], entities: {} }); } function takeNewKey(keys, update, state) { var original2 = state.entities[update.id]; var updated = Object.assign({}, original2, update.changes); var newKey = selectIdValue(updated, selectId); var hasNewKey = newKey !== update.id; if (hasNewKey) { keys[update.id] = newKey; delete state.entities[update.id]; } state.entities[newKey] = updated; return hasNewKey; } function updateOneMutably(update, state) { return updateManyMutably([update], state); } function updateManyMutably(updates, state) { var newKeys = {}; var updatesPerEntity = {}; updates.forEach(function (update) { if (update.id in state.entities) { updatesPerEntity[update.id] = { id: update.id, changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes) }; } }); updates = Object.values(updatesPerEntity); var didMutateEntities = updates.length > 0; if (didMutateEntities) { var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0; if (didMutateIds) { state.ids = Object.keys(state.entities); } } } function upsertOneMutably(entity, state) { return upsertManyMutably([entity], state); } function upsertManyMutably(newEntities, state) { var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1]; updateManyMutably(updated, state); addManyMutably(added, state); } return { removeAll: createSingleArgumentStateOperator(removeAllMutably), addOne: createStateOperator(addOneMutably), addMany: createStateOperator(addManyMutably), setOne: createStateOperator(setOneMutably), setMany: createStateOperator(setManyMutably), setAll: createStateOperator(setAllMutably), updateOne: createStateOperator(updateOneMutably), updateMany: createStateOperator(updateManyMutably), upsertOne: createStateOperator(upsertOneMutably), upsertMany: createStateOperator(upsertManyMutably), removeOne: createStateOperator(removeOneMutably), removeMany: createStateOperator(removeManyMutably) }; } // src/entities/sorted_state_adapter.ts function createSortedStateAdapter(selectId, sort) { var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll; function addOneMutably(entity, state) { return addManyMutably([entity], state); } function addManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); }); if (models.length !== 0) { merge(models, state); } } function setOneMutably(entity, state) { return setManyMutably([entity], state); } function setManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); if (newEntities.length !== 0) { merge(newEntities, state); } } function setAllMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); state.entities = {}; state.ids = []; addManyMutably(newEntities, state); } function updateOneMutably(update, state) { return updateManyMutably([update], state); } function updateManyMutably(updates, state) { var appliedUpdates = false; for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) { var update = updates_1[_i]; var entity = state.entities[update.id]; if (!entity) { continue; } appliedUpdates = true; Object.assign(entity, update.changes); var newId = selectId(entity); if (update.id !== newId) { delete state.entities[update.id]; state.entities[newId] = entity; } } if (appliedUpdates) { resortEntities(state); } } function upsertOneMutably(entity, state) { return upsertManyMutably([entity], state); } function upsertManyMutably(newEntities, state) { var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1]; updateManyMutably(updated, state); addManyMutably(added, state); } function areArraysEqual(a, b) { if (a.length !== b.length) { return false; } for (var i = 0; i < a.length && i < b.length; i++) { if (a[i] === b[i]) { continue; } return false; } return true; } function merge(models, state) { models.forEach(function (model) { state.entities[selectId(model)] = model; }); resortEntities(state); } function resortEntities(state) { var allEntities = Object.values(state.entities); allEntities.sort(sort); var newSortedIds = allEntities.map(selectId); var ids = state.ids; if (!areArraysEqual(ids, newSortedIds)) { state.ids = newSortedIds; } } return { removeOne: removeOne, removeMany: removeMany, removeAll: removeAll, addOne: createStateOperator(addOneMutably), updateOne: createStateOperator(updateOneMutably), upsertOne: createStateOperator(upsertOneMutably), setOne: createStateOperator(setOneMutably), setMany: createStateOperator(setManyMutably), setAll: createStateOperator(setAllMutably), addMany: createStateOperator(addManyMutably), updateMany: createStateOperator(updateManyMutably), upsertMany: createStateOperator(upsertManyMutably) }; } // src/entities/create_adapter.ts function createEntityAdapter(options) { if (options === void 0) { options = {}; } var _c = __spreadValues({ sortComparer: false, selectId: function (instance) { return instance.id; } }, options), selectId = _c.selectId, sortComparer = _c.sortComparer; var stateFactory = createInitialStateFactory(); var selectorsFactory = createSelectorsFactory(); var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId); return __spreadValues(__spreadValues(__spreadValues({ selectId: selectId, sortComparer: sortComparer }, stateFactory), selectorsFactory), stateAdapter); } // src/nanoid.ts var urlAlphabet = "ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"; var nanoid = function (size) { if (size === void 0) { size = 21; } var id = ""; var i = size; while (i--) { id += urlAlphabet[Math.random() * 64 | 0]; } return id; }; // src/createAsyncThunk.ts var commonProperties = [ "name", "message", "stack", "code" ]; var RejectWithValue = /** @class */ (function () { function RejectWithValue(payload, meta) { this.payload = payload; this.meta = meta; } return RejectWithValue; }()); var FulfillWithMeta = /** @class */ (function () { function FulfillWithMeta(payload, meta) { this.payload = payload; this.meta = meta; } return FulfillWithMeta; }()); var miniSerializeError = function (value) { if (typeof value === "object" && value !== null) { var simpleError = {}; for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) { var property = commonProperties_1[_i]; if (typeof value[property] === "string") { simpleError[property] = value[property]; } } return simpleError; } return { message: String(value) }; }; var createAsyncThunk = (function () { function createAsyncThunk2(typePrefix, payloadCreator, options) { var fulfilled = createAction(typePrefix + "/fulfilled", function (payload, requestId, arg, meta) { return ({ payload: payload, meta: __spreadProps(__spreadValues({}, meta || {}), { arg: arg, requestId: requestId, requestStatus: "fulfilled" }) }); }); var pending = createAction(typePrefix + "/pending", function (requestId, arg, meta) { return ({ payload: void 0, meta: __spreadProps(__spreadValues({}, meta || {}), { arg: arg, requestId: requestId, requestStatus: "pending" }) }); }); var rejected = createAction(typePrefix + "/rejected", function (error, requestId, arg, payload, meta) { return ({ payload: payload, error: (options && options.serializeError || miniSerializeError)(error || "Rejected"), meta: __spreadProps(__spreadValues({}, meta || {}), { arg: arg, requestId: requestId, rejectedWithValue: !!payload, requestStatus: "rejected", aborted: (error == null ? void 0 : error.name) === "AbortError", condition: (error == null ? void 0 : error.name) === "ConditionError" }) }); }); var displayedWarning = false; var AC = typeof AbortController !== "undefined" ? AbortController : /** @class */ (function () { function class_1() { this.signal = { aborted: false, addEventListener: function () { }, dispatchEvent: function () { return false; }, onabort: function () { }, removeEventListener: function () { }, reason: void 0, throwIfAborted: function () { } }; } class_1.prototype.abort = function () { if (true) { if (!displayedWarning) { displayedWarning = true; console.info("This platform does not implement AbortController. \nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'."); } } }; return class_1; }()); function actionCreator(arg) { return function (dispatch, getState, extra) { var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid(); var abortController = new AC(); var abortReason; var started = false; function abort(reason) { abortReason = reason; abortController.abort(); } var promise2 = function () { return __async(this, null, function () { var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch; return __generator(this, function (_c) { switch (_c.label) { case 0: _c.trys.push([0, 4, , 5]); conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra }); if (!isThenable(conditionResult)) return [3 /*break*/, 2]; return [4 /*yield*/, conditionResult]; case 1: conditionResult = _c.sent(); _c.label = 2; case 2: if (conditionResult === false || abortController.signal.aborted) { throw { name: "ConditionError", message: "Aborted due to condition callback returning false." }; } started = true; abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener("abort", function () { return reject({ name: "AbortError", message: abortReason || "Aborted" }); }); }); dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra }))); return [4 /*yield*/, Promise.race([ abortedPromise, Promise.resolve(payloadCreator(arg, { dispatch: dispatch, getState: getState, extra: extra, requestId: requestId, signal: abortController.signal, abort: abort, rejectWithValue: function (value, meta) { return new RejectWithValue(value, meta); }, fulfillWithValue: function (value, meta) { return new FulfillWithMeta(value, meta); } })).then(function (result) { if (result instanceof RejectWithValue) { throw result; } if (result instanceof FulfillWithMeta) { return fulfilled(result.payload, requestId, arg, result.meta); } return fulfilled(result, requestId, arg); }) ])]; case 3: finalAction = _c.sent(); return [3 /*break*/, 5]; case 4: err_1 = _c.sent(); finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg); return [3 /*break*/, 5]; case 5: skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition; if (!skipDispatch) { dispatch(finalAction); } return [2 /*return*/, finalAction]; } }); }); }(); return Object.assign(promise2, { abort: abort, requestId: requestId, arg: arg, unwrap: function () { return promise2.then(unwrapResult); } }); }; } return Object.assign(actionCreator, { pending: pending, rejected: rejected, fulfilled: fulfilled, typePrefix: typePrefix }); } createAsyncThunk2.withTypes = function () { return createAsyncThunk2; }; return createAsyncThunk2; })(); function unwrapResult(action) { if (action.meta && action.meta.rejectedWithValue) { throw action.payload; } if (action.error) { throw action.error; } return action.payload; } function isThenable(value) { return value !== null && typeof value === "object" && typeof value.then === "function"; } // src/matchers.ts var matches = function (matcher, action) { if (hasMatchFunction(matcher)) { return matcher.match(action); } else { return matcher(action); } }; function isAnyOf() { var matchers = []; for (var _i = 0; _i < arguments.length; _i++) { matchers[_i] = arguments[_i]; } return function (action) { return matchers.some(function (matcher) { return matches(matcher, action); }); }; } function isAllOf() { var matchers = []; for (var _i = 0; _i < arguments.length; _i++) { matchers[_i] = arguments[_i]; } return function (action) { return matchers.every(function (matcher) { return matches(matcher, action); }); }; } function hasExpectedRequestMetadata(action, validStatus) { if (!action || !action.meta) return false; var hasValidRequestId = typeof action.meta.requestId === "string"; var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1; return hasValidRequestId && hasValidRequestStatus; } function isAsyncThunkArray(a) { return typeof a[0] === "function" && "pending" in a[0] && "fulfilled" in a[0] && "rejected" in a[0]; } function isPending() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["pending"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isPending()(asyncThunks[0]); } return function (action) { var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; }); var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } function isRejected() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["rejected"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isRejected()(asyncThunks[0]); } return function (action) { var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; }); var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } function isRejectedWithValue() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } var hasFlag = function (action) { return action && action.meta && action.meta.rejectedWithValue; }; if (asyncThunks.length === 0) { return function (action) { var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag); return combinedMatcher(action); }; } if (!isAsyncThunkArray(asyncThunks)) { return isRejectedWithValue()(asyncThunks[0]); } return function (action) { var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag); return combinedMatcher(action); }; } function isFulfilled() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["fulfilled"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isFulfilled()(asyncThunks[0]); } return function (action) { var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; }); var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } function isAsyncThunkAction() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["pending", "fulfilled", "rejected"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isAsyncThunkAction()(asyncThunks[0]); } return function (action) { var matchers = []; for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) { var asyncThunk = asyncThunks_1[_i]; matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled); } var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } // src/listenerMiddleware/utils.ts var assertFunction = function (func, expected) { if (typeof func !== "function") { throw new TypeError(expected + " is not a function"); } }; var noop = function () { }; var catchRejection = function (promise2, onError) { if (onError === void 0) { onError = noop; } promise2.catch(onError); return promise2; }; var addAbortSignalListener = function (abortSignal, callback) { abortSignal.addEventListener("abort", callback, { once: true }); return function () { return abortSignal.removeEventListener("abort", callback); }; }; var abortControllerWithReason = function (abortController, reason) { var signal = abortController.signal; if (signal.aborted) { return; } if (!("reason" in signal)) { Object.defineProperty(signal, "reason", { enumerable: true, value: reason, configurable: true, writable: true }); } ; abortController.abort(reason); }; // src/listenerMiddleware/exceptions.ts var task = "task"; var listener = "listener"; var completed = "completed"; var cancelled = "cancelled"; var taskCancelled = "task-" + cancelled; var taskCompleted = "task-" + completed; var listenerCancelled = listener + "-" + cancelled; var listenerCompleted = listener + "-" + completed; var TaskAbortError = /** @class */ (function () { function TaskAbortError(code) { this.code = code; this.name = "TaskAbortError"; this.message = task + " " + cancelled + " (reason: " + code + ")"; } return TaskAbortError; }()); // src/listenerMiddleware/task.ts var validateActive = function (signal) { if (signal.aborted) { throw new TaskAbortError(signal.reason); } }; function raceWithSignal(signal, promise2) { var cleanup = noop; return new Promise(function (resolve, reject) { var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); }; if (signal.aborted) { notifyRejection(); return; } cleanup = addAbortSignalListener(signal, notifyRejection); promise2.finally(function () { return cleanup(); }).then(resolve, reject); }).finally(function () { cleanup = noop; }); } var runTask = function (task2, cleanUp) { return __async(void 0, null, function () { var value, error_1; return __generator(this, function (_c) { switch (_c.label) { case 0: _c.trys.push([0, 3, 4, 5]); return [4 /*yield*/, Promise.resolve()]; case 1: _c.sent(); return [4 /*yield*/, task2()]; case 2: value = _c.sent(); return [2 /*return*/, { status: "ok", value: value }]; case 3: error_1 = _c.sent(); return [2 /*return*/, { status: error_1 instanceof TaskAbortError ? "cancelled" : "rejected", error: error_1 }]; case 4: cleanUp == null ? void 0 : cleanUp(); return [7 /*endfinally*/]; case 5: return [2 /*return*/]; } }); }); }; var createPause = function (signal) { return function (promise2) { return catchRejection(raceWithSignal(signal, promise2).then(function (output) { validateActive(signal); return output; })); }; }; var createDelay = function (signal) { var pause = createPause(signal); return function (timeoutMs) { return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); })); }; }; // src/listenerMiddleware/index.ts var assign = Object.assign; var INTERNAL_NIL_TOKEN = {}; var alm = "listenerMiddleware"; var createFork = function (parentAbortSignal, parentBlockingPromises) { var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); }; return function (taskExecutor, opts) { assertFunction(taskExecutor, "taskExecutor"); var childAbortController = new AbortController(); linkControllers(childAbortController); var result = runTask(function () { return __async(void 0, null, function () { var result2; return __generator(this, function (_c) { switch (_c.label) { case 0: validateActive(parentAbortSignal); validateActive(childAbortController.signal); return [4 /*yield*/, taskExecutor({ pause: createPause(childAbortController.signal), delay: createDelay(childAbortController.signal), signal: childAbortController.signal })]; case 1: result2 = _c.sent(); validateActive(childAbortController.signal); return [2 /*return*/, result2]; } }); }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); }); if (opts == null ? void 0 : opts.autoJoin) { parentBlockingPromises.push(result); } return { result: createPause(parentAbortSignal)(result), cancel: function () { abortControllerWithReason(childAbortController, taskCancelled); } }; }; }; var createTakePattern = function (startListening, signal) { var take = function (predicate, timeout) { return __async(void 0, null, function () { var unsubscribe, tuplePromise, promises, output; return __generator(this, function (_c) { switch (_c.label) { case 0: validateActive(signal); unsubscribe = function () { }; tuplePromise = new Promise(function (resolve, reject) { var stopListening = startListening({ predicate: predicate, effect: function (action, listenerApi) { listenerApi.unsubscribe(); resolve([ action, listenerApi.getState(), listenerApi.getOriginalState() ]); } }); unsubscribe = function () { stopListening(); reject(); }; }); promises = [ tuplePromise ]; if (timeout != null) { promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); })); } _c.label = 1; case 1: _c.trys.push([1, , 3, 4]); return [4 /*yield*/, raceWithSignal(signal, Promise.race(promises))]; case 2: output = _c.sent(); validateActive(signal); return [2 /*return*/, output]; case 3: unsubscribe(); return [7 /*endfinally*/]; case 4: return [2 /*return*/]; } }); }); }; return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); }; }; var getListenerEntryPropsFrom = function (options) { var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect; if (type) { predicate = createAction(type).match; } else if (actionCreator) { type = actionCreator.type; predicate = actionCreator.match; } else if (matcher) { predicate = matcher; } else if (predicate) { } else { throw new Error("Creating or removing a listener requires one of the known fields for matching an action"); } assertFunction(effect, "options.listener"); return { predicate: predicate, type: type, effect: effect }; }; var createListenerEntry = function (options) { var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect; var id = nanoid(); var entry = { id: id, effect: effect, type: type, predicate: predicate, pending: new Set(), unsubscribe: function () { throw new Error("Unsubscribe not initialized"); } }; return entry; }; var cancelActiveListeners = function (entry) { entry.pending.forEach(function (controller) { abortControllerWithReason(controller, listenerCancelled); }); }; var createClearListenerMiddleware = function (listenerMap) { return function () { listenerMap.forEach(cancelActiveListeners); listenerMap.clear(); }; }; var safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) { try { errorHandler(errorToNotify, errorInfo); } catch (errorHandlerError) { setTimeout(function () { throw errorHandlerError; }, 0); } }; var addListener = createAction(alm + "/add"); var clearAllListeners = createAction(alm + "/removeAll"); var removeListener = createAction(alm + "/remove"); var defaultErrorHandler = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } console.error.apply(console, __spreadArray([alm + "/error"], args)); }; function createListenerMiddleware(middlewareOptions) { var _this = this; if (middlewareOptions === void 0) { middlewareOptions = {}; } var listenerMap = new Map(); var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c; assertFunction(onError, "onError"); var insertEntry = function (entry) { entry.unsubscribe = function () { return listenerMap.delete(entry.id); }; listenerMap.set(entry.id, entry); return function (cancelOptions) { entry.unsubscribe(); if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) { cancelActiveListeners(entry); } }; }; var findListenerEntry = function (comparator) { for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) { var entry = _c[_i]; if (comparator(entry)) { return entry; } } return void 0; }; var startListening = function (options) { var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; }); if (!entry) { entry = createListenerEntry(options); } return insertEntry(entry); }; var stopListening = function (options) { var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate; var entry = findListenerEntry(function (entry2) { var matchPredicateOrType = typeof type === "string" ? entry2.type === type : entry2.predicate === predicate; return matchPredicateOrType && entry2.effect === effect; }); if (entry) { entry.unsubscribe(); if (options.cancelActive) { cancelActiveListeners(entry); } } return !!entry; }; var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () { var internalTaskController, take, autoJoinPromises, listenerError_1; return __generator(this, function (_c) { switch (_c.label) { case 0: internalTaskController = new AbortController(); take = createTakePattern(startListening, internalTaskController.signal); autoJoinPromises = []; _c.label = 1; case 1: _c.trys.push([1, 3, 4, 6]); entry.pending.add(internalTaskController); return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, { getOriginalState: getOriginalState, condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); }, take: take, delay: createDelay(internalTaskController.signal), pause: createPause(internalTaskController.signal), extra: extra, signal: internalTaskController.signal, fork: createFork(internalTaskController.signal, autoJoinPromises), unsubscribe: entry.unsubscribe, subscribe: function () { listenerMap.set(entry.id, entry); }, cancelActiveListeners: function () { entry.pending.forEach(function (controller, _, set) { if (controller !== internalTaskController) { abortControllerWithReason(controller, listenerCancelled); set.delete(controller); } }); } })))]; case 2: _c.sent(); return [3 /*break*/, 6]; case 3: listenerError_1 = _c.sent(); if (!(listenerError_1 instanceof TaskAbortError)) { safelyNotifyError(onError, listenerError_1, { raisedBy: "effect" }); } return [3 /*break*/, 6]; case 4: return [4 /*yield*/, Promise.allSettled(autoJoinPromises)]; case 5: _c.sent(); abortControllerWithReason(internalTaskController, listenerCompleted); entry.pending.delete(internalTaskController); return [7 /*endfinally*/]; case 6: return [2 /*return*/]; } }); }); }; var clearListenerMiddleware = createClearListenerMiddleware(listenerMap); var middleware = function (api) { return function (next) { return function (action) { if (!isAction(action)) { return next(action); } if (addListener.match(action)) { return startListening(action.payload); } if (clearAllListeners.match(action)) { clearListenerMiddleware(); return; } if (removeListener.match(action)) { return stopListening(action.payload); } var originalState = api.getState(); var getOriginalState = function () { if (originalState === INTERNAL_NIL_TOKEN) { throw new Error(alm + ": getOriginalState can only be called synchronously"); } return originalState; }; var result; try { result = next(action); if (listenerMap.size > 0) { var currentState = api.getState(); var listenerEntries = Array.from(listenerMap.values()); for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) { var entry = listenerEntries_1[_i]; var runListener = false; try { runListener = entry.predicate(action, currentState, originalState); } catch (predicateError) { runListener = false; safelyNotifyError(onError, predicateError, { raisedBy: "predicate" }); } if (!runListener) { continue; } notifyListener(entry, action, api, getOriginalState); } } } finally { originalState = INTERNAL_NIL_TOKEN; } return result; }; }; }; return { middleware: middleware, startListening: startListening, stopListening: stopListening, clearListeners: clearListenerMiddleware }; } // src/autoBatchEnhancer.ts var SHOULD_AUTOBATCH = "RTK_autoBatch"; var prepareAutoBatched = function () { return function (payload) { var _c; return ({ payload: payload, meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c) }); }; }; var promise; var queueMicrotaskShim = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : typeof __webpack_require__.g !== "undefined" ? __webpack_require__.g : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () { throw err; }, 0); }); }; var createQueueWithTimer = function (timeout) { return function (notify) { setTimeout(notify, timeout); }; }; var rAF = typeof window !== "undefined" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10); var autoBatchEnhancer = function (options) { if (options === void 0) { options = { type: "raf" }; } return function (next) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var store = next.apply(void 0, args); var notifying = true; var shouldNotifyAtEndOfTick = false; var notificationQueued = false; var listeners = new Set(); var queueCallback = options.type === "tick" ? queueMicrotaskShim : options.type === "raf" ? rAF : options.type === "callback" ? options.queueNotification : createQueueWithTimer(options.timeout); var notifyListeners = function () { notificationQueued = false; if (shouldNotifyAtEndOfTick) { shouldNotifyAtEndOfTick = false; listeners.forEach(function (l) { return l(); }); } }; return Object.assign({}, store, { subscribe: function (listener2) { var wrappedListener = function () { return notifying && listener2(); }; var unsubscribe = store.subscribe(wrappedListener); listeners.add(listener2); return function () { unsubscribe(); listeners.delete(listener2); }; }, dispatch: function (action) { var _a; try { notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]); shouldNotifyAtEndOfTick = !notifying; if (shouldNotifyAtEndOfTick) { if (!notificationQueued) { notificationQueued = true; queueCallback(notifyListeners); } } return store.dispatch(action); } finally { notifying = true; } } }); }; }; }; // src/index.ts (0,immer__WEBPACK_IMPORTED_MODULE_0__.enableES5)(); //# sourceMappingURL=redux-toolkit.esm.js.map /***/ }), /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js": /*!***********************************************************************************!*\ !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***! \***********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js"); /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; var FORWARD_REF_STATICS = { '$$typeof': true, render: true, defaultProps: true, displayName: true, propTypes: true }; var MEMO_STATICS = { '$$typeof': true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; function getStatics(component) { // React v16.11 and below if (reactIs.isMemo(component)) { return MEMO_STATICS; } // React v16.12 and above return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { // Avoid failures from read-only properties defineProperty(targetComponent, key, descriptor); } catch (e) {} } } } return targetComponent; } module.exports = hoistNonReactStatics; /***/ }), /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js": /*!*************************************************************************************************!*\ !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***! \*************************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } /***/ }), /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js": /*!******************************************************************************!*\ !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***! \******************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) // removed by dead control flow {} else { module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js"); } /***/ }), /***/ "../node_modules/immer/dist/immer.esm.mjs": /*!************************************************!*\ !*** ../node_modules/immer/dist/immer.esm.mjs ***! \************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Immer: () => (/* binding */ un), /* harmony export */ applyPatches: () => (/* binding */ pn), /* harmony export */ castDraft: () => (/* binding */ K), /* harmony export */ castImmutable: () => (/* binding */ $), /* harmony export */ createDraft: () => (/* binding */ ln), /* harmony export */ current: () => (/* binding */ R), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ enableAllPlugins: () => (/* binding */ J), /* harmony export */ enableES5: () => (/* binding */ F), /* harmony export */ enableMapSet: () => (/* binding */ C), /* harmony export */ enablePatches: () => (/* binding */ T), /* harmony export */ finishDraft: () => (/* binding */ dn), /* harmony export */ freeze: () => (/* binding */ d), /* harmony export */ immerable: () => (/* binding */ L), /* harmony export */ isDraft: () => (/* binding */ r), /* harmony export */ isDraftable: () => (/* binding */ t), /* harmony export */ nothing: () => (/* binding */ H), /* harmony export */ original: () => (/* binding */ e), /* harmony export */ produce: () => (/* binding */ fn), /* harmony export */ produceWithPatches: () => (/* binding */ cn), /* harmony export */ setAutoFreeze: () => (/* binding */ sn), /* harmony export */ setUseProxies: () => (/* binding */ vn) /* harmony export */ }); function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n(2)}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return false||U||n(0),U}function j(n,r){r&&(b("Patches"),n.u=[],n.s=[],n.v=r)}function g(n){O(n),n.p.forEach(S),n.p=null}function O(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b("ES5").S(e,r,o),o?(i[Q].P&&(g(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b("Patches").N(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s,v){if( true&&c===o&&n(5),r(c)){var p=M(e,c,s&&i&&3!==i.i&&!u(i.R,a)?s.concat(a):void 0);if(f(o,a,p),!r(p))return;e.m=!1}else v&&o.add(c);if(t(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function N(n,r,t){var e=s(r)?b("MapSet").F(r,t):v(r)?b("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b("ES5").J(r,t);return(t?t.A:_()).p.push(e),e}function R(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1}else e=D(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function F(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return true&&f(r),en.get(r,n)},set:function(r){var t=this[Q]; true&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),o=1;o1?t-1:0),o=1;o=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b("Patches").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (fn); //# sourceMappingURL=immer.esm.js.map /***/ }), /***/ "../node_modules/react-is/cjs/react-is.development.js": /*!************************************************************!*\ !*** ../node_modules/react-is/cjs/react-is.development.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; /** * @license React * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; // ATTENTION // When adding new symbols to this file, // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' // The Symbol used to tag the ReactElement-like types. var REACT_ELEMENT_TYPE = Symbol.for('react.element'); var REACT_PORTAL_TYPE = Symbol.for('react.portal'); var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment'); var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode'); var REACT_PROFILER_TYPE = Symbol.for('react.profiler'); var REACT_PROVIDER_TYPE = Symbol.for('react.provider'); var REACT_CONTEXT_TYPE = Symbol.for('react.context'); var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context'); var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref'); var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense'); var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list'); var REACT_MEMO_TYPE = Symbol.for('react.memo'); var REACT_LAZY_TYPE = Symbol.for('react.lazy'); var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen'); // ----------------------------------------------------------------------------- var enableScopeAPI = false; // Experimental Create Event Handle API. var enableCacheElement = false; var enableTransitionTracing = false; // No known bugs, but needs performance testing var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber // stuff. Intended to enable React core members to more easily debug scheduling // issues in DEV builds. var enableDebugTracing = false; // Track which Fiber(s) schedule render work. var REACT_MODULE_REFERENCE; { REACT_MODULE_REFERENCE = Symbol.for('react.module.reference'); } function isValidElementType(type) { if (typeof type === 'string' || typeof type === 'function') { return true; } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill). if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) { return true; } if (typeof type === 'object' && type !== null) { if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) { return true; } } return false; } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: case REACT_SUSPENSE_LIST_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_SERVER_CONTEXT_TYPE: case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var SuspenseList = REACT_SUSPENSE_LIST_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.'); } } return false; } function isConcurrentMode(object) { { if (!hasWarnedAboutDeprecatedIsConcurrentMode) { hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.'); } } return false; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } function isSuspenseList(object) { return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; } exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.SuspenseList = SuspenseList; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isSuspenseList = isSuspenseList; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } /***/ }), /***/ "../node_modules/react-is/index.js": /*!*****************************************!*\ !*** ../node_modules/react-is/index.js ***! \*****************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) // removed by dead control flow {} else { module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js"); } /***/ }), /***/ "../node_modules/react-redux/es/components/Context.js": /*!************************************************************!*\ !*** ../node_modules/react-redux/es/components/Context.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ReactReduxContext: () => (/* binding */ ReactReduxContext), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); const ContextKey = Symbol.for(`react-redux-context`); const gT = typeof globalThis !== "undefined" ? globalThis : /* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */ {}; function getContext() { var _gT$ContextKey; if (!react__WEBPACK_IMPORTED_MODULE_0__.createContext) return {}; const contextMap = (_gT$ContextKey = gT[ContextKey]) != null ? _gT$ContextKey : gT[ContextKey] = new Map(); let realContext = contextMap.get(react__WEBPACK_IMPORTED_MODULE_0__.createContext); if (!realContext) { realContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext(null); if (true) { realContext.displayName = 'ReactRedux'; } contextMap.set(react__WEBPACK_IMPORTED_MODULE_0__.createContext, realContext); } return realContext; } const ReactReduxContext = /*#__PURE__*/getContext(); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactReduxContext); /***/ }), /***/ "../node_modules/react-redux/es/components/Provider.js": /*!*************************************************************!*\ !*** ../node_modules/react-redux/es/components/Provider.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Context */ "../node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _utils_Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/Subscription */ "../node_modules/react-redux/es/utils/Subscription.js"); /* harmony import */ var _utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useIsomorphicLayoutEffect */ "../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js"); function Provider({ store, context, children, serverState, stabilityCheck = 'once', noopCheck = 'once' }) { const contextValue = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => { const subscription = (0,_utils_Subscription__WEBPACK_IMPORTED_MODULE_2__.createSubscription)(store); return { store, subscription, getServerState: serverState ? () => serverState : undefined, stabilityCheck, noopCheck }; }, [store, serverState, stabilityCheck, noopCheck]); const previousState = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => store.getState(), [store]); (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__.useIsomorphicLayoutEffect)(() => { const { subscription } = contextValue; subscription.onStateChange = subscription.notifyNestedSubs; subscription.trySubscribe(); if (previousState !== store.getState()) { subscription.notifyNestedSubs(); } return () => { subscription.tryUnsubscribe(); subscription.onStateChange = undefined; }; }, [contextValue, previousState]); const Context = context || _Context__WEBPACK_IMPORTED_MODULE_1__.ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Context.Provider, { value: contextValue }, children); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Provider); /***/ }), /***/ "../node_modules/react-redux/es/components/connect.js": /*!************************************************************!*\ !*** ../node_modules/react-redux/es/components/connect.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ initializeConnect: () => (/* binding */ initializeConnect) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "../node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! hoist-non-react-statics */ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js"); /* harmony import */ var _connect_selectorFactory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../connect/selectorFactory */ "../node_modules/react-redux/es/connect/selectorFactory.js"); /* harmony import */ var _connect_mapDispatchToProps__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../connect/mapDispatchToProps */ "../node_modules/react-redux/es/connect/mapDispatchToProps.js"); /* harmony import */ var _connect_mapStateToProps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../connect/mapStateToProps */ "../node_modules/react-redux/es/connect/mapStateToProps.js"); /* harmony import */ var _connect_mergeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../connect/mergeProps */ "../node_modules/react-redux/es/connect/mergeProps.js"); /* harmony import */ var _utils_Subscription__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/Subscription */ "../node_modules/react-redux/es/utils/Subscription.js"); /* harmony import */ var _utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/useIsomorphicLayoutEffect */ "../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js"); /* harmony import */ var _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/shallowEqual */ "../node_modules/react-redux/es/utils/shallowEqual.js"); /* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/warning */ "../node_modules/react-redux/es/utils/warning.js"); /* harmony import */ var _Context__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Context */ "../node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/useSyncExternalStore */ "../node_modules/react-redux/es/utils/useSyncExternalStore.js"); const _excluded = ["reactReduxForwardedRef"]; /* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */ let useSyncExternalStore = _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_14__.notInitialized; const initializeConnect = fn => { useSyncExternalStore = fn; }; // Define some constant arrays just to avoid re-creating these const EMPTY_ARRAY = [null, 0]; const NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given // for logging in an error message const stringifyComponent = Comp => { try { return JSON.stringify(Comp); } catch (err) { return String(Comp); } }; // This is "just" a `useLayoutEffect`, but with two modifications: // - we need to fall back to `useEffect` in SSR to avoid annoying warnings // - we extract this to a separate function to avoid closing over values // and causing memory leaks function useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) { (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__.useIsomorphicLayoutEffect)(() => effectFunc(...effectArgs), dependencies); } // Effect callback, extracted: assign the latest props values to refs for later usage function captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown, childPropsFromStoreUpdate, notifyNestedSubs) { // We want to capture the wrapper props and child props we used for later comparisons lastWrapperProps.current = wrapperProps; renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update if (childPropsFromStoreUpdate.current) { childPropsFromStoreUpdate.current = null; notifyNestedSubs(); } } // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor, // check for updates after dispatched actions, and trigger re-renders. function subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch, additionalSubscribeListener) { // If we're not subscribed to the store, nothing to do here if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts let didUnsubscribe = false; let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component const checkForUpdates = () => { if (didUnsubscribe || !isMounted.current) { // Don't run stale listeners. // Redux doesn't guarantee unsubscriptions happen until next dispatch. return; } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it const latestStoreState = store.getState(); let newChildProps, error; try { // Actually run the selector with the most recent store state and wrapper props // to determine what the child props should be newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current); } catch (e) { error = e; lastThrownError = e; } if (!error) { lastThrownError = null; } // If the child props haven't changed, nothing to do here - cascade the subscription update if (newChildProps === lastChildProps.current) { if (!renderIsScheduled.current) { notifyNestedSubs(); } } else { // Save references to the new child props. Note that we track the "child props from store update" // as a ref instead of a useState/useReducer because we need a way to determine if that value has // been processed. If this went into useState/useReducer, we couldn't clear out the value without // forcing another re-render, which we don't want. lastChildProps.current = newChildProps; childPropsFromStoreUpdate.current = newChildProps; renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used // Trigger the React `useSyncExternalStore` subscriber additionalSubscribeListener(); } }; // Actually subscribe to the nearest connected ancestor (or store) subscription.onStateChange = checkForUpdates; subscription.trySubscribe(); // Pull data from the store after first render in case the store has // changed since we began. checkForUpdates(); const unsubscribeWrapper = () => { didUnsubscribe = true; subscription.tryUnsubscribe(); subscription.onStateChange = null; if (lastThrownError) { // It's possible that we caught an error due to a bad mapState function, but the // parent re-rendered without this component and we're about to unmount. // This shouldn't happen as long as we do top-down subscriptions correctly, but // if we ever do those wrong, this throw will surface the error in our tests. // In that case, throw the error from here so it doesn't get lost. throw lastThrownError; } }; return unsubscribeWrapper; } // Reducer initial state creation for our update reducer const initStateUpdates = () => EMPTY_ARRAY; function strictEqual(a, b) { return a === b; } /** * Infers the type of props that a connector will inject into a component. */ let hasWarnedAboutDeprecatedPureOption = false; /** * Connects a React component to a Redux store. * * - Without arguments, just wraps the component, without changing the behavior / props * * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior * is to override ownProps (as stated in the docs), so what remains is everything that's * not a state or dispatch prop * * - When 3rd param is passed, we don't know if ownProps propagate and whether they * should be valid component props, because it depends on mergeProps implementation. * As such, it is the user's responsibility to extend ownProps interface from state or * dispatch props or both when applicable * * @param mapStateToProps A function that extracts values from state * @param mapDispatchToProps Setup for dispatching actions * @param mergeProps Optional callback to merge state and dispatch props together * @param options Options for configuring the connection * */ function connect(mapStateToProps, mapDispatchToProps, mergeProps, { // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence. // @ts-ignore pure, areStatesEqual = strictEqual, areOwnPropsEqual = _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__["default"], areStatePropsEqual = _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__["default"], areMergedPropsEqual = _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__["default"], // use React's forwardRef to expose a ref of the wrapped component forwardRef = false, // the context consumer to use context = _Context__WEBPACK_IMPORTED_MODULE_13__.ReactReduxContext } = {}) { if (true) { if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) { hasWarnedAboutDeprecatedPureOption = true; (0,_utils_warning__WEBPACK_IMPORTED_MODULE_12__["default"])('The `pure` option has been removed. `connect` is now always a "pure/memoized" component'); } } const Context = context; const initMapStateToProps = (0,_connect_mapStateToProps__WEBPACK_IMPORTED_MODULE_7__.mapStateToPropsFactory)(mapStateToProps); const initMapDispatchToProps = (0,_connect_mapDispatchToProps__WEBPACK_IMPORTED_MODULE_6__.mapDispatchToPropsFactory)(mapDispatchToProps); const initMergeProps = (0,_connect_mergeProps__WEBPACK_IMPORTED_MODULE_8__.mergePropsFactory)(mergeProps); const shouldHandleStateChanges = Boolean(mapStateToProps); const wrapWithConnect = WrappedComponent => { if ( true && !(0,react_is__WEBPACK_IMPORTED_MODULE_4__.isValidElementType)(WrappedComponent)) { throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`); } const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; const displayName = `Connect(${wrappedComponentName})`; const selectorFactoryOptions = { shouldHandleStateChanges, displayName, wrappedComponentName, WrappedComponent, // @ts-ignore initMapStateToProps, // @ts-ignore initMapDispatchToProps, initMergeProps, areStatesEqual, areStatePropsEqual, areOwnPropsEqual, areMergedPropsEqual }; function ConnectFunction(props) { const [propsContext, reactReduxForwardedRef, wrapperProps] = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { // Distinguish between actual "data" props that were passed to the wrapper component, // and values needed to control behavior (forwarded refs, alternate context instances). // To maintain the wrapperProps object reference, memoize this destructuring. const { reactReduxForwardedRef } = props, wrapperProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); return [props.context, reactReduxForwardedRef, wrapperProps]; }, [props]); const ContextToUse = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext. // Memoize the check that determines which context instance we should use. return propsContext && propsContext.Consumer && // @ts-ignore (0,react_is__WEBPACK_IMPORTED_MODULE_4__.isContextConsumer)( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(propsContext.Consumer, null)) ? propsContext : Context; }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available const contextValue = react__WEBPACK_IMPORTED_MODULE_3__.useContext(ContextToUse); // The store _must_ exist as either a prop or in context. // We'll check to see if it _looks_ like a Redux store first. // This allows us to pass through a `store` prop that is just a plain value. const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch); const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store); if ( true && !didStoreComeFromProps && !didStoreComeFromContext) { throw new Error(`Could not find "store" in the context of ` + `"${displayName}". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + `React context consumer to ${displayName} in connect options.`); } // Based on the previous check, one of these must be true const store = didStoreComeFromProps ? props.store : contextValue.store; const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState; const childPropsSelector = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { // The child props selector needs the store reference as an input. // Re-create this selector whenever the store changes. return (0,_connect_selectorFactory__WEBPACK_IMPORTED_MODULE_5__["default"])(store.dispatch, selectorFactoryOptions); }, [store]); const [subscription, notifyNestedSubs] = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component // connected to the store via props shouldn't use subscription from context, or vice versa. const subscription = (0,_utils_Subscription__WEBPACK_IMPORTED_MODULE_9__.createSubscription)(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in // the middle of the notification loop, where `subscription` will then be null. This can // probably be avoided if Subscription's listeners logic is changed to not call listeners // that have been unsubscribed in the middle of the notification loop. const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription); return [subscription, notifyNestedSubs]; }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary, // and memoize that value to avoid unnecessary context updates. const overriddenContextValue = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { if (didStoreComeFromProps) { // This component is directly subscribed to a store from props. // We don't want descendants reading from this store - pass down whatever // the existing context value is from the nearest connected ancestor. return contextValue; } // Otherwise, put this component's subscription instance into context, so that // connected descendants won't update until after this component is done return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, contextValue, { subscription }); }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic const lastChildProps = react__WEBPACK_IMPORTED_MODULE_3__.useRef(); const lastWrapperProps = react__WEBPACK_IMPORTED_MODULE_3__.useRef(wrapperProps); const childPropsFromStoreUpdate = react__WEBPACK_IMPORTED_MODULE_3__.useRef(); const renderIsScheduled = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); const isProcessingDispatch = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); const isMounted = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); const latestSubscriptionCallbackError = react__WEBPACK_IMPORTED_MODULE_3__.useRef(); (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__.useIsomorphicLayoutEffect)(() => { isMounted.current = true; return () => { isMounted.current = false; }; }, []); const actualChildPropsSelector = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { const selector = () => { // Tricky logic here: // - This render may have been triggered by a Redux store update that produced new child props // - However, we may have gotten new wrapper props after that // If we have new child props, and the same wrapper props, we know we should use the new child props as-is. // But, if we have new wrapper props, those might change the child props, so we have to recalculate things. // So, we'll use the child props from store update only if the wrapper props are the same as last time. if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) { return childPropsFromStoreUpdate.current; } // TODO We're reading the store directly in render() here. Bad idea? // This will likely cause Bad Things (TM) to happen in Concurrent Mode. // Note that we do this because on renders _not_ caused by store updates, we need the latest store state // to determine what the child props should be. return childPropsSelector(store.getState(), wrapperProps); }; return selector; }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns // about useLayoutEffect in SSR, so we try to detect environment and fall back to // just useEffect instead to avoid the warning, since neither will run anyway. const subscribeForReact = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { const subscribe = reactListener => { if (!subscription) { return () => {}; } return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener); }; return subscribe; }, [subscription]); useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]); let actualChildProps; try { actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props, // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`. actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector); } catch (err) { if (latestSubscriptionCallbackError.current) { ; err.message += `\nThe error may be correlated with this previous error:\n${latestSubscriptionCallbackError.current.stack}\n\n`; } throw err; } (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__.useIsomorphicLayoutEffect)(() => { latestSubscriptionCallbackError.current = undefined; childPropsFromStoreUpdate.current = undefined; lastChildProps.current = actualChildProps; }); // Now that all that's done, we can finally try to actually render the child component. // We memoize the elements for the rendered child component as an optimization. const renderedWrappedComponent = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { return ( /*#__PURE__*/ // @ts-ignore react__WEBPACK_IMPORTED_MODULE_3__.createElement(WrappedComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, actualChildProps, { ref: reactReduxForwardedRef })) ); }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate. const renderedChild = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => { if (shouldHandleStateChanges) { // If this component is subscribed to store updates, we need to pass its own // subscription instance down to our descendants. That means rendering the same // Context instance, and putting a different value into the context. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(ContextToUse.Provider, { value: overriddenContextValue }, renderedWrappedComponent); } return renderedWrappedComponent; }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]); return renderedChild; } const _Connect = react__WEBPACK_IMPORTED_MODULE_3__.memo(ConnectFunction); // Add a hacky cast to get the right output type const Connect = _Connect; Connect.WrappedComponent = WrappedComponent; Connect.displayName = ConnectFunction.displayName = displayName; if (forwardRef) { const _forwarded = react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function forwardConnectRef(props, ref) { // @ts-ignore return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(Connect, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { reactReduxForwardedRef: ref })); }); const forwarded = _forwarded; forwarded.displayName = displayName; forwarded.WrappedComponent = WrappedComponent; return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default()(forwarded, WrappedComponent); } return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default()(Connect, WrappedComponent); }; return wrapWithConnect; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (connect); /***/ }), /***/ "../node_modules/react-redux/es/connect/invalidArgFactory.js": /*!*******************************************************************!*\ !*** ../node_modules/react-redux/es/connect/invalidArgFactory.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createInvalidArgFactory: () => (/* binding */ createInvalidArgFactory) /* harmony export */ }); function createInvalidArgFactory(arg, name) { return (dispatch, options) => { throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`); }; } /***/ }), /***/ "../node_modules/react-redux/es/connect/mapDispatchToProps.js": /*!********************************************************************!*\ !*** ../node_modules/react-redux/es/connect/mapDispatchToProps.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ mapDispatchToPropsFactory: () => (/* binding */ mapDispatchToPropsFactory) /* harmony export */ }); /* harmony import */ var _utils_bindActionCreators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/bindActionCreators */ "../node_modules/react-redux/es/utils/bindActionCreators.js"); /* harmony import */ var _wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wrapMapToProps */ "../node_modules/react-redux/es/connect/wrapMapToProps.js"); /* harmony import */ var _invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./invalidArgFactory */ "../node_modules/react-redux/es/connect/invalidArgFactory.js"); function mapDispatchToPropsFactory(mapDispatchToProps) { return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsConstant)(dispatch => // @ts-ignore (0,_utils_bindActionCreators__WEBPACK_IMPORTED_MODULE_0__["default"])(mapDispatchToProps, dispatch)) : !mapDispatchToProps ? (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsConstant)(dispatch => ({ dispatch })) : typeof mapDispatchToProps === 'function' ? // @ts-ignore (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mapDispatchToProps, 'mapDispatchToProps'); } /***/ }), /***/ "../node_modules/react-redux/es/connect/mapStateToProps.js": /*!*****************************************************************!*\ !*** ../node_modules/react-redux/es/connect/mapStateToProps.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ mapStateToPropsFactory: () => (/* binding */ mapStateToPropsFactory) /* harmony export */ }); /* harmony import */ var _wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapMapToProps */ "../node_modules/react-redux/es/connect/wrapMapToProps.js"); /* harmony import */ var _invalidArgFactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./invalidArgFactory */ "../node_modules/react-redux/es/connect/invalidArgFactory.js"); function mapStateToPropsFactory(mapStateToProps) { return !mapStateToProps ? (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__.wrapMapToPropsConstant)(() => ({})) : typeof mapStateToProps === 'function' ? // @ts-ignore (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_1__.createInvalidArgFactory)(mapStateToProps, 'mapStateToProps'); } /***/ }), /***/ "../node_modules/react-redux/es/connect/mergeProps.js": /*!************************************************************!*\ !*** ../node_modules/react-redux/es/connect/mergeProps.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ defaultMergeProps: () => (/* binding */ defaultMergeProps), /* harmony export */ mergePropsFactory: () => (/* binding */ mergePropsFactory), /* harmony export */ wrapMergePropsFunc: () => (/* binding */ wrapMergePropsFunc) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "../node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/verifyPlainObject */ "../node_modules/react-redux/es/utils/verifyPlainObject.js"); /* harmony import */ var _invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./invalidArgFactory */ "../node_modules/react-redux/es/connect/invalidArgFactory.js"); function defaultMergeProps(stateProps, dispatchProps, ownProps) { // @ts-ignore return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, ownProps, stateProps, dispatchProps); } function wrapMergePropsFunc(mergeProps) { return function initMergePropsProxy(dispatch, { displayName, areMergedPropsEqual }) { let hasRunOnce = false; let mergedProps; return function mergePropsProxy(stateProps, dispatchProps, ownProps) { const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps); if (hasRunOnce) { if (!areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps; } else { hasRunOnce = true; mergedProps = nextMergedProps; if (true) (0,_utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_1__["default"])(mergedProps, displayName, 'mergeProps'); } return mergedProps; }; }; } function mergePropsFactory(mergeProps) { return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mergeProps, 'mergeProps'); } /***/ }), /***/ "../node_modules/react-redux/es/connect/selectorFactory.js": /*!*****************************************************************!*\ !*** ../node_modules/react-redux/es/connect/selectorFactory.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ finalPropsSelectorFactory), /* harmony export */ pureFinalPropsSelectorFactory: () => (/* binding */ pureFinalPropsSelectorFactory) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); /* harmony import */ var _verifySubselectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./verifySubselectors */ "../node_modules/react-redux/es/connect/verifySubselectors.js"); const _excluded = ["initMapStateToProps", "initMapDispatchToProps", "initMergeProps"]; function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, { areStatesEqual, areOwnPropsEqual, areStatePropsEqual }) { let hasRunAtLeastOnce = false; let state; let ownProps; let stateProps; let dispatchProps; let mergedProps; function handleFirstCall(firstState, firstOwnProps) { state = firstState; ownProps = firstOwnProps; stateProps = mapStateToProps(state, ownProps); dispatchProps = mapDispatchToProps(dispatch, ownProps); mergedProps = mergeProps(stateProps, dispatchProps, ownProps); hasRunAtLeastOnce = true; return mergedProps; } function handleNewPropsAndNewState() { stateProps = mapStateToProps(state, ownProps); if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); mergedProps = mergeProps(stateProps, dispatchProps, ownProps); return mergedProps; } function handleNewProps() { if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps); if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); mergedProps = mergeProps(stateProps, dispatchProps, ownProps); return mergedProps; } function handleNewState() { const nextStateProps = mapStateToProps(state, ownProps); const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps); stateProps = nextStateProps; if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps); return mergedProps; } function handleSubsequentCalls(nextState, nextOwnProps) { const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps); const stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps); state = nextState; ownProps = nextOwnProps; if (propsChanged && stateChanged) return handleNewPropsAndNewState(); if (propsChanged) return handleNewProps(); if (stateChanged) return handleNewState(); return mergedProps; } return function pureFinalPropsSelector(nextState, nextOwnProps) { return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps); }; } // TODO: Add more comments // The selector returned by selectorFactory will memoize its results, // allowing connect's shouldComponentUpdate to return false if final // props have not changed. function finalPropsSelectorFactory(dispatch, _ref) { let { initMapStateToProps, initMapDispatchToProps, initMergeProps } = _ref, options = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, _excluded); const mapStateToProps = initMapStateToProps(dispatch, options); const mapDispatchToProps = initMapDispatchToProps(dispatch, options); const mergeProps = initMergeProps(dispatch, options); if (true) { (0,_verifySubselectors__WEBPACK_IMPORTED_MODULE_1__["default"])(mapStateToProps, mapDispatchToProps, mergeProps); } return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options); } /***/ }), /***/ "../node_modules/react-redux/es/connect/verifySubselectors.js": /*!********************************************************************!*\ !*** ../node_modules/react-redux/es/connect/verifySubselectors.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ verifySubselectors) /* harmony export */ }); /* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/warning */ "../node_modules/react-redux/es/utils/warning.js"); function verify(selector, methodName) { if (!selector) { throw new Error(`Unexpected value for ${methodName} in connect.`); } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') { if (!Object.prototype.hasOwnProperty.call(selector, 'dependsOnOwnProps')) { (0,_utils_warning__WEBPACK_IMPORTED_MODULE_0__["default"])(`The selector for ${methodName} of connect did not specify a value for dependsOnOwnProps.`); } } } function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps) { verify(mapStateToProps, 'mapStateToProps'); verify(mapDispatchToProps, 'mapDispatchToProps'); verify(mergeProps, 'mergeProps'); } /***/ }), /***/ "../node_modules/react-redux/es/connect/wrapMapToProps.js": /*!****************************************************************!*\ !*** ../node_modules/react-redux/es/connect/wrapMapToProps.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getDependsOnOwnProps: () => (/* binding */ getDependsOnOwnProps), /* harmony export */ wrapMapToPropsConstant: () => (/* binding */ wrapMapToPropsConstant), /* harmony export */ wrapMapToPropsFunc: () => (/* binding */ wrapMapToPropsFunc) /* harmony export */ }); /* harmony import */ var _utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/verifyPlainObject */ "../node_modules/react-redux/es/utils/verifyPlainObject.js"); function wrapMapToPropsConstant( // * Note: // It seems that the dispatch argument // could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing) // and a state object in some others (ex: whenMapStateToPropsIsMissing) // eslint-disable-next-line no-unused-vars getConstant) { return function initConstantSelector(dispatch) { const constant = getConstant(dispatch); function constantSelector() { return constant; } constantSelector.dependsOnOwnProps = false; return constantSelector; }; } // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args // to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine // whether mapToProps needs to be invoked when props have changed. // // A length of one signals that mapToProps does not depend on props from the parent component. // A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and // therefore not reporting its length accurately.. // TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps? function getDependsOnOwnProps(mapToProps) { return mapToProps.dependsOnOwnProps ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1; } // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction, // this function wraps mapToProps in a proxy function which does several things: // // * Detects whether the mapToProps function being called depends on props, which // is used by selectorFactory to decide if it should reinvoke on props changes. // // * On first call, handles mapToProps if returns another function, and treats that // new function as the true mapToProps for subsequent calls. // // * On first call, verifies the first result is a plain object, in order to warn // the developer that their mapToProps function is not returning a valid result. // function wrapMapToPropsFunc(mapToProps, methodName) { return function initProxySelector(dispatch, { displayName }) { const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) { return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, undefined); }; // allow detectFactoryAndVerify to get ownProps proxy.dependsOnOwnProps = true; proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) { proxy.mapToProps = mapToProps; proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps); let props = proxy(stateOrDispatch, ownProps); if (typeof props === 'function') { proxy.mapToProps = props; proxy.dependsOnOwnProps = getDependsOnOwnProps(props); props = proxy(stateOrDispatch, ownProps); } if (true) (0,_utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])(props, displayName, methodName); return props; }; return proxy; }; } /***/ }), /***/ "../node_modules/react-redux/es/exports.js": /*!*************************************************!*\ !*** ../node_modules/react-redux/es/exports.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Provider: () => (/* reexport safe */ _components_Provider__WEBPACK_IMPORTED_MODULE_0__["default"]), /* harmony export */ ReactReduxContext: () => (/* reexport safe */ _components_Context__WEBPACK_IMPORTED_MODULE_2__.ReactReduxContext), /* harmony export */ connect: () => (/* reexport safe */ _components_connect__WEBPACK_IMPORTED_MODULE_1__["default"]), /* harmony export */ createDispatchHook: () => (/* reexport safe */ _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_3__.createDispatchHook), /* harmony export */ createSelectorHook: () => (/* reexport safe */ _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__.createSelectorHook), /* harmony export */ createStoreHook: () => (/* reexport safe */ _hooks_useStore__WEBPACK_IMPORTED_MODULE_5__.createStoreHook), /* harmony export */ shallowEqual: () => (/* reexport safe */ _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_6__["default"]), /* harmony export */ useDispatch: () => (/* reexport safe */ _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_3__.useDispatch), /* harmony export */ useSelector: () => (/* reexport safe */ _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__.useSelector), /* harmony export */ useStore: () => (/* reexport safe */ _hooks_useStore__WEBPACK_IMPORTED_MODULE_5__.useStore) /* harmony export */ }); /* harmony import */ var _components_Provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Provider */ "../node_modules/react-redux/es/components/Provider.js"); /* harmony import */ var _components_connect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/connect */ "../node_modules/react-redux/es/components/connect.js"); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Context */ "../node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hooks/useDispatch */ "../node_modules/react-redux/es/hooks/useDispatch.js"); /* harmony import */ var _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useSelector */ "../node_modules/react-redux/es/hooks/useSelector.js"); /* harmony import */ var _hooks_useStore__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useStore */ "../node_modules/react-redux/es/hooks/useStore.js"); /* harmony import */ var _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/shallowEqual */ "../node_modules/react-redux/es/utils/shallowEqual.js"); /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./types */ "../node_modules/react-redux/es/types.js"); /***/ }), /***/ "../node_modules/react-redux/es/hooks/useDispatch.js": /*!***********************************************************!*\ !*** ../node_modules/react-redux/es/hooks/useDispatch.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createDispatchHook: () => (/* binding */ createDispatchHook), /* harmony export */ useDispatch: () => (/* binding */ useDispatch) /* harmony export */ }); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/Context */ "../node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useStore */ "../node_modules/react-redux/es/hooks/useStore.js"); /** * Hook factory, which creates a `useDispatch` hook bound to a given context. * * @param {React.Context} [context=ReactReduxContext] Context passed to your ``. * @returns {Function} A `useDispatch` hook bound to the specified context. */ function createDispatchHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext) { const useStore = // @ts-ignore context === _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext ? _useStore__WEBPACK_IMPORTED_MODULE_1__.useStore : (0,_useStore__WEBPACK_IMPORTED_MODULE_1__.createStoreHook)(context); return function useDispatch() { const store = useStore(); // @ts-ignore return store.dispatch; }; } /** * A hook to access the redux `dispatch` function. * * @returns {any|function} redux store's `dispatch` function * * @example * * import React, { useCallback } from 'react' * import { useDispatch } from 'react-redux' * * export const CounterComponent = ({ value }) => { * const dispatch = useDispatch() * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), []) * return ( *
* {value} * *
* ) * } */ const useDispatch = /*#__PURE__*/createDispatchHook(); /***/ }), /***/ "../node_modules/react-redux/es/hooks/useReduxContext.js": /*!***************************************************************!*\ !*** ../node_modules/react-redux/es/hooks/useReduxContext.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createReduxContextHook: () => (/* binding */ createReduxContextHook), /* harmony export */ useReduxContext: () => (/* binding */ useReduxContext) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/Context */ "../node_modules/react-redux/es/components/Context.js"); /** * Hook factory, which creates a `useReduxContext` hook bound to a given context. This is a low-level * hook that you should usually not need to call directly. * * @param {React.Context} [context=ReactReduxContext] Context passed to your ``. * @returns {Function} A `useReduxContext` hook bound to the specified context. */ function createReduxContextHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_1__.ReactReduxContext) { return function useReduxContext() { const contextValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(context); if ( true && !contextValue) { throw new Error('could not find react-redux context value; please ensure the component is wrapped in a '); } return contextValue; }; } /** * A hook to access the value of the `ReactReduxContext`. This is a low-level * hook that you should usually not need to call directly. * * @returns {any} the value of the `ReactReduxContext` * * @example * * import React from 'react' * import { useReduxContext } from 'react-redux' * * export const CounterComponent = () => { * const { store } = useReduxContext() * return
{store.getState()}
* } */ const useReduxContext = /*#__PURE__*/createReduxContextHook(); /***/ }), /***/ "../node_modules/react-redux/es/hooks/useSelector.js": /*!***********************************************************!*\ !*** ../node_modules/react-redux/es/hooks/useSelector.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createSelectorHook: () => (/* binding */ createSelectorHook), /* harmony export */ initializeUseSelector: () => (/* binding */ initializeUseSelector), /* harmony export */ useSelector: () => (/* binding */ useSelector) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _useReduxContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useReduxContext */ "../node_modules/react-redux/es/hooks/useReduxContext.js"); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/Context */ "../node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useSyncExternalStore */ "../node_modules/react-redux/es/utils/useSyncExternalStore.js"); let useSyncExternalStoreWithSelector = _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_3__.notInitialized; const initializeUseSelector = fn => { useSyncExternalStoreWithSelector = fn; }; const refEquality = (a, b) => a === b; /** * Hook factory, which creates a `useSelector` hook bound to a given context. * * @param {React.Context} [context=ReactReduxContext] Context passed to your ``. * @returns {Function} A `useSelector` hook bound to the specified context. */ function createSelectorHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_2__.ReactReduxContext) { const useReduxContext = context === _components_Context__WEBPACK_IMPORTED_MODULE_2__.ReactReduxContext ? _useReduxContext__WEBPACK_IMPORTED_MODULE_1__.useReduxContext : (0,_useReduxContext__WEBPACK_IMPORTED_MODULE_1__.createReduxContextHook)(context); return function useSelector(selector, equalityFnOrOptions = {}) { const { equalityFn = refEquality, stabilityCheck = undefined, noopCheck = undefined } = typeof equalityFnOrOptions === 'function' ? { equalityFn: equalityFnOrOptions } : equalityFnOrOptions; if (true) { if (!selector) { throw new Error(`You must pass a selector to useSelector`); } if (typeof selector !== 'function') { throw new Error(`You must pass a function as a selector to useSelector`); } if (typeof equalityFn !== 'function') { throw new Error(`You must pass a function as an equality function to useSelector`); } } const { store, subscription, getServerState, stabilityCheck: globalStabilityCheck, noopCheck: globalNoopCheck } = useReduxContext(); const firstRun = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(true); const wrappedSelector = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({ [selector.name](state) { const selected = selector(state); if (true) { const finalStabilityCheck = typeof stabilityCheck === 'undefined' ? globalStabilityCheck : stabilityCheck; if (finalStabilityCheck === 'always' || finalStabilityCheck === 'once' && firstRun.current) { const toCompare = selector(state); if (!equalityFn(selected, toCompare)) { let stack = undefined; try { throw new Error(); } catch (e) { ; ({ stack } = e); } console.warn('Selector ' + (selector.name || 'unknown') + ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' + '\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization', { state, selected, selected2: toCompare, stack }); } } const finalNoopCheck = typeof noopCheck === 'undefined' ? globalNoopCheck : noopCheck; if (finalNoopCheck === 'always' || finalNoopCheck === 'once' && firstRun.current) { // @ts-ignore if (selected === state) { let stack = undefined; try { throw new Error(); } catch (e) { ; ({ stack } = e); } console.warn('Selector ' + (selector.name || 'unknown') + ' returned the root state when called. This can lead to unnecessary rerenders.' + '\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.', { stack }); } } if (firstRun.current) firstRun.current = false; } return selected; } }[selector.name], [selector, globalStabilityCheck, stabilityCheck]); const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, wrappedSelector, equalityFn); (0,react__WEBPACK_IMPORTED_MODULE_0__.useDebugValue)(selectedState); return selectedState; }; } /** * A hook to access the redux store's state. This hook takes a selector function * as an argument. The selector is called with the store state. * * This hook takes an optional equality comparison function as the second parameter * that allows you to customize the way the selected state is compared to determine * whether the component needs to be re-rendered. * * @param {Function} selector the selector function * @param {Function=} equalityFn the function that will be used to determine equality * * @returns {any} the selected state * * @example * * import React from 'react' * import { useSelector } from 'react-redux' * * export const CounterComponent = () => { * const counter = useSelector(state => state.counter) * return
{counter}
* } */ const useSelector = /*#__PURE__*/createSelectorHook(); /***/ }), /***/ "../node_modules/react-redux/es/hooks/useStore.js": /*!********************************************************!*\ !*** ../node_modules/react-redux/es/hooks/useStore.js ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createStoreHook: () => (/* binding */ createStoreHook), /* harmony export */ useStore: () => (/* binding */ useStore) /* harmony export */ }); /* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/Context */ "../node_modules/react-redux/es/components/Context.js"); /* harmony import */ var _useReduxContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useReduxContext */ "../node_modules/react-redux/es/hooks/useReduxContext.js"); /** * Hook factory, which creates a `useStore` hook bound to a given context. * * @param {React.Context} [context=ReactReduxContext] Context passed to your ``. * @returns {Function} A `useStore` hook bound to the specified context. */ function createStoreHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext) { const useReduxContext = // @ts-ignore context === _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext ? _useReduxContext__WEBPACK_IMPORTED_MODULE_1__.useReduxContext : // @ts-ignore (0,_useReduxContext__WEBPACK_IMPORTED_MODULE_1__.createReduxContextHook)(context); return function useStore() { const { store } = useReduxContext(); // @ts-ignore return store; }; } /** * A hook to access the redux store. * * @returns {any} the redux store * * @example * * import React from 'react' * import { useStore } from 'react-redux' * * export const ExampleComponent = () => { * const store = useStore() * return
{store.getState()}
* } */ const useStore = /*#__PURE__*/createStoreHook(); /***/ }), /***/ "../node_modules/react-redux/es/index.js": /*!***********************************************!*\ !*** ../node_modules/react-redux/es/index.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Provider: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.Provider), /* harmony export */ ReactReduxContext: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.ReactReduxContext), /* harmony export */ batch: () => (/* reexport safe */ _utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_2__.unstable_batchedUpdates), /* harmony export */ connect: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.connect), /* harmony export */ createDispatchHook: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.createDispatchHook), /* harmony export */ createSelectorHook: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.createSelectorHook), /* harmony export */ createStoreHook: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.createStoreHook), /* harmony export */ shallowEqual: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.shallowEqual), /* harmony export */ useDispatch: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.useDispatch), /* harmony export */ useSelector: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.useSelector), /* harmony export */ useStore: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.useStore) /* harmony export */ }); /* harmony import */ var use_sync_external_store_shim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-sync-external-store/shim */ "../node_modules/use-sync-external-store/shim/index.js"); /* harmony import */ var use_sync_external_store_shim_with_selector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! use-sync-external-store/shim/with-selector */ "../node_modules/use-sync-external-store/shim/with-selector.js"); /* harmony import */ var _utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/reactBatchedUpdates */ "../node_modules/react-redux/es/utils/reactBatchedUpdates.js"); /* harmony import */ var _utils_batch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/batch */ "../node_modules/react-redux/es/utils/batch.js"); /* harmony import */ var _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useSelector */ "../node_modules/react-redux/es/hooks/useSelector.js"); /* harmony import */ var _components_connect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/connect */ "../node_modules/react-redux/es/components/connect.js"); /* harmony import */ var _exports__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./exports */ "../node_modules/react-redux/es/exports.js"); // The primary entry point assumes we're working with standard ReactDOM/RN, but // older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x). // Because of that, the useSyncExternalStore compat shim is needed. (0,_hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__.initializeUseSelector)(use_sync_external_store_shim_with_selector__WEBPACK_IMPORTED_MODULE_1__.useSyncExternalStoreWithSelector); (0,_components_connect__WEBPACK_IMPORTED_MODULE_5__.initializeConnect)(use_sync_external_store_shim__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore); // Enable batched updates in our subscriptions for use // with standard React renderers (ReactDOM, React Native) (0,_utils_batch__WEBPACK_IMPORTED_MODULE_3__.setBatch)(_utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_2__.unstable_batchedUpdates); /***/ }), /***/ "../node_modules/react-redux/es/types.js": /*!***********************************************!*\ !*** ../node_modules/react-redux/es/types.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /***/ }), /***/ "../node_modules/react-redux/es/utils/Subscription.js": /*!************************************************************!*\ !*** ../node_modules/react-redux/es/utils/Subscription.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createSubscription: () => (/* binding */ createSubscription) /* harmony export */ }); /* harmony import */ var _batch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./batch */ "../node_modules/react-redux/es/utils/batch.js"); // encapsulates the subscription logic for connecting a component to the redux store, as // well as nesting subscriptions of descendant components, so that we can ensure the // ancestor components re-render before descendants function createListenerCollection() { const batch = (0,_batch__WEBPACK_IMPORTED_MODULE_0__.getBatch)(); let first = null; let last = null; return { clear() { first = null; last = null; }, notify() { batch(() => { let listener = first; while (listener) { listener.callback(); listener = listener.next; } }); }, get() { let listeners = []; let listener = first; while (listener) { listeners.push(listener); listener = listener.next; } return listeners; }, subscribe(callback) { let isSubscribed = true; let listener = last = { callback, next: null, prev: last }; if (listener.prev) { listener.prev.next = listener; } else { first = listener; } return function unsubscribe() { if (!isSubscribed || first === null) return; isSubscribed = false; if (listener.next) { listener.next.prev = listener.prev; } else { last = listener.prev; } if (listener.prev) { listener.prev.next = listener.next; } else { first = listener.next; } }; } }; } const nullListeners = { notify() {}, get: () => [] }; function createSubscription(store, parentSub) { let unsubscribe; let listeners = nullListeners; // Reasons to keep the subscription active let subscriptionsAmount = 0; // Is this specific subscription subscribed (or only nested ones?) let selfSubscribed = false; function addNestedSub(listener) { trySubscribe(); const cleanupListener = listeners.subscribe(listener); // cleanup nested sub let removed = false; return () => { if (!removed) { removed = true; cleanupListener(); tryUnsubscribe(); } }; } function notifyNestedSubs() { listeners.notify(); } function handleChangeWrapper() { if (subscription.onStateChange) { subscription.onStateChange(); } } function isSubscribed() { return selfSubscribed; } function trySubscribe() { subscriptionsAmount++; if (!unsubscribe) { unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper); listeners = createListenerCollection(); } } function tryUnsubscribe() { subscriptionsAmount--; if (unsubscribe && subscriptionsAmount === 0) { unsubscribe(); unsubscribe = undefined; listeners.clear(); listeners = nullListeners; } } function trySubscribeSelf() { if (!selfSubscribed) { selfSubscribed = true; trySubscribe(); } } function tryUnsubscribeSelf() { if (selfSubscribed) { selfSubscribed = false; tryUnsubscribe(); } } const subscription = { addNestedSub, notifyNestedSubs, handleChangeWrapper, isSubscribed, trySubscribe: trySubscribeSelf, tryUnsubscribe: tryUnsubscribeSelf, getListeners: () => listeners }; return subscription; } /***/ }), /***/ "../node_modules/react-redux/es/utils/batch.js": /*!*****************************************************!*\ !*** ../node_modules/react-redux/es/utils/batch.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getBatch: () => (/* binding */ getBatch), /* harmony export */ setBatch: () => (/* binding */ setBatch) /* harmony export */ }); // Default to a dummy "batch" implementation that just runs the callback function defaultNoopBatch(callback) { callback(); } let batch = defaultNoopBatch; // Allow injecting another batching function later const setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings const getBatch = () => batch; /***/ }), /***/ "../node_modules/react-redux/es/utils/bindActionCreators.js": /*!******************************************************************!*\ !*** ../node_modules/react-redux/es/utils/bindActionCreators.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ bindActionCreators) /* harmony export */ }); function bindActionCreators(actionCreators, dispatch) { const boundActionCreators = {}; for (const key in actionCreators) { const actionCreator = actionCreators[key]; if (typeof actionCreator === 'function') { boundActionCreators[key] = (...args) => dispatch(actionCreator(...args)); } } return boundActionCreators; } /***/ }), /***/ "../node_modules/react-redux/es/utils/isPlainObject.js": /*!*************************************************************!*\ !*** ../node_modules/react-redux/es/utils/isPlainObject.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ isPlainObject) /* harmony export */ }); /** * @param {any} obj The object to inspect. * @returns {boolean} True if the argument appears to be a plain object. */ function isPlainObject(obj) { if (typeof obj !== 'object' || obj === null) return false; let proto = Object.getPrototypeOf(obj); if (proto === null) return true; let baseProto = proto; while (Object.getPrototypeOf(baseProto) !== null) { baseProto = Object.getPrototypeOf(baseProto); } return proto === baseProto; } /***/ }), /***/ "../node_modules/react-redux/es/utils/reactBatchedUpdates.js": /*!*******************************************************************!*\ !*** ../node_modules/react-redux/es/utils/reactBatchedUpdates.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ unstable_batchedUpdates: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.unstable_batchedUpdates) /* harmony export */ }); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ "react-dom"); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__); /***/ }), /***/ "../node_modules/react-redux/es/utils/shallowEqual.js": /*!************************************************************!*\ !*** ../node_modules/react-redux/es/utils/shallowEqual.js ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ shallowEqual) /* harmony export */ }); function is(x, y) { if (x === y) { return x !== 0 || y !== 0 || 1 / x === 1 / y; } else { return x !== x && y !== y; } } function shallowEqual(objA, objB) { if (is(objA, objB)) return true; if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { return false; } const keysA = Object.keys(objA); const keysB = Object.keys(objB); if (keysA.length !== keysB.length) return false; for (let i = 0; i < keysA.length; i++) { if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { return false; } } return true; } /***/ }), /***/ "../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js": /*!*************************************************************************!*\ !*** ../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ canUseDOM: () => (/* binding */ canUseDOM), /* harmony export */ useIsomorphicLayoutEffect: () => (/* binding */ useIsomorphicLayoutEffect) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); // React currently throws a warning when using useLayoutEffect on the server. // To get around it, we can conditionally useEffect on the server (no-op) and // useLayoutEffect in the browser. We need useLayoutEffect to ensure the store // subscription callback always has the selector from the latest render commit // available, otherwise a store update may happen between render and the effect, // which may cause missed updates; we also must ensure the store subscription // is created synchronously, otherwise a store update may occur before the // subscription is created and an inconsistent state may be observed // Matches logic in React's `shared/ExecutionEnvironment` file const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined'); const useIsomorphicLayoutEffect = canUseDOM ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect; /***/ }), /***/ "../node_modules/react-redux/es/utils/useSyncExternalStore.js": /*!********************************************************************!*\ !*** ../node_modules/react-redux/es/utils/useSyncExternalStore.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ notInitialized: () => (/* binding */ notInitialized) /* harmony export */ }); const notInitialized = () => { throw new Error('uSES not initialized!'); }; /***/ }), /***/ "../node_modules/react-redux/es/utils/verifyPlainObject.js": /*!*****************************************************************!*\ !*** ../node_modules/react-redux/es/utils/verifyPlainObject.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ verifyPlainObject) /* harmony export */ }); /* harmony import */ var _isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isPlainObject */ "../node_modules/react-redux/es/utils/isPlainObject.js"); /* harmony import */ var _warning__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./warning */ "../node_modules/react-redux/es/utils/warning.js"); function verifyPlainObject(value, displayName, methodName) { if (!(0,_isPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])(value)) { (0,_warning__WEBPACK_IMPORTED_MODULE_1__["default"])(`${methodName}() in ${displayName} must return a plain object. Instead received ${value}.`); } } /***/ }), /***/ "../node_modules/react-redux/es/utils/warning.js": /*!*******************************************************!*\ !*** ../node_modules/react-redux/es/utils/warning.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ warning) /* harmony export */ }); /** * Prints a warning in the console if it exists. * * @param {String} message The warning message. * @returns {void} */ function warning(message) { /* eslint-disable no-console */ if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error(message); } /* eslint-enable no-console */ try { // This error was thrown as a convenience so that if you enable // "break on all exceptions" in your console, // it would pause the execution at this line. throw new Error(message); /* eslint-disable no-empty */ } catch (e) {} /* eslint-enable no-empty */ } /***/ }), /***/ "../node_modules/redux-thunk/es/index.js": /*!***********************************************!*\ !*** ../node_modules/redux-thunk/es/index.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** A function that accepts a potential "extra argument" value to be injected later, * and returns an instance of the thunk middleware that uses that value */ function createThunkMiddleware(extraArgument) { // Standard Redux middleware definition pattern: // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware var middleware = function middleware(_ref) { var dispatch = _ref.dispatch, getState = _ref.getState; return function (next) { return function (action) { // The thunk middleware looks for any functions that were passed to `store.dispatch`. // If this "action" is really a function, call it and return the result. if (typeof action === 'function') { // Inject the store's `dispatch` and `getState` methods, as well as any "extra arg" return action(dispatch, getState, extraArgument); } // Otherwise, pass the action down the middleware chain as usual return next(action); }; }; }; return middleware; } var thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version // with whatever "extra arg" they want to inject into their thunks thunk.withExtraArgument = createThunkMiddleware; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (thunk); /***/ }), /***/ "../node_modules/redux/es/redux.js": /*!*****************************************!*\ !*** ../node_modules/redux/es/redux.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __DO_NOT_USE__ActionTypes: () => (/* binding */ ActionTypes), /* harmony export */ applyMiddleware: () => (/* binding */ applyMiddleware), /* harmony export */ bindActionCreators: () => (/* binding */ bindActionCreators), /* harmony export */ combineReducers: () => (/* binding */ combineReducers), /* harmony export */ compose: () => (/* binding */ compose), /* harmony export */ createStore: () => (/* binding */ createStore), /* harmony export */ legacy_createStore: () => (/* binding */ legacy_createStore) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ "../node_modules/@babel/runtime/helpers/esm/objectSpread2.js"); /** * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js * * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes * during build. * @param {number} code */ function formatProdErrorMessage(code) { return "Minified Redux error #" + code + "; visit https://redux.js.org/Errors?code=" + code + " for the full message or " + 'use the non-minified dev environment for full errors. '; } // Inlined version of the `symbol-observable` polyfill var $$observable = (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })(); /** * These are private action types reserved by Redux. * For any unknown actions, you must return the current state. * If the current state is undefined, you must return the initial state. * Do not reference these action types directly in your code. */ var randomString = function randomString() { return Math.random().toString(36).substring(7).split('').join('.'); }; var ActionTypes = { INIT: "@@redux/INIT" + randomString(), REPLACE: "@@redux/REPLACE" + randomString(), PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); } }; /** * @param {any} obj The object to inspect. * @returns {boolean} True if the argument appears to be a plain object. */ function isPlainObject(obj) { if (typeof obj !== 'object' || obj === null) return false; var proto = obj; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(obj) === proto; } // Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of function miniKindOf(val) { if (val === void 0) return 'undefined'; if (val === null) return 'null'; var type = typeof val; switch (type) { case 'boolean': case 'string': case 'number': case 'symbol': case 'function': { return type; } } if (Array.isArray(val)) return 'array'; if (isDate(val)) return 'date'; if (isError(val)) return 'error'; var constructorName = ctorName(val); switch (constructorName) { case 'Symbol': case 'Promise': case 'WeakMap': case 'WeakSet': case 'Map': case 'Set': return constructorName; } // other return type.slice(8, -1).toLowerCase().replace(/\s/g, ''); } function ctorName(val) { return typeof val.constructor === 'function' ? val.constructor.name : null; } function isError(val) { return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number'; } function isDate(val) { if (val instanceof Date) return true; return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function'; } function kindOf(val) { var typeOfVal = typeof val; if (true) { typeOfVal = miniKindOf(val); } return typeOfVal; } /** * @deprecated * * **We recommend using the `configureStore` method * of the `@reduxjs/toolkit` package**, which replaces `createStore`. * * Redux Toolkit is our recommended approach for writing Redux logic today, * including store setup, reducers, data fetching, and more. * * **For more details, please read this Redux docs page:** * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * `configureStore` from Redux Toolkit is an improved version of `createStore` that * simplifies setup and helps avoid common bugs. * * You should not be using the `redux` core package by itself today, except for learning purposes. * The `createStore` method from the core `redux` package will not be removed, but we encourage * all users to migrate to using Redux Toolkit for all Redux code. * * If you want to use `createStore` without this visual deprecation warning, use * the `legacy_createStore` import instead: * * `import { legacy_createStore as createStore} from 'redux'` * */ function createStore(reducer, preloadedState, enhancer) { var _ref2; if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') { throw new Error( false ? 0 : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.'); } if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { enhancer = preloadedState; preloadedState = undefined; } if (typeof enhancer !== 'undefined') { if (typeof enhancer !== 'function') { throw new Error( false ? 0 : "Expected the enhancer to be a function. Instead, received: '" + kindOf(enhancer) + "'"); } return enhancer(createStore)(reducer, preloadedState); } if (typeof reducer !== 'function') { throw new Error( false ? 0 : "Expected the root reducer to be a function. Instead, received: '" + kindOf(reducer) + "'"); } var currentReducer = reducer; var currentState = preloadedState; var currentListeners = []; var nextListeners = currentListeners; var isDispatching = false; /** * This makes a shallow copy of currentListeners so we can use * nextListeners as a temporary list while dispatching. * * This prevents any bugs around consumers calling * subscribe/unsubscribe in the middle of a dispatch. */ function ensureCanMutateNextListeners() { if (nextListeners === currentListeners) { nextListeners = currentListeners.slice(); } } /** * Reads the state tree managed by the store. * * @returns {any} The current state tree of your application. */ function getState() { if (isDispatching) { throw new Error( false ? 0 : '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.'); } return currentState; } /** * Adds a change listener. It will be called any time an action is dispatched, * and some part of the state tree may potentially have changed. You may then * call `getState()` to read the current state tree inside the callback. * * You may call `dispatch()` from a change listener, with the following * caveats: * * 1. The subscriptions are snapshotted just before every `dispatch()` call. * If you subscribe or unsubscribe while the listeners are being invoked, this * will not have any effect on the `dispatch()` that is currently in progress. * However, the next `dispatch()` call, whether nested or not, will use a more * recent snapshot of the subscription list. * * 2. The listener should not expect to see all state changes, as the state * might have been updated multiple times during a nested `dispatch()` before * the listener is called. It is, however, guaranteed that all subscribers * registered before the `dispatch()` started will be called with the latest * state by the time it exits. * * @param {Function} listener A callback to be invoked on every dispatch. * @returns {Function} A function to remove this change listener. */ function subscribe(listener) { if (typeof listener !== 'function') { throw new Error( false ? 0 : "Expected the listener to be a function. Instead, received: '" + kindOf(listener) + "'"); } if (isDispatching) { throw new Error( false ? 0 : '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/store#subscribelistener for more details.'); } var isSubscribed = true; ensureCanMutateNextListeners(); nextListeners.push(listener); return function unsubscribe() { if (!isSubscribed) { return; } if (isDispatching) { throw new Error( false ? 0 : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.'); } isSubscribed = false; ensureCanMutateNextListeners(); var index = nextListeners.indexOf(listener); nextListeners.splice(index, 1); currentListeners = null; }; } /** * Dispatches an action. It is the only way to trigger a state change. * * The `reducer` function, used to create the store, will be called with the * current state tree and the given `action`. Its return value will * be considered the **next** state of the tree, and the change listeners * will be notified. * * The base implementation only supports plain object actions. If you want to * dispatch a Promise, an Observable, a thunk, or something else, you need to * wrap your store creating function into the corresponding middleware. For * example, see the documentation for the `redux-thunk` package. Even the * middleware will eventually dispatch plain object actions using this method. * * @param {Object} action A plain object representing “what changed”. It is * a good idea to keep actions serializable so you can record and replay user * sessions, or use the time travelling `redux-devtools`. An action must have * a `type` property which may not be `undefined`. It is a good idea to use * string constants for action types. * * @returns {Object} For convenience, the same action object you dispatched. * * Note that, if you use a custom middleware, it may wrap `dispatch()` to * return something else (for example, a Promise you can await). */ function dispatch(action) { if (!isPlainObject(action)) { throw new Error( false ? 0 : "Actions must be plain objects. Instead, the actual type was: '" + kindOf(action) + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples."); } if (typeof action.type === 'undefined') { throw new Error( false ? 0 : 'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.'); } if (isDispatching) { throw new Error( false ? 0 : 'Reducers may not dispatch actions.'); } try { isDispatching = true; currentState = currentReducer(currentState, action); } finally { isDispatching = false; } var listeners = currentListeners = nextListeners; for (var i = 0; i < listeners.length; i++) { var listener = listeners[i]; listener(); } return action; } /** * Replaces the reducer currently used by the store to calculate the state. * * You might need this if your app implements code splitting and you want to * load some of the reducers dynamically. You might also need this if you * implement a hot reloading mechanism for Redux. * * @param {Function} nextReducer The reducer for the store to use instead. * @returns {void} */ function replaceReducer(nextReducer) { if (typeof nextReducer !== 'function') { throw new Error( false ? 0 : "Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer)); } currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT. // Any reducers that existed in both the new and old rootReducer // will receive the previous state. This effectively populates // the new state tree with any relevant data from the old one. dispatch({ type: ActionTypes.REPLACE }); } /** * Interoperability point for observable/reactive libraries. * @returns {observable} A minimal observable of state changes. * For more information, see the observable proposal: * https://github.com/tc39/proposal-observable */ function observable() { var _ref; var outerSubscribe = subscribe; return _ref = { /** * The minimal observable subscription method. * @param {Object} observer Any object that can be used as an observer. * The observer object should have a `next` method. * @returns {subscription} An object with an `unsubscribe` method that can * be used to unsubscribe the observable from the store, and prevent further * emission of values from the observable. */ subscribe: function subscribe(observer) { if (typeof observer !== 'object' || observer === null) { throw new Error( false ? 0 : "Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'"); } function observeState() { if (observer.next) { observer.next(getState()); } } observeState(); var unsubscribe = outerSubscribe(observeState); return { unsubscribe: unsubscribe }; } }, _ref[$$observable] = function () { return this; }, _ref; } // When a store is created, an "INIT" action is dispatched so that every // reducer returns their initial state. This effectively populates // the initial state tree. dispatch({ type: ActionTypes.INIT }); return _ref2 = { dispatch: dispatch, subscribe: subscribe, getState: getState, replaceReducer: replaceReducer }, _ref2[$$observable] = observable, _ref2; } /** * Creates a Redux store that holds the state tree. * * **We recommend using `configureStore` from the * `@reduxjs/toolkit` package**, which replaces `createStore`: * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * The only way to change the data in the store is to call `dispatch()` on it. * * There should only be a single store in your app. To specify how different * parts of the state tree respond to actions, you may combine several reducers * into a single reducer function by using `combineReducers`. * * @param {Function} reducer A function that returns the next state tree, given * the current state tree and the action to handle. * * @param {any} [preloadedState] The initial state. You may optionally specify it * to hydrate the state from the server in universal apps, or to restore a * previously serialized user session. * If you use `combineReducers` to produce the root reducer function, this must be * an object with the same shape as `combineReducers` keys. * * @param {Function} [enhancer] The store enhancer. You may optionally specify it * to enhance the store with third-party capabilities such as middleware, * time travel, persistence, etc. The only store enhancer that ships with Redux * is `applyMiddleware()`. * * @returns {Store} A Redux store that lets you read the state, dispatch actions * and subscribe to changes. */ var legacy_createStore = createStore; /** * Prints a warning in the console if it exists. * * @param {String} message The warning message. * @returns {void} */ function warning(message) { /* eslint-disable no-console */ if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error(message); } /* eslint-enable no-console */ try { // This error was thrown as a convenience so that if you enable // "break on all exceptions" in your console, // it would pause the execution at this line. throw new Error(message); } catch (e) {} // eslint-disable-line no-empty } function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) { var reducerKeys = Object.keys(reducers); var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer'; if (reducerKeys.length === 0) { return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.'; } if (!isPlainObject(inputState)) { return "The " + argumentName + " has unexpected type of \"" + kindOf(inputState) + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\""); } var unexpectedKeys = Object.keys(inputState).filter(function (key) { return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]; }); unexpectedKeys.forEach(function (key) { unexpectedKeyCache[key] = true; }); if (action && action.type === ActionTypes.REPLACE) return; if (unexpectedKeys.length > 0) { 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."); } } function assertReducerShape(reducers) { Object.keys(reducers).forEach(function (key) { var reducer = reducers[key]; var initialState = reducer(undefined, { type: ActionTypes.INIT }); if (typeof initialState === 'undefined') { throw new Error( false ? 0 : "The slice reducer for key \"" + 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."); } if (typeof reducer(undefined, { type: ActionTypes.PROBE_UNKNOWN_ACTION() }) === 'undefined') { throw new Error( false ? 0 : "The slice reducer for key \"" + 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."); } }); } /** * Turns an object whose values are different reducer functions, into a single * reducer function. It will call every child reducer, and gather their results * into a single state object, whose keys correspond to the keys of the passed * reducer functions. * * @param {Object} reducers An object whose values correspond to different * reducer functions that need to be combined into one. One handy way to obtain * it is to use ES6 `import * as reducers` syntax. The reducers may never return * undefined for any action. Instead, they should return their initial state * if the state passed to them was undefined, and the current state for any * unrecognized action. * * @returns {Function} A reducer function that invokes every reducer inside the * passed object, and builds a state object with the same shape. */ function combineReducers(reducers) { var reducerKeys = Object.keys(reducers); var finalReducers = {}; for (var i = 0; i < reducerKeys.length; i++) { var key = reducerKeys[i]; if (true) { if (typeof reducers[key] === 'undefined') { warning("No reducer provided for key \"" + key + "\""); } } if (typeof reducers[key] === 'function') { finalReducers[key] = reducers[key]; } } var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same // keys multiple times. var unexpectedKeyCache; if (true) { unexpectedKeyCache = {}; } var shapeAssertionError; try { assertReducerShape(finalReducers); } catch (e) { shapeAssertionError = e; } return function combination(state, action) { if (state === void 0) { state = {}; } if (shapeAssertionError) { throw shapeAssertionError; } if (true) { var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache); if (warningMessage) { warning(warningMessage); } } var hasChanged = false; var nextState = {}; for (var _i = 0; _i < finalReducerKeys.length; _i++) { var _key = finalReducerKeys[_i]; var reducer = finalReducers[_key]; var previousStateForKey = state[_key]; var nextStateForKey = reducer(previousStateForKey, action); if (typeof nextStateForKey === 'undefined') { var actionType = action && action.type; throw new Error( false ? 0 : "When called with an action of type " + (actionType ? "\"" + String(actionType) + "\"" : '(unknown type)') + ", the slice reducer for key \"" + _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."); } nextState[_key] = nextStateForKey; hasChanged = hasChanged || nextStateForKey !== previousStateForKey; } hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length; return hasChanged ? nextState : state; }; } function bindActionCreator(actionCreator, dispatch) { return function () { return dispatch(actionCreator.apply(this, arguments)); }; } /** * Turns an object whose values are action creators, into an object with the * same keys, but with every function wrapped into a `dispatch` call so they * may be invoked directly. This is just a convenience method, as you can call * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. * * For convenience, you can also pass an action creator as the first argument, * and get a dispatch wrapped function in return. * * @param {Function|Object} actionCreators An object whose values are action * creator functions. One handy way to obtain it is to use ES6 `import * as` * syntax. You may also pass a single function. * * @param {Function} dispatch The `dispatch` function available on your Redux * store. * * @returns {Function|Object} The object mimicking the original object, but with * every action creator wrapped into the `dispatch` call. If you passed a * function as `actionCreators`, the return value will also be a single * function. */ function bindActionCreators(actionCreators, dispatch) { if (typeof actionCreators === 'function') { return bindActionCreator(actionCreators, dispatch); } if (typeof actionCreators !== 'object' || actionCreators === null) { throw new Error( false ? 0 : "bindActionCreators expected an object or a function, but instead received: '" + kindOf(actionCreators) + "'. " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?"); } var boundActionCreators = {}; for (var key in actionCreators) { var actionCreator = actionCreators[key]; if (typeof actionCreator === 'function') { boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); } } return boundActionCreators; } /** * Composes single-argument functions from right to left. The rightmost * function can take multiple arguments as it provides the signature for * the resulting composite function. * * @param {...Function} funcs The functions to compose. * @returns {Function} A function obtained by composing the argument functions * from right to left. For example, compose(f, g, h) is identical to doing * (...args) => f(g(h(...args))). */ function compose() { for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } if (funcs.length === 0) { return function (arg) { return arg; }; } if (funcs.length === 1) { return funcs[0]; } return funcs.reduce(function (a, b) { return function () { return a(b.apply(void 0, arguments)); }; }); } /** * Creates a store enhancer that applies middleware to the dispatch method * of the Redux store. This is handy for a variety of tasks, such as expressing * asynchronous actions in a concise manner, or logging every action payload. * * See `redux-thunk` package as an example of the Redux middleware. * * Because middleware is potentially asynchronous, this should be the first * store enhancer in the composition chain. * * Note that each middleware will be given the `dispatch` and `getState` functions * as named arguments. * * @param {...Function} middlewares The middleware chain to be applied. * @returns {Function} A store enhancer applying the middleware. */ function applyMiddleware() { for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) { middlewares[_key] = arguments[_key]; } return function (createStore) { return function () { var store = createStore.apply(void 0, arguments); var _dispatch = function dispatch() { throw new Error( false ? 0 : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.'); }; var middlewareAPI = { getState: store.getState, dispatch: function dispatch() { return _dispatch.apply(void 0, arguments); } }; var chain = middlewares.map(function (middleware) { return middleware(middlewareAPI); }); _dispatch = compose.apply(void 0, chain)(store.dispatch); return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])({}, store), {}, { dispatch: _dispatch }); }; }; } /***/ }), /***/ "../node_modules/reselect/es/defaultMemoize.js": /*!*****************************************************!*\ !*** ../node_modules/reselect/es/defaultMemoize.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createCacheKeyComparator: () => (/* binding */ createCacheKeyComparator), /* harmony export */ defaultEqualityCheck: () => (/* binding */ defaultEqualityCheck), /* harmony export */ defaultMemoize: () => (/* binding */ defaultMemoize) /* harmony export */ }); // Cache implementation based on Erik Rasmussen's `lru-memoize`: // https://github.com/erikras/lru-memoize var NOT_FOUND = 'NOT_FOUND'; function createSingletonCache(equals) { var entry; return { get: function get(key) { if (entry && equals(entry.key, key)) { return entry.value; } return NOT_FOUND; }, put: function put(key, value) { entry = { key: key, value: value }; }, getEntries: function getEntries() { return entry ? [entry] : []; }, clear: function clear() { entry = undefined; } }; } function createLruCache(maxSize, equals) { var entries = []; function get(key) { var cacheIndex = entries.findIndex(function (entry) { return equals(key, entry.key); }); // We found a cached entry if (cacheIndex > -1) { var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top if (cacheIndex > 0) { entries.splice(cacheIndex, 1); entries.unshift(entry); } return entry.value; } // No entry found in cache, return sentinel return NOT_FOUND; } function put(key, value) { if (get(key) === NOT_FOUND) { // TODO Is unshift slow? entries.unshift({ key: key, value: value }); if (entries.length > maxSize) { entries.pop(); } } } function getEntries() { return entries; } function clear() { entries = []; } return { get: get, put: put, getEntries: getEntries, clear: clear }; } var defaultEqualityCheck = function defaultEqualityCheck(a, b) { return a === b; }; function createCacheKeyComparator(equalityCheck) { return function areArgumentsShallowlyEqual(prev, next) { if (prev === null || next === null || prev.length !== next.length) { return false; } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible. var length = prev.length; for (var i = 0; i < length; i++) { if (!equalityCheck(prev[i], next[i])) { return false; } } return true; }; } // defaultMemoize now supports a configurable cache size with LRU behavior, // and optional comparison of the result value with existing values function defaultMemoize(func, equalityCheckOrOptions) { var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : { equalityCheck: equalityCheckOrOptions }; var _providedOptions$equa = providedOptions.equalityCheck, equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, _providedOptions$maxS = providedOptions.maxSize, maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, resultEqualityCheck = providedOptions.resultEqualityCheck; var comparator = createCacheKeyComparator(equalityCheck); var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons function memoized() { var value = cache.get(arguments); if (value === NOT_FOUND) { // @ts-ignore value = func.apply(null, arguments); if (resultEqualityCheck) { var entries = cache.getEntries(); var matchingEntry = entries.find(function (entry) { return resultEqualityCheck(entry.value, value); }); if (matchingEntry) { value = matchingEntry.value; } } cache.put(arguments, value); } return value; } memoized.clearCache = function () { return cache.clear(); }; return memoized; } /***/ }), /***/ "../node_modules/reselect/es/index.js": /*!********************************************!*\ !*** ../node_modules/reselect/es/index.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createSelector: () => (/* binding */ createSelector), /* harmony export */ createSelectorCreator: () => (/* binding */ createSelectorCreator), /* harmony export */ createStructuredSelector: () => (/* binding */ createStructuredSelector), /* harmony export */ defaultEqualityCheck: () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultEqualityCheck), /* harmony export */ defaultMemoize: () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize) /* harmony export */ }); /* harmony import */ var _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultMemoize */ "../node_modules/reselect/es/defaultMemoize.js"); function getDependencies(funcs) { var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs; if (!dependencies.every(function (dep) { return typeof dep === 'function'; })) { var dependencyTypes = dependencies.map(function (dep) { return typeof dep === 'function' ? "function " + (dep.name || 'unnamed') + "()" : typeof dep; }).join(', '); throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]"); } return dependencies; } function createSelectorCreator(memoize) { for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { memoizeOptionsFromArgs[_key - 1] = arguments[_key]; } var createSelector = function createSelector() { for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { funcs[_key2] = arguments[_key2]; } var _recomputations = 0; var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`. // So, start by declaring the default value here. // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.) var directlyPassedOptions = { memoizeOptions: undefined }; // Normally, the result func or "output selector" is the last arg var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object if (typeof resultFunc === 'object') { directlyPassedOptions = resultFunc; // and pop the real result func off resultFunc = funcs.pop(); } if (typeof resultFunc !== 'function') { throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]"); } // Determine which set of options we're using. Prefer options passed directly, // but fall back to options given to createSelectorCreator. var _directlyPassedOption = directlyPassedOptions, _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer // is an array. In most libs I've looked at, it's an equality function or options object. // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full // user-provided array of options. Otherwise, it must be just the _first_ arg, and so // we wrap it in an array so we can apply it. var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions]; var dependencies = getDependencies(funcs); var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() { _recomputations++; // apply arguments instead of spreading for performance. return resultFunc.apply(null, arguments); }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again. var selector = memoize(function dependenciesChecker() { var params = []; var length = dependencies.length; for (var i = 0; i < length; i++) { // apply arguments instead of spreading and mutate a local list of params for performance. // @ts-ignore params.push(dependencies[i].apply(null, arguments)); } // apply arguments instead of spreading for performance. _lastResult = memoizedResultFunc.apply(null, params); return _lastResult; }); Object.assign(selector, { resultFunc: resultFunc, memoizedResultFunc: memoizedResultFunc, dependencies: dependencies, lastResult: function lastResult() { return _lastResult; }, recomputations: function recomputations() { return _recomputations; }, resetRecomputations: function resetRecomputations() { return _recomputations = 0; } }); return selector; }; // @ts-ignore return createSelector; } var createSelector = /* #__PURE__ */createSelectorCreator(_defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize); // Manual definition of state and output arguments var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) { if (selectorCreator === void 0) { selectorCreator = createSelector; } if (typeof selectors !== 'object') { throw new Error('createStructuredSelector expects first argument to be an object ' + ("where each property is a selector, instead received a " + typeof selectors)); } var objectKeys = Object.keys(selectors); var resultSelector = selectorCreator( // @ts-ignore objectKeys.map(function (key) { return selectors[key]; }), function () { for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { values[_key3] = arguments[_key3]; } return values.reduce(function (composition, value, index) { composition[objectKeys[index]] = value; return composition; }, {}); }); return resultSelector; }; /***/ }), /***/ "../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js": /*!***********************************************************************************************!*\ !*** ../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js ***! \***********************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /** * @license React * use-sync-external-store-shim.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ true && (function () { function is(x, y) { return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y); } function useSyncExternalStore$2(subscribe, getSnapshot) { didWarnOld18Alpha || void 0 === React.startTransition || ((didWarnOld18Alpha = !0), console.error( "You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release." )); var value = getSnapshot(); if (!didWarnUncachedGetSnapshot) { var cachedValue = getSnapshot(); objectIs(value, cachedValue) || (console.error( "The result of getSnapshot should be cached to avoid an infinite loop" ), (didWarnUncachedGetSnapshot = !0)); } cachedValue = useState({ inst: { value: value, getSnapshot: getSnapshot } }); var inst = cachedValue[0].inst, forceUpdate = cachedValue[1]; useLayoutEffect( function () { inst.value = value; inst.getSnapshot = getSnapshot; checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst }); }, [subscribe, value, getSnapshot] ); useEffect( function () { checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst }); return subscribe(function () { checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst }); }); }, [subscribe] ); useDebugValue(value); return value; } function checkIfSnapshotChanged(inst) { var latestGetSnapshot = inst.getSnapshot; inst = inst.value; try { var nextValue = latestGetSnapshot(); return !objectIs(inst, nextValue); } catch (error) { return !0; } } function useSyncExternalStore$1(subscribe, getSnapshot) { return getSnapshot(); } "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); var React = __webpack_require__(/*! react */ "react"), objectIs = "function" === typeof Object.is ? Object.is : is, useState = React.useState, useEffect = React.useEffect, useLayoutEffect = React.useLayoutEffect, useDebugValue = React.useDebugValue, didWarnOld18Alpha = !1, didWarnUncachedGetSnapshot = !1, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2; exports.useSyncExternalStore = void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); })(); /***/ }), /***/ "../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js": /*!*************************************************************************************************************!*\ !*** ../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js ***! \*************************************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /** * @license React * use-sync-external-store-shim/with-selector.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ true && (function () { function is(x, y) { return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y); } "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); var React = __webpack_require__(/*! react */ "react"), shim = __webpack_require__(/*! use-sync-external-store/shim */ "../node_modules/use-sync-external-store/shim/index.js"), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore = shim.useSyncExternalStore, useRef = React.useRef, useEffect = React.useEffect, useMemo = React.useMemo, useDebugValue = React.useDebugValue; exports.useSyncExternalStoreWithSelector = function ( subscribe, getSnapshot, getServerSnapshot, selector, isEqual ) { var instRef = useRef(null); if (null === instRef.current) { var inst = { hasValue: !1, value: null }; instRef.current = inst; } else inst = instRef.current; instRef = useMemo( function () { function memoizedSelector(nextSnapshot) { if (!hasMemo) { hasMemo = !0; memoizedSnapshot = nextSnapshot; nextSnapshot = selector(nextSnapshot); if (void 0 !== isEqual && inst.hasValue) { var currentSelection = inst.value; if (isEqual(currentSelection, nextSnapshot)) return (memoizedSelection = currentSelection); } return (memoizedSelection = nextSnapshot); } currentSelection = memoizedSelection; if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection; var nextSelection = selector(nextSnapshot); if (void 0 !== isEqual && isEqual(currentSelection, nextSelection)) return (memoizedSnapshot = nextSnapshot), currentSelection; memoizedSnapshot = nextSnapshot; return (memoizedSelection = nextSelection); } var hasMemo = !1, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot; return [ function () { return memoizedSelector(getSnapshot()); }, null === maybeGetServerSnapshot ? void 0 : function () { return memoizedSelector(maybeGetServerSnapshot()); } ]; }, [getSnapshot, getServerSnapshot, selector, isEqual] ); var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]); useEffect( function () { inst.hasValue = !0; inst.value = value; }, [value] ); useDebugValue(value); return value; }; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); })(); /***/ }), /***/ "../node_modules/use-sync-external-store/shim/index.js": /*!*************************************************************!*\ !*** ../node_modules/use-sync-external-store/shim/index.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) // removed by dead control flow {} else { module.exports = __webpack_require__(/*! ../cjs/use-sync-external-store-shim.development.js */ "../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"); } /***/ }), /***/ "../node_modules/use-sync-external-store/shim/with-selector.js": /*!*********************************************************************!*\ !*** ../node_modules/use-sync-external-store/shim/with-selector.js ***! \*********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) // removed by dead control flow {} else { module.exports = __webpack_require__(/*! ../cjs/use-sync-external-store-shim/with-selector.development.js */ "../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"); } /***/ }), /***/ "react": /*!************************!*\ !*** external "React" ***! \************************/ /***/ ((module) => { "use strict"; module.exports = React; /***/ }), /***/ "react-dom": /*!***************************!*\ !*** external "ReactDOM" ***! \***************************/ /***/ ((module) => { "use strict"; module.exports = ReactDOM; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/global */ /******/ (() => { /******/ __webpack_require__.g = (function() { /******/ if (typeof globalThis === 'object') return globalThis; /******/ try { /******/ return this || new Function('return this')(); /******/ } catch (e) { /******/ if (typeof window === 'object') return window; /******/ } /******/ })(); /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; /*!*************************************************!*\ !*** ../core/common/assets/js/vendors-redux.js ***! \*************************************************/ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); var reduxToolkit = _interopRequireWildcard(__webpack_require__(/*! @reduxjs/toolkit */ "../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js")); var reactRedux = _interopRequireWildcard(__webpack_require__(/*! react-redux */ "../node_modules/react-redux/es/index.js")); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } window.elementorVendors = window.elementorVendors || {}; window.elementorVendors.reduxToolkit = reduxToolkit; window.elementorVendors.reactRedux = reactRedux; })(); /******/ })() ; //# sourceMappingURL=vendors-redux.js.map "use strict";(self.webpackChunkelementorFrontend=self.webpackChunkelementorFrontend||[]).push([[215],{4328:(t,e,i)=>{var n=i(6784);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,i(4846),i(7458),i(6211);var s=n(i(7224)),a=i(7557);class NestedTabs extends s.default{getTabTitleFilterSelector(t){return`[${this.getSettings("dataAttributes").tabIndex}="${t}"]`}getTabContentFilterSelector(t){return`*:nth-child(${t})`}getTabIndex(t){return t.getAttribute(this.getSettings("dataAttributes").tabIndex)}getActiveTabIndex(){const t=this.getSettings(),e=t.ariaAttributes.activeTitleSelector,i=t.dataAttributes.tabIndex;return this.elements.$tabTitles.filter(e).attr(i)||null}getWidgetNumber(){return this.$element.find("> .elementor-widget-container > .e-n-tabs, > .e-n-tabs").attr("data-widget-number")}getDefaultSettings(){const t=this.getWidgetNumber();return{selectors:{widgetContainer:`[data-widget-number="${t}"]`,tabTitle:`[aria-controls*="e-n-tab-content-${t}"]`,tabTitleIcon:`[data-tab-title-id*="e-n-tab-title-${t}"] > .e-n-tab-icon`,tabTitleText:`[data-tab-title-id*="e-n-tab-title-${t}"] > .e-n-tab-title-text`,tabContent:`[data-widget-number="${t}"] > .e-n-tabs-content > .e-con`,headingContainer:`[data-widget-number="${t}"] > .e-n-tabs-heading`,activeTabContentContainers:`[id*="e-n-tab-content-${t}"].e-active`},classes:{active:"e-active"},dataAttributes:{tabIndex:"data-tab-index"},ariaAttributes:{titleStateAttribute:"aria-selected",activeTitleSelector:'[aria-selected="true"]'},showTabFn:"show",hideTabFn:"hide",toggleSelf:!1,hidePrevious:!0,autoExpand:!0}}getDefaultElements(){const t=this.getSettings("selectors");return{$widgetContainer:this.findElement(t.widgetContainer),$tabTitles:this.findElement(t.tabTitle),$tabContents:this.findElement(t.tabContent),$headingContainer:this.findElement(t.headingContainer)}}getKeyboardNavigationSettings(){return this.getSettings()}activateDefaultTab(){const t=this.getSettings(),e=this.getEditSettings("activeItemIndex")||1,i={showTabFn:t.showTabFn,hideTabFn:t.hideTabFn};this.setSettings({showTabFn:"show",hideTabFn:"hide"}),this.changeActiveTab(e),this.setSettings(i),this.elements.$widgetContainer.addClass("e-activated")}deactivateActiveTab(t){const e=this.getSettings(),i=e.classes.active,n=e.ariaAttributes.activeTitleSelector,s="."+i,a=this.elements.$tabTitles.filter(n),o=this.elements.$tabContents.filter(s);return this.setTabDeactivationAttributes(a,t),o.removeClass(i),o[e.hideTabFn](0,()=>this.onHideTabContent(o)),o}getTitleActivationAttributes(){const t=this.getSettings("ariaAttributes").titleStateAttribute;return{tabindex:"0",[t]:"true"}}setTabDeactivationAttributes(t){const e=this.getSettings("ariaAttributes").titleStateAttribute;t.attr({tabindex:"-1",[e]:"false"})}onHideTabContent(){}activateTab(t){const e=this.getSettings(),i=e.classes.active,n="show"===e.showTabFn?0:400;let s=this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(t)),a=this.elements.$tabContents.filter(this.getTabContentFilterSelector(t));if(!s.length){const e=Math.max(t-1,1);s=this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(e)),a=this.elements.$tabContents.filter(this.getTabContentFilterSelector(e))}s.attr(this.getTitleActivationAttributes()),a.addClass(i),a[e.showTabFn](n,()=>this.onShowTabContent(a))}onShowTabContent(t){elementorFrontend.elements.$window.trigger("elementor-pro/motion-fx/recalc"),elementorFrontend.elements.$window.trigger("elementor/nested-tabs/activate",t),elementorFrontend.elements.$window.trigger("elementor/bg-video/recalc")}isActiveTab(t){const e=this.getSettings(),i="true"===this.elements.$tabTitles.filter(`[${e.dataAttributes.tabIndex}="${t}"]`).attr(e.ariaAttributes.titleStateAttribute),n=this.elements.$tabContents.filter(this.getTabContentFilterSelector(t)).hasClass(this.getActiveClass());return i&&n}onTabClick(t){t.preventDefault(),this.changeActiveTab(t.currentTarget?.getAttribute(this.getSettings("dataAttributes").tabIndex),!0)}getTabEvents(){return{click:this.onTabClick.bind(this)}}getHeadingEvents(){const t=this.elements.$headingContainer[0];return{mousedown:a.changeScrollStatus.bind(this,t),mouseup:a.changeScrollStatus.bind(this,t),mouseleave:a.changeScrollStatus.bind(this,t),mousemove:a.setHorizontalTitleScrollValues.bind(this,t,this.getHorizontalScrollSetting())}}bindEvents(){this.elements.$tabTitles.on(this.getTabEvents()),this.elements.$headingContainer.on(this.getHeadingEvents()),elementorFrontend.elements.$window.on("resize",this.onResizeUpdateHorizontalScrolling.bind(this)),elementorFrontend.elements.$window.on("resize",this.setTouchMode.bind(this)),elementorFrontend.elements.$window.on("elementor/nested-tabs/activate",this.reInitSwipers),elementorFrontend.elements.$window.on("elementor/nested-elements/activate-by-keyboard",this.changeActiveTabByKeyboard.bind(this)),elementorFrontend.elements.$window.on("elementor/nested-container/atomic-repeater",this.linkContainer.bind(this))}unbindEvents(){this.elements.$tabTitles.off(),this.elements.$headingContainer.off(),this.elements.$tabContents.children().off(),elementorFrontend.elements.$window.off("resize",this.onResizeUpdateHorizontalScrolling.bind(this)),elementorFrontend.elements.$window.off("resize",this.setTouchMode.bind(this)),elementorFrontend.elements.$window.off("elementor/nested-tabs/activate",this.reInitSwipers),elementorFrontend.elements.$window.off("elementor/nested-elements/activate-by-keyboard",this.changeActiveTabByKeyboard.bind(this)),elementorFrontend.elements.$window.off("elementor/nested-container/atomic-repeater",this.linkContainer.bind(this))}reInitSwipers(t,e){const i=e.querySelectorAll(".swiper");for(const t of i){if(!t.swiper)return;t.swiper.initialized=!1,t.swiper.init()}}onInit(...t){super.onInit(...t),this.getSettings("autoExpand")&&this.activateDefaultTab(),(0,a.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings()),this.setTouchMode(),"nested-tabs.default"===this.getSettings("elementName")&&i.e(304).then(i.bind(i,7469)).then(({default:t})=>{new t(this.getKeyboardNavigationSettings())}).catch(t=>{console.error("Error importing module:",t)})}onEditSettingsChange(t,e){"activeItemIndex"===t&&this.changeActiveTab(e,!1)}onElementChange(t){this.checkSliderPropsToWatch(t)&&(0,a.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings())}checkSliderPropsToWatch(t){return 0===t.indexOf("horizontal_scroll")||"breakpoint_selector"===t||0===t.indexOf("tabs_justify_horizontal")||0===t.indexOf("tabs_title_space_between")}changeActiveTab(t,e=!1){if(e&&this.isEdit&&this.isElementInTheCurrentDocument())return window.top.$e.run("document/repeater/select",{container:elementor.getContainer(this.$element.attr("data-id")),index:parseInt(t)});const i=this.isActiveTab(t),n=this.getSettings();if(!n.toggleSelf&&i||!n.hidePrevious||this.deactivateActiveTab(t),!n.hidePrevious&&i&&this.deactivateActiveTab(t),!i){if(this.isAccordionVersion())return void this.activateMobileTab(t);this.activateTab(t)}}changeActiveTabByKeyboard(t,e){e.widgetId.toString()===this.getID().toString()&&this.changeActiveTab(e.titleIndex,!0)}activateMobileTab(t){setTimeout(()=>{this.activateTab(t),this.forceActiveTabToBeInViewport(t)},10)}forceActiveTabToBeInViewport(t){if(!elementorFrontend.isEditMode())return;const e=this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(t));elementor.helpers.isInViewport(e[0])||e[0].scrollIntoView({block:"center"})}getActiveClass(){return this.getSettings().classes.active}getTabsDirection(){const t=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"tabs_justify_horizontal","",t)}getHorizontalScrollSetting(){const t=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"horizontal_scroll","",t)}isAccordionVersion(){return"contents"===this.elements.$headingContainer.css("display")}setTouchMode(){const t=this.getSettings("selectors").widgetContainer;if(elementorFrontend.isEditMode()||"resize"===event?.type){const e=["mobile","mobile_extra","tablet","tablet_extra"],i=elementorFrontend.getCurrentDeviceMode();if(-1!==e.indexOf(i))return void this.$element.find(t).attr("data-touch-mode","true")}else if("ontouchstart"in window)return void this.$element.find(t).attr("data-touch-mode","true");this.$element.find(t).attr("data-touch-mode","false")}linkContainer(t){const{container:e}=t.detail,i=e.model.get("id"),n=this.$element.data("id"),s=e.view.$el;if(i===n&&(this.updateIndexValues(),this.updateListeners(s),elementor.$preview[0].contentWindow.dispatchEvent(new CustomEvent("elementor/elements/link-data-bindings"))),!this.getActiveTabIndex()){const e=t.detail.index+1||1;this.changeActiveTab(e)}}updateListeners(t){this.elements.$tabContents=t.find(this.getSettings("selectors.tabContent")),this.elements.$tabTitles=t.find(this.getSettings("selectors.tabTitle")),this.elements.$tabTitles.on(this.getTabEvents())}updateIndexValues(){const{$widgetContainer:t,$tabContents:e,$tabTitles:i}=this.getDefaultElements(),n=this.getSettings(),s=n.dataAttributes.tabIndex,a=t.data("widgetNumber");i.each((t,i)=>{const o=t+1,r=`e-n-tab-title-${a}${o}`,l=`e-n-tab-content-${a}${o}`;i.setAttribute("id",r),i.setAttribute("style",`--n-tabs-title-order: ${o}`),i.setAttribute(s,o),i.setAttribute("aria-controls",l),i.querySelector(n.selectors.tabTitleIcon)?.setAttribute("data-binding-index",o),i.querySelector(n.selectors.tabTitleText).setAttribute("data-binding-index",o),e[t].setAttribute("aria-labelledby",r),e[t].setAttribute(s,o),e[t].setAttribute("id",l),e[t].setAttribute("style",`--n-tabs-title-order: ${o}`)})}onResizeUpdateHorizontalScrolling(){(0,a.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings())}getHorizontalScrollingSettings(){return{element:this.elements.$headingContainer[0],direction:this.getTabsDirection(),justifyCSSVariable:"--n-tabs-heading-justify-content",horizontalScrollStatus:this.getHorizontalScrollSetting()}}}e.default=NestedTabs},7557:(t,e)=>{function getChildrenWidth(t){let e=0;const i=t[0].parentNode,n=getComputedStyle(i),s=parseFloat(n.gap)||0;for(let i=0;it.clientWidth;if(!n||!s||!a)return;i.preventDefault();const o=parseFloat(t.dataset.pageX),r=i.pageX-o;let l=0;l=20r?-5:r;t.scrollLeft=t.scrollLeft-l,t.classList.add("e-scroll-active")}}}]);

Blog

No posts found

Noticias archivos - Adoptamestizos.com https://adoptamestizos.com/category/noticias/ Protectora de animales en Sevilla y Córdoba ¡Salva una vida, adopta un amigo! Mon, 24 Aug 2026 14:04:02 +0000 es hourly 1 https://adoptamestizos.com/wp-content/uploads/2020/05/cropped-Logo-color-32x32.png Noticias archivos - Adoptamestizos.com https://adoptamestizos.com/category/noticias/ 32 32 Adopta Mestizos cerrará su actividad indefinidamente https://adoptamestizos.com/hastaluego/ https://adoptamestizos.com/hastaluego/#respond Wed, 30 Sep 2020 12:09:15 +0000 https://adoptamestizos.com/?p=69686 La entrada Adopta Mestizos cerrará su actividad indefinidamente se publicó primero en Adoptamestizos.com.

]]>

30 de Septiembre de 2020

 

Todas estas caritas bonitas pertenecen al conjunto de almas que, a día de hoy y muchas desde hace años, forman parte de nuestra familia y siguen buscando adopción.
Les enseñamos así, a modo de resumen y agrupados más o menos por tamaño y características, para que sea manifiesta la bellísima variedad que hay entre ellxs. Criaturas hermosas, bondadosas y necesitadas; cada una con su particular encanto y con necesidades diferentes, deseando encajar en familias que busquen compañeroñxs de vida, que sean conscientes de sus pasados, sus historias, sus carencias y cualidades, y que estén dispuestas a ofrecerles la oportunidad de demostrar lo muchísimo que pueden ofrecernos.

Hacemos esta publicación, también, a modo de comunicado y su consecuente disculpa.
Adopta Mestizos cesará su actividad indefinidamente y hasta nuevo aviso, después de casi nueve años de trabajo frenético y constante.
No vamos a desaparecer, pues muchos animales dependen aún de nosotras y somos la única opción que tienen para alcanzar la felicidad que se les prometió cuando fueron rescatados. No somos de incumplir promesas, y por eso seguiremos dando guerra hasta que todos nuestros animales hayan encontrado el hogar que merecen. Tampoco vamos a cerrar puertas ante casos de extrema necesidad que lleguen a nosotras de manera directa, pues aunque nos gustaría, el espíritu de lucha nunca nos ha permitido mirar hacia otro lado y jamás nos permitirá hacerlo.
Sin embargo, aunque ese poderoso sentimiento de no tirar la toalla sigue causando estragos en una dicotomía que ahora mismo no podemos gestionar, somos conscientes de que algo no funciona. Los engranajes de una maquinaria que lleva años funcionando están viejos, oxidados y los pequeños dientes que los forman empiezan a desencajar en un conjunto que debería ser un todo. Es hora de parar, tomar aire y, si es posible y encontramos la forma, engrasar, reparar y volver a intentarlo.
Desde hoy, la asociación cierra sus puertas hasta que todos los animales encuentren su lugar en el mundo. Y después, la vida dirá.
Con esta publicación os pedimos a nuestros recién estrenados 44.000 seguidores, a nuestros cientos de adoptantes, a todas las personas bonitas que nos seguís desde hace años y habéis vivido con nosotras todas las peripecias con las que hemos sufrido y disfrutado y a cualquier persona que quiera hacerlo, que nos ayudéis a dar sustento al último empujón que necesitamos para poder descansar tranquilas y sabiendo que todos nuestros pequeños tendrán el mejor futuro posible.
Por todos estos años, os pedimos que compartáis esta publicación y las que están por venir para encontrar familias a nuestros queridos, y últimos por ahora, hijos de cuatro patas.
Si alguien está interesado en adoptar, que no dude en escribirnos. Nuestros animales están en Sevilla y Córdoba, pero pueden viajar a donde sea necesario.
veroadopciones@hotmail.com
ireneadopciones@gmail.com

Y si alguien quiere ayudarnos a sufragar las deudas que nos quedan, y que por ahora seguirán subiendo porque todos estos pequeños aún necesitan de nuestro cuidado y atención, podéis hacerlo:
✔ Enviando un donativo por transferencia bancaria ? LA CAIXA: ES31 2100 6091 7902 0003 9666
Concepto: ayuda adopta mestizos
✔ Enviando un donativo por Bizum: 695815788
✔ PayPal: Adopta_Mestizos@hotmail.com
(importante indicar que es para familiares o amigos, si no, PayPal se queda con dinero)
✔ Uniéndote a nuestro grupo Teaming para ayudarnos a salvar vidas por un solo euro al mes ? https://www.teaming.net/adoptamestizos

Reiteramos las disculpas por la inactividad de estos últimos meses, por no dar más de nosotras y por tener que hacer oficial un final que, muy a nuestro pesar, no deja de ser la crónica de una «muerte» anunciada. Entre comillas, eso sí, porque nunca se sabe. La vida da muchas vueltas y por ahora nos vamos a despedir con un HASTA PRONTO, bien grande y en mayúsculas, para que sepáis que tarde o temprano, quizás, volvamos con vosotrxs ?
Gracias por tantos años de apoyo incondicional.
Os queremos ?

La entrada Adopta Mestizos cerrará su actividad indefinidamente se publicó primero en Adoptamestizos.com.

]]>
https://adoptamestizos.com/hastaluego/feed/ 0
Resumen Julio 2020 https://adoptamestizos.com/resumen-julio-2020/ https://adoptamestizos.com/resumen-julio-2020/#respond Thu, 23 Jul 2020 11:52:55 +0000 https://adoptamestizos.com/?p=69549 La entrada Resumen Julio 2020 se publicó primero en Adoptamestizos.com.

]]>

MINI RESÚMENES: GALGOS ?

Son ocho flacos los que forman parte, a día de hoy, de nuestra preciosa manada. Aquí nuestros galgos adultos, a cuál más guapo y necesitado de amor.

NESSY, después de muchos meses esperando y una posible adopción fallida, se encuentra a la espera de conocer el veredicto de una visita pre adopción que tenemos pendiente en Madrid. Si todo va bien, su nueva vida comenzará muy pronto ?

ARETHA y HOUSE siguen en tratamiento para la filaria. Aún les quedan varias semanas de convalecencia, sobre todo a Aretha, cuya enfermedad está más avanzada y necesita el doble de atenciones, aunque ambos evolucionan favorablemente y estamos totalmente seguras de que van a superar la enfermedad, y pronto estarán disponibles para ser adoptados.
Dos galgos maravillosos, con carácter espectacular y mucho, muchísimo que ofrecer a las familias que se fijen en ellos.
Aretha es una galga de unos 7 años, cariñosísima y muy simpática.
House es un galgo XL de unos 3 años, con un porte impresionante y una nobleza que desarma.
GAMORA sigue luchando contra la leishmania y la insuficiencia renal que la misma le ha provocado. Aunque su estado aún es muy delicado, evoluciona favorablemente y empezamos a ver luz al final del oscuro túnel en el que habíamos entrado con ella. Come con apetito, está activa y animada y empieza a mostrar una desvergüenza que aún nos cuesta creer después de lo malita que ha estado ? toca mimarla y afrontar con humor y mucha alegría todas sus trastadas, pues son indicativo de que se encuentra mucho mejor ?
Le toca revisión esta semana ?
THIAGO y CHRONOS están sanos, fuertes y preciosos, y siguen siendo los invisibles por excelencia, llevando ya más de un año a la espera de adopciones que nunca, nunca llegan.
No sabéis lo que os estáis perdiendo con ellos ?
THIAGO tiene unos 5 años y es un majestuoso cruce de galgo y braco con un carácter alegre, sociable y cariñoso. Algo tímido con desconocidos, pero noble como él solo.
CHRONOS tiene 3 años, la vitalidad de un cachorro de pocos meses y todo el amor del mundo preparado para ofrecer a la maravillosa familia que le dé un hogar.

MINI RESÚMENES: CACHORROS ?

Sólo tres bebés en la manada, y mirad que nos encantan los cachorros, pero queeeee tranquiiiilas estamos ? Estos pequeños diablos no inventan nada bueno y siempre acaparan todas las atenciones ?

La llegada de la YENI ha causado furor. Tenemos decenas de interesadxs en la pequeña, y no nos extraña: no se puede ser tan adorable en esta vida ?
Por ahora os agradeceríamos que no enviarais más correos para adoptarla. Estamos seguras de que su futura familia está entre las que nos han escrito, y Yeni va a tener la suerte de poder elegir a la que mejor se adapte a sus necesidades ?
FLOKI y HELGA ya han terminado, al fin, su tratamiento para la anaplasma y el viernes les toca analítica para confirmar que todo ha ido bien ?
Están enoooormes y preciosos y nos tienen a todas babeando ?
Floki tiene ya una bonita familia esperándole y Helga, si todo va bien, podrá decir lo mismo muy pronto ?

MINI RESÚMENES: LOS PEQUES ❤

En este pequeño grupo de miniaturas tenemos un poco de todo.

YUMI, FILIBERTA y PINCHITO ya están totalmente recuperados de sus males, y los tres están a la espera de saber el veredicto de las visitas pre adopción que tenemos pendientes. Si todo va bien, el suplicio que hemos pasado con ellos terminará al fin y podrán comenzar las nuevas vidas que les esperan ? 
El yayo ALF, a falta de saber si le podemos vacunar y hacer algo más para mejorar su calidad de vida, ya está listo para ser adoptado. Recordamos que es un yorkshire mayor de unos, vamos a decir 13 años, y 2.5 kg de peso, muy cariñoso, zalamero, sociable y educado. Por ahora goza de buena salud a pesar de sus achaques y puede llevar una vida totalmente normal, sin mayor preocupación que la de tomar una pastillita al día para ayudar a su corazón a funcionar correctamente.
El estado de MARIPILI sigue siendo favorable. Ya está totalmente recuperada de su última operación y ahora sólo nos queda decidir qué hacer con su patita porque con ella, la verdad, es que estamos muy perdidas y desilusionadas, pues las únicas soluciones que nos dan son amputar, o gastar 1700 euros en una cirugía sin garantías ? Tenemos mucho que hablar y debatir. Su adopción, por ahora, sigue en stand-by hasta que se celebre el juicio por su custodia.
Y con MORALEJA nos hemos llevado el chasco del siglo, aunque ya, sinceramente, nos lo veíamos venir…
Ayer os contamos que la gordi tuvo que ir al veterinario porque hacía pis con sangre y tenía vómitos. Llevábamos días organizando su cita porque, además, no para de engordar, y una perrita que debería pesar 10 kg, va ya por 18.
Después de varias pruebas, hemos sabido que padece hipotiroidismo y posiblemente también síndrome de cushing. Vaya, que sus hormonas se han vuelto completamente locas y esto, irremediablemente, va a complicar muchísimo su adopción…
En fin, no queda otra que ofrecerle lo que necesite en la medida que nos sea posible, y rezar porque exista una maravillosa persona que quiera adoptarla, a pesar de sus diez años de vida y sus hormonas revolucionadas ?

MINI RESÚMENES: LOS GRANDULLONES ?

Como era de esperar, las solicitudes de adopción han diluviado para ESTOICO que, tras pasar por el debido proceso de selección, ya tiene una súper familia esperándole y no os vais a creer la pedazo de vida que le espera ?
Inesperada pero totalmente emocionante ha sido la posible adopción que estamos valorando para PAPA. No queremos decirlo muy alto porque aún no hay nada confirmado, pero si todo va bien, nuestra Papita tendrá pronto el hogar que taaanto tiempo lleva esperando ?Como ya os contamos, la perrita de aguas SIENA ha dado positivo a ehrlichia y actualmente se encuentra en tratamiento. Su adopción tendrá que esperar un poco, pero ya tenemos varios candidatos esperando recibir una respuesta ?
No es de extrañar, porque Siena es mucha Siena ❤BOLLO, ANGY y BUÑUELO, nuestros queridos perros potencialmente perfectos, siguen esperando familias. ¡Qué trabajito cuesta encontrarles buenas familias y qué perros maravillosos os estáis perdiendo por culpa de los prejuicios y de la maldita ley que los condena! ?
Os recordamos que Bollo tiene un añito, Angy dos y medio y Buñuelo no llega al año, y los tres son potencialmente pegajosos, cariñosos, sociables y los mejores compañeros de aventuras que se puede tener en la vida ?

MINI RESÚMENES: LOS MININOS ?

Completamos los resúmenes con nuestros tres nuevos miembros, cada uno con su propia historia, y deseando encontrar su nuevo camino, ahora sí, con final feliz.

Una gatita casera abandonada a su suerte, famélica y llena de calvas que, en su desesperación por recibir atención y poner su vida a salvo, siguió a una de nuestras compañeras hasta su casa.
Un bebé abandonado con una patita totalmente inservible que iba arrastrando como podía mientras trataba de sortear los peligros de la calle.
Una gatita casera, preñada, que iba a casa de una compañera a pedir comida cada día porque no tenía cómo sustentar a las criaturas que empezaban a formarse en su barriguita.
A la primera, una preciosa panterita de alrededor de un año, le han tomado muestras para realizar un cultivo porque las calvitas pueden ser hongos. Es exageradamente cariñosa, ya la habéis visto en el vídeo de esta mañana ? Aunque ha dado negativo a los test, necesita una casita de acogida sin otros gatos para pasar la cuarentena y no contagiar a los demás de los posibles hongos.
Para el segundo no tenemos muchas opciones. A falta de una valoración más exhaustiva, creemos que el problema de su patita se debe a una avulsión del plexo braquial, cuya única solución viable es la amputación. Mientras valoramos opciones, necesitará una casita de acogida.
A la tercera, por suerte, hemos podido castrarla antes de inundar el mundo de más gatitos desamparados. Su embarazo aún era temprano, por lo que hemos tomado la decisión de interrumpirlo, por ella, por unos bebés que vendrían al mundo sin hogar, y por todos los gatos que lo necesitan e inevitablemente ya están entre nosotrxs.
Tiene algo más de un año y es una gatita cariñosa, sociable y negativa a enfermedades.

Así están las cosas, y así de mal nos viene ahora todo esto. Sobre todo por las acogidas. No tenemos dónde meter a ninguno de ellos y las acogidas para gatos brillan por su ausencia.
Por ahora os enseñamos sus preciosas caritas, que sepáis que existen y que necesitan ayuda, y en los próximos días les presentaremos como es debido.
Suplicamos ayuda de todo tipo ?
ACOGIDAS:
veroadopciones@hotmail.com
ireneadopciones@gmail.com – 695 81 57 88 (SÓLO WhatsApp)
Y ECONÓMICA:
✔ Enviando un donativo por transferencia bancaria ? LA CAIXA: ES31 2100 6091 7902 0003 9666
Concepto: ayuda Adopta Mestizos
✔ Enviando un donativo por Bizum: 695815788
✔ PayPal: Adopta_Mestizos@hotmail.com
(importante indicar que es para familiares o amigos, si no, PayPal se queda con dinero)
✔ Uniéndote a nuestro grupo Teaming para ayudarnos a salvar vidas por un solo euro al mes ? https://www.teaming.net/adoptamestizos

La entrada Resumen Julio 2020 se publicó primero en Adoptamestizos.com.

]]>
https://adoptamestizos.com/resumen-julio-2020/feed/ 0
2020 Golpea fuerte, Descansad en paz pequeños ángeles. https://adoptamestizos.com/dep/ https://adoptamestizos.com/dep/#respond Sun, 21 Jun 2020 15:26:06 +0000 https://adoptamestizos.com/?p=69375 La entrada 2020 Golpea fuerte, Descansad en paz pequeños ángeles. se publicó primero en Adoptamestizos.com.

]]>

17 de Mayo de 2020

Hoy tenía que ser un día feliz, pero se acaba de tornar en el más oscuro que vamos a vivir en mucho tiempo.
Eleven acaba de fallecer.
Ella, que se había convertido en un símbolo de nuestra lucha por su fortaleza y su capacidad para afrontar cualquier dolorosa situación que le tocara vivir.
Ella, siempre con una sonrisa y un movimiento de rabo ante cualquier adversidad.
Ella, tan fuerte, despreocupada y feliz.
Ella, tan única, tan especial…
Muchísimo ánimo a su mami Cristina.
Nunca podremos agradecerte que tuvieras el corazón tan grande como para adoptar a una perrita como ella, y que a todas las dificultades que habéis tenido que sufrir juntas, siempre hayas respondido con tanta valentía, amor y firmeza.
Gracias por cuidarla y amarla.
Gracias por tanto.
Gracias ELEVEN por enseñarnos una vez más que lo único imposible es aquello que no intentas.
Descansa en paz cariño.
Nunca te olvidaremos.
?

19 de Junio de 2020
Casi cuatro años han pasado desde que comenzamos una de las aventuras más complicadas, tristes y a la vez gratificantes que hemos tenido la suerte de compartir con nuestros animales. Fue cuando TIBBERS llegó a nuestras vidas más muerto que vivo, con una leishmaniosis brutal, fruto del más rastrero de los abandonos y la desidia más ruin, y que nos costó todo un año de lucha, sudor y lágrimas, hasta que conseguimos ganar la batalla.
Hace casi tres años, nuestro Tibbers encontró una familia de las que se quedan para siempre; una familia especial, justo la que necesitaba, que nos ofreció la confianza y el cariño necesarios para dejar en sus manos a un animal al que queríamos con todo nuestro corazón.
Pero toda historia tiene un final, y por desgracia, la de Tibbers, ha terminado demasiado pronto.
Su familia nunca ha dejado de luchar contra las constantes recaídas que sufría nuestro grandullón. La última fue hace unas semanas, y esta se ha sumado a una dolencia cardíaca desgraciadamente muy común en perros de su raza. Su corazón no ha aguantado más, sus nobles latidos han dejado de resonar para siempre y su grandiosa luz se ha apagado junto a toda la ilusión que siempre ha rodeado la vida del ser más especial que hemos conocido nunca.
Ha podido disfrutar casi tres años de una vida plena, en la que ha sido el rey que nunca debió dejar de ser. No le ha faltado un solo cuidado ni el amor puro que su familia le profesaba. Ha sido feliz, y nos quedamos con eso y con su maravillosa forma de disfrutar la vida. Le recordaremos así: bello, imponente y feliz, siendo un cachorro gigante y, ahora, eterno.
Nunca podremos agradecer lo suficiente a Arantxa y su familia todo lo que han hecho por él; ni todo lo que le han amado, ni lo especiales que han sido para nosotras. Desde aquí les mandamos ánimos, y les pedimos que se queden con los maravillosos tres años de vida que le han regalado a un perro que lo tenía todo perdido.
Tibbers, grandullón, bebé gigante, nuestra querida maravilla del mundo… no te vamos a olvidar JAMÁS. Siempre ocuparás un lugar de honor en nuestros corazones.
El cielo está orgulloso de acoger a la estrella más brillante y bonita que ha tenido nunca.
Descansa en paz.
?

20 de Junio de 2020
La vida está golpeando fuerte a esta familia. Hace unos días perdimos a Tibbers; hoy, sin esperarlo y debido a un trágico accidente, hemos perdido a Gineta.
Nunca se está preparadx para despedir a un miembro de la familia, pero las terribles condiciones en las que ha tenido que marcharse Gineta, y además demasiado pronto, nos han destrozado el corazón a todxs. Fue un fuerte golpe mientras corría libre, como solía hacerlo desde que era la criatura más feliz del mundo junto a María José y su familia. Un maldito golpe que ha terminado con su vida y con toda la ilusión que María José había tenido siempre con ella.
Han luchado como campeonas durante días, haciendo todo lo posible por evitar un final que, la verdad, nadie esperaba, porque confiábamos en la fuerza de Gineta y en el amor que toda su familia le ha hecho llegar, desde todos los puntos donde Gineta legó una de las once partes de corazón que nos dejó cuando fue madre.
Esta mañana sufrió varias crisis convulsivas que su noble corazón no ha podido superar.
Y nos ha dejado huérfanxs.
Gineta fue la semilla de la que nació una de las familias más bonitas que tenemos, compuesta por todas las personas que cuidamos de ella desde que la encontramos, y todos los papás y mamás que a día de hoy cuidan de sus once hijos.
Gineta, cariño, tu cuerpo nos ha dejado, pero tú, galguita buena, seguirás viviendo entre nosotrxs gracias al precioso legado que nos dejaste con tus once cachorros. La familia seguirá unida, y desde allá donde estés, sabemos que cuidarás de ellxs como la madraza que siempre fuiste.
Para ti, María José, no tenemos palabras. Muchísimo ánimo y gracias, mil veces gracias, por cruzarte en su camino y permitir que viviéramos la experiencia más maravillosa que recordamos. Gracias por amarla y por haberle regalado los mejores momentos de su vida.
Nos quedamos con esta foto, del día que os conocisteis y os jurasteis amor eterno.
Tu mamá, tus titas, tu madrina y los papás y mamás de tus once criaturas no te olvidarán jamás.
Descansa en paz.
?

La entrada 2020 Golpea fuerte, Descansad en paz pequeños ángeles. se publicó primero en Adoptamestizos.com.

]]>
https://adoptamestizos.com/dep/feed/ 0
¡Sorteo Solidario! https://adoptamestizos.com/sorteo2020/ https://adoptamestizos.com/sorteo2020/#comments Thu, 18 Jun 2020 09:37:11 +0000 https://adoptamestizos.com/?p=69340 La entrada ¡Sorteo Solidario! se publicó primero en Adoptamestizos.com.

]]>

¡Sorteo Solidario!

¡Atención familia! ¡Ya tenemos listo el sorteo solidario a favor de nuestros animales! ?

Como sabéis, llevamos meses intentando reducir a cero las deudas que tenemos en nuestros veterinarios. Deudas que, debido a que no paramos y a que no dejan de entrar nuevos miembros, no bajan nunca. Además, tenemos a nuestro pequeño poni HOUSE esperando a que recaudemos el dinero para comenzar su tratamiento contra la dichosa filaria, y por él, lanzamos este sorteo.
House fue encontrado en la calle desorientado y muerto de calor, como tantos galgos que aparecen abandonados casi diariamente en Sevilla. Por si eso no fuera suficiente, ha dado positivo a FILARIA, el gusano del corazón; ese temible bichito que campa a sus anchas por la sangre de los perros y que, de no tratarse, se aloja en el corazón hasta crecer tanto que termina obstruyendo las vías más importantes del mismo. Y esa es sólo la forma más conocida, pues la filaria puede instalarse en multitud de órganos provocando daños que pueden llegar a ser muy graves y ocasionar la muerte. Por eso, con esta enfermedad, el tiempo y un tratamiento adecuado son cruciales.
No podemos esperar, así que House empezará a tratarse cuanto antes con un medicamento específico, el immiticide, combinado con un tratamiento preventivo y antibiótico, porque este bichito es muy puñetero y hasta con su muerte puede ocasionar destrozos importantes.
Y nosotras nos echamos a temblar, no solo por la gravedad de la enfermedad, sino también por lo que cuesta su tratamiento, un mínimo de 575€. Entre el veterinario de Sevilla y el de Córdoba acumulamos unos 1000€ de deuda, por lo que nos resulta prácticamente imposible afrontar este gasto solas.
Y ahí entráis ustedes, a través de este fantástico sorteo ¡con 4 premios! podréis ayudar a nuestro querido Dr. House a recuperarse de la filaria ¿fácil verdad?
House es un perro muy fuerte y, como todos, sabemos que saldrá de esta con nuestra ayuda. Así que vamos al lío, campeón ?

¡Atentos al premiazo!

El primer premio de este nuevo sorteo, es una cámara de videovigilancia, para poder cuidar a nuestros compañeros peludos desde la distancia.
El segundo premio es un collar martingale de la tela que elija el segundo ganador con su correa a juego. Hechos totalmente a mano con todo el cariño del mundo y totalmente a medida para el animalito afortunado ?
El tercer premio es una heladera, ¡Estupenda para el veranito que se avecina!
El cuarto premio es un dibujo de tu peludo y dos llaveros a elegir entre todos los modelos de Nicannica Art (podéis encontrarlos en facebook y en instagram con el nombre de @artnicanica)
Bueno, ¿empezamos? ¡No perdáis la oportunidad de hacer que vuestros niños sean los reyes de la casa, y encima, ayudando a los más necesitados!
¡EL NÚMERO CUESTA 2 EUROS!
Para reservar números dejad un comentario o escribidnos privado a las organizadoras.
Para pagar tus números:
LA CAIXA: 2100 8448 01 21 00584573 (IBAN: ES04 2100 8448 0121 0058 4573)
PayPal: Adopta_Mestizos@hotmail.com
Bizum: 695815788
Concepto: tu nombre + números elegidos
Todos los presupuestos, facturas y tratamientos están a vuestra disposición y no tenéis más que pedirlos. Si necesitáis cualquier tipo de información, estaremos encantadas de atenderos en nuestros correos:
veroadopciones@hotmail.com
ireneadopciones@gmail.com
¡¡GRACIAS A TODOS!!
Conoce nuestro trabajo y a nuestros animales en nuestra web:

 

RESULTADOS:

PARTICIPANTES:

0 web – S. Rocamora – PBz

1 – Irate Adp Eiwa – PB

2 – Esmeralda Alvarez Lorenzo – PBz

3 – Silvia Balossi – PP

4 web – S. Rocamora – PBz

5 – Paula Garcia Romero – PBz

6- Leire Amas Lopez PBz

7 – Sergio Arias – PBz

8 – Silvia Balossi – PP

9 – Leire Amas Lopez – PBz

10 – Leire Amas Lopez – Pbz

11- Irina López Beltrán – PBz

12 – Esmeralda Alvarez Lorenzo – PBz

13 – Maribel Alvarez Romero – PBz

14 – Silvia Balossi – PP

15 – Ly Legna – PBz

16 – Braco y kitty –

17 – Sandra Yanez – PP

18 – Leire Amas Lopez – PBz

19 – Leire Amas Lopez – PBz

20 – Lidia Feijoo Garrido PBz

21 – Irate Adp Eiwa – PB

22 – Esmeralda Alvarez Lorenzo PBz

23 – Lola Mestre Moreno – PBz

24 –  Instagram- Reyes Paya Lopez – PBz

25 – Rosi González – PP

26 – Lidia Feijoo Garrido PBz

27 – Sandra Yanez – PP

28 –  Instgram – Celia Sanchez Fernandez – PBz

29 – Ester Mum Xona’s – PP

30 – Esmeralda Alvarez Lorenzo – PBz

31 – Ester Mum Xona’s – PP

32 – Rosi González – PP

33 – Juan Miguel Suárez Rivero – PP

34 – Ester Mum Xona’s – PP

35 – Braco y kitty – P

36 – Ester Mum Xona’s – PP

37 – Maribel Alvarez Romero – PBZ

38 – Ester Mum Xona’s – PP

39 –  web- Tania – PBz

40- Beatriz B.G PBz

41 – Ly Legna – PBz

42 – Paula Garcia Romero – PBz

43 – Juan Miguel Suárez Rivero – PP

44 – Maribel Alvarez Romero – PBz

45 – Alicia Del Río – P

46 –  Instagram- Reyes Paya Lopez – PBz

47 –  Beatriz B.G PBz

48 – Maribel Alvarez Romero – PBz

49 –  Fatima Higuera. PBz

50 – Maribel Alvarez Romero – PBz

51 – Beatriz B.G PBz

52- Paloma Fernandez Pbz

53 – Rosi González – PP

54 –  web- Tania – PBz

55 –  Rosa Argamansilla PP

56 –  Rosa Argamansilla PP

57 –  Rosa Argamansilla PP

58 –  Rosa Argamansilla PP

59 –  Rosa Argamansilla PP

60 –  Lidia Feijoo Garrido PBz

61 –  Beatriz B.G PBz

62 – Rosi González – PP

63 –  Instagram- Reyes Paya Lopez – PBz
64 –  Maria Jose Olivera PBz

65 –  Maria Jose Olivera PBz

66 –  Beatriz B.G PBz

67 – Silvia Balossi – PP

68 –  Beatriz B.G PBz

69 – Braco y kitty – P

70 –  Fatima Higuera PBz

71 –  Fatima Higuera PBz

72 –  Fatima Higuera PBz

73 –  Fatima Higuera PBz

74 –  Beatriz B.G PBz

75 – Rosi González – PP

76 –  Beatriz B.G PBz

77 – Yessica García@yessicagame – PBz

78 – Yessica García@yessicagame – PBz

79 – Yessica García@yessicagame – PBz

80 – Yessica García@yessicagame – PBz

81 – Yessica García@yessicagame – PBz

82 –  Maria Jose Olivera PBz

83 – Rosi González – PP

84 – Silvia Balossi – PP

85 –  Beatriz B.G PBz

86 – Ana Victoria – PBz

87 –  Instagram- Reyes Paya Lopez – PBz

88 –  Beatriz B.G PBz

89 – Ana Victoria – PBz

90 –  Paloma Fernandez Pbz

91 –  Teresa Orts PBz

92 – Teresa Orts PBz

93 – Lidia Feijoo Garrido PBz

94 – Teresa Orts PBz

95 – Teresa Orts PBz

96 – Idoia O’tineb – R

97 – web – S. Rocamora – PBz

98 – Teresa Orts PBz

99 – Teresa Orts PBz

100 – Irate Adp Eiwa – PB

101 – Esmeralda Alvarez Lorenzo – PBz

102 – Teresa Orts PBz

103 – Rosi González – PP

104 – Teresa Orts PBz

105 – Teresa Orts PBz

106 – Ly Legna – PBzv

107 – Instagram- Reyes Paya Lopez – PBz

108 – Teresa Orts PBz

109 – Montse Martine PBz

110 – Montse Martine PBz

111 – Instagram – Alicia y Alejandro -P 

112 – Montse Martine PBz

113 – Braco y kitty – P

114 – Montse Martine PBz

115 – Montse Martine PBz

116 – Alicia Del Río – P

117 – web – S. Rocamora – PBz

118 – Christian Muste PBz

119 – Christian Muste PBz

120 – Christian Muste PBz

121 – Christian Muste PBz

122 – Christian Muste PBz

123 – Rosi González – PP

124 – Christian Muste PBz

125 – Christian Muste PBz

126 – Christian Muste PBz

127 – Christian Muste PBz

128 – Nuri Zara – PBz

129 – Instagram – Alicia y Alejandro – P

130 – Christian Muste PBz

131 – Victoria Álvaro PP

132 – Victoria Álvaro PP

133 – Juan Miguel Suárez Rivero – PP

134 – Victoria Álvaro PP

135 – Victoria Álvaro PP

136 – Victoria Álvaro PP

137 – Laura Ulla Moreno – PBz

138 – Victoria Álvaro PP

139 – Victoria Álvaro PP

140 – Maria Jose Azumy – PBz

141 – Victoria Álvaro PP

142 – Victoria Álvaro PP

143 – Rosi González – PP

144 – Victoria Álvaro PP

145 – Amparo Madrid Tena PP

146 – Amparo Madrid Tena PP

147 – Idoia O’tineb – R

148 – Amparo Madrid Tena PP

149 – Juana Josefa PBz

150 – Maria Jose Azumy – PBz

151- Juana Josefa PBz

152- Juana Josefa PBz

153- Juana Josefa PBz

154- Juana Josefa PBz

155- Juana Josefa PBz

156- Juana Josefa PBz

157- Juana Josefa PBz

158- Juana Josefa PBz

159- Juana Josefa PBz

160 – Maria Jose Azumy – PBz

161 – Amparo Madrid Tena PP

162 – Amparo Madrid Tena PP

163 – Mercedes Acedo: PP

164 – Ana Rivero PBz

165 – Manuela Brown – PP

166 – Juana Josefa PBz

167 – Juana Josefa PBz

168 – Juana Josefa PBz

169 – Juana Josefa PBz

170 – Maria Jose Azumy – PBz

171 – Juana Josefa PBz

172 – Juana Josefa PBz

173 – Juana Josefa PBz

174 – Juana Josefa PBz

175 – Juana Josefa PBz

176 – Ly Legna – PBz

177 – Juana Josefa PBz

178 – Juani Cenizo P

179 – Juani Cenizo P

180 – Lola Mestre Moreno – PBz

181 – Juani Cenizo P

182 – web – S. Rocamora – PBz

183 – Juani Cenizo P

184 – Juani Cenizo P

185 – Juani Cenizo P

186 – Juani Cenizo P

187 – Juani Cenizo P

188 – Juani Cenizo P

189 – Juani Cenizo P

190 – Maria Jose Azumy – PBz

191 – Juani Cenizo P

192 – Juani Cenizo P

193 – Juani Cenizo P

194 – Juani Cenizo P

195 – Juani Cenizo P

196 – Juani Cenizo P

197 – Juani Cenizo P

198 – Juani Cenizo P

199 – Juani Cenizo P

200 – Maria Jose Azumy – PBz

201 – Rocio Valdivia – P

202 – Juani Cenizo PP

203 – Lola Mestre Moreno – PBz

204 – Esther Urtasun – PP

205 – Esther Urtasun – PP

206 – Esther Urtasun – PP

207 – Esther Urtasun – PP

208 – Esther Urtasun – PP

209 – Dani Orera PBz

210 – Maria Jose Azumy – PBz

211 – Rocio Valdivia – P

212 – Esther Urtasun – PP

213 – Alicia Del Río – P

214 – Esther Urtasun – PP

215 – Irina López Beltrán PBz

216 – Adela PBz

217 – Mar Gutiérrez PP

218 – Esther Urtasun – PP

219 – Esther Urtasun – PP

220 – Sherezade Sherezade – R

221 – Sherezade Sherezade – R

222 – Sherezade Sherezade – R

223 – Sherezade Sherezade – R

224 – Sherezade Sherezade – R

225 – Rocio Valdivia – P

226 – Adela M.M – PBz

227 – Esther Urtasun – PP

228 – Manuela Brown – PP

229 – Manuela Brown – PP

230 – Maria Jose Azumy – PBz

231 – Manuela Brown – PP

232 – Manuela Brown – PP

233 – Rosi González – PP

234 – Rocio Valdivia – P

235 – Manuela Brown – PP

236 – Laura Ulla Moreno – PBz

237 – Manuela Brown – PP

238 – Manuela Brown – PP

239 – Manuela Brown – PP

240 – Braco y kitty – P

241 – Rocio Valdivia – P

242 – Manuela Brown – PP

243 – Manuela Brown – PP

244 – Sherezade Sherezade – R

245 – Sherezade Sherezade – R

246 – Sherezade Sherezade – R

247 – Sherezade Sherezade – R

248 – Sherezade Sherezade – R

249 – Maria Jose Azumy – PBz

250 – Ly Legna – PBz

251 – Manuela Brown – PP

252 – Manuela Brown – PP

253 – Manuela Brown – PP

254 – Manuela Brown – PP

255 – Maribel Cordero – R
256 –  Maribel Cordero – R

257- Violeta PBz

258 – Violeta PBz

259 – Toñi Vargas PBz

260 – Toñi Vargas PBz

261 – Toñi Vargas PBz

262 – Toñi Vargas PBz

263 – Toñi Vargas PBz

264 – Toñi Vargas PBz

265 – Toñi Vargas PBz

266 – Toñi Vargas PBz

267 – Toñi Vargas PBz

268 – Toñi Vargas PBz

269 – Beatriz Torres PT

270 – Beatriz Torres PT

271 – Beatriz Torres PT

272 – Beatriz Torres PT

273 – Beatriz Torres PT

274 – Beatriz Torres PT

275 – Beatriz Torres PT

276 – Beatriz Torres PT

277 – Beatriz Torres PT

278 – Beatriz Torres PT

La entrada ¡Sorteo Solidario! se publicó primero en Adoptamestizos.com.

]]>
https://adoptamestizos.com/sorteo2020/feed/ 7
Stanley y Dumpling, Descansad en paz pequeñines https://adoptamestizos.com/stanley-y-dumpling-descansad-en-paz-pequenines/ https://adoptamestizos.com/stanley-y-dumpling-descansad-en-paz-pequenines/#comments Tue, 05 May 2020 08:42:08 +0000 http://adoptamestizos.com/?p=69077 La entrada Stanley y Dumpling, Descansad en paz pequeñines se publicó primero en Adoptamestizos.com.

]]>

La vida sigue golpeando fuerte, y donde más duele…
Hemos perdido a dos de nuestros gatitos. Otra vez. Dos vidas que se han apagado demasiado pronto, sin apenas haber tenido tiempo para disfrutar de lo bonito que empezaba a ser todo; con sus tiernos maullidos, sus restregones y ronroneos…

Stanley se puso igual de malito que su hermano y os prometemos que hemos hecho todo lo posible por evitar el mismo desenlace, hospitalizándole durante tres largos días para asegurar que no le faltasen los mejores cuidados. Ni aun así ha podido ser. Sabíamos que era difícil, pero no hemos escatimado en absolutamente nada para intentar salvarle la vida.

El gran mazazo nos lo hemos llevado con Dumpling ?
Desde que él y su hermana están con nosotrxs os hemos contado con detalle todas las peripecias que hemos vivido con ellos, sabiendo desde el principio que su desarrollo no estaba siendo del todo normal y preparándonos desde el primer día para un desenlace que al inicio esperábamos más pronto que tarde. Pero ya, después de todo lo vivido, y estando a punto de cumplir el primer mes de vida sanos, fuertes y activos, nos habíamos olvidado de ello casi por completo.
Anoche, sobre las 4 de la madrugada y apenas cuatro horas después de su última toma de leche, Dumpling empezó a ponerse muy malito. Fue de repente y sin explicación aparente. A las doce de la noche estaba totalmente normal, comió bien y estaba tan cariñoso y simpático como siempre. La sintomatología que presentó era compatible con una hipoglucemia y de inmediato seguimos el protocolo indicado para contrarrestarla, pero al ver que seguía empeorando nos dimos cuenta de que nos encontrábamos ante algo más grave. Por supuesto llamamos a nuestra veterinaria, que nos dijo que la cosa pintaba muy mal y que posiblemente no daría tiempo ni a llegar a la clínica. Efectivamente, apenas media hora tras comenzar los síntomas, su luz se apagó para siempre en nuestras manos, sin darnos más opción que la de acompañarle hasta que nos regaló su último ronroneo.
No tenemos ni idea de lo que ha podido pasar. Así que por él, y también por su hermana, hoy hemos solicitado la necropsia. A Gyoza le hemos hecho test porque una de las opciones que se barajan es una panleucopenia de nacimiento. Ha dado negativo pero no se puede descartar, y tendremos que esperar a que lleguen los resultados de la necropsia para saber si tenemos que preocuparnos por ella o si, por el contrario, su hermano ha tenido toda la mala suerte del mundo. Necesitamos saberlo. Necesitamos saber si la pequeña corre peligro o si la muerte de Dumpling se podría haber evitado. Lo que sea. Necesitamos saber qué ha pasado.
Por ahora tenemos los ojos totalmente puestos en Gyoza y el alma rezando a lo que sea que nos escuche para que sobreviva a lo que sea que tengan.

Sabemos que con lactantes todo es muy complicado y que hay que estar preparados para lo peor, pero realmente queríamos a estos gatos. Nos han traído una ilusión que hacía tiempo que no sentíamos. Perderlos así…
En fin.

Descansad en paz, pequeñines.
No os vamos a olvidar…

??

La entrada Stanley y Dumpling, Descansad en paz pequeñines se publicó primero en Adoptamestizos.com.

]]>
https://adoptamestizos.com/stanley-y-dumpling-descansad-en-paz-pequenines/feed/ 1
Pequeñas cosas que nos alegran la vida https://adoptamestizos.com/pequenas-cosas-que-nos-alegran-la-vida/ Mon, 27 Apr 2020 09:17:27 +0000 http://adoptamestizos.com/?p=68969 La entrada Pequeñas cosas que nos alegran la vida se publicó primero en Adoptamestizos.com.

]]>

STANFORD ha superado la segunda noche. Sigue muy delicado, pero vive un día más. Unas horas más. Minutos. Da igual. Sigue luchando y la esperanza, aunque tímidamente, va cogiendo fuerza 

Os iremos contando cómo avanza, pero hoy necesitamos desconectar, desahogarnos y valorar esas pequeñas cosillas que nos alegran la vida. Pequeñas cosillas que, por supuesto, tienen pelo, miradas cargadas de ilusión, grandes historias de superación a sus espaldas y momentos únicos que nos dejan para el recuerdo.

Cositas tan bonitas como, por ejemplo, la cabecilla redonda y los ojillos de no enterarse de ná que tiene GYOZA, y los cabreos que se pilla su hermano DUMPLING cuando le toca sesión de higiene, tras la que nos mira con ojos sedientos de venganza. Nunca hemos tenido gatitos tan guarros. Toooodo el día rebozados en caca, maullando como descosidos y pidiendo comida a todas horas por muy redondos que estén. Todavía nos cuesta creer que estén saliendo adelante con toda la guerra que nos han dado, y que estén tan fuertes y sean tan extremadamente cariñosos y agradecidos con lo pequeñitos que son. Dumpling ya tiene las patitas casi normales, aunque su desarrollo sigue siendo extraño y lo que nos vayamos a encontrar cuando sean un poco más grandes, una incógnita. Pero que están absolutamente preciosos y nos tienen muy engatusados, es un hecho 

Nothing found.

La mirada verde de KENSEI es de otro mundo. Llegó con muchos y extraños miedos que han dado mucho trabajo a su mami de acogida Ada, pero cada día mejora un poquito más y empieza a desenvolverse como un cachorrito normal, feliz y despreocupado. Está muy sanote, y estamos seguras de que, de ese cuerpecito precioso, va a salir un perrazo digno de ver ❤

La galguita ALYA sigue muy bien. No ha vuelto a darnos ningún susto salvo por la inoportuna manía que tiene de jugar con las abejas. En una semana le han picado tres y nos trae por el camino de la amargura porque no puede ser más traviesa, pero eso es señal de que está sana y que, como esperábamos, su bajón del otro día no fue más que un susto. Aún tenemos que confirmar si realmente padece ehrlichia. Por ahora sigue en tratamiento y a la espera de una valoración más exhaustiva. Ella, totalmente ajena al sufrimiento que nos causa, se pasa el día liándola y tramando maldades que sólo cesan cuando está agotada y se queda dormida en las posturas más extrañas imaginables. Entonces morimos de amor, y nos preguntamos cómo es posible que una criatura tan adorable tenga dentro tanta «maldad» cachorril y buscamos explicación a esa tendencia autodestructiva que tiene consigo misma y con el entorno que la rodea. En fin, cachorros de galgo. Que os queremos, pero qué agotadores sois ❤

Nothing found.

TAYÍN sigue en su línea: alargándose como un día sin pan y creciendo lo justo y necesario para evitar convertirse en una salchicha con patas. Decir que es guapo se queda muy corto. Es de los cachorros más bonitos, buenos y originales que hemos tenido en la familia. La familia que lo adopte será tremendamente afortunada 
No podemos decir lo mismo de su hermano GANOUSH. Si el caos y la discordia tuvieran forma física, sería sin duda la suya. Qué bicho, qué agotador, qué santa paciencia hay que tener para seguirle el ritmo… pero qué jodidamente adorable, cariñoso y maravilloso que es ? Ganoush será un perrete para disfrutarlo, para quien busque un compañero incansable con el que vivir millones de aventuras.

Nothing found.

Sobre las verduritas no podemos contaros más que maravillas. Qué cachorritas tan buenas, inteligentes y simpáticas. Si es que verlas dormiditas y juntitas ya es todo un regalo ?
Por ahora, claro, que todavía son muy pequeñitas. Cuando digan aquí estamos, nos vamos a enterar de lo que vale un cachorro ?
Ahora mismo se encuentran en tratamiento porque tras la última desparasitación han echado su peso en parásitos, pero en nada estarán recuperadas, y gracias a los cuidados de sus papis de acogida Irene, Javier y Ana, van a crecer sanas y fuertes para poder marchar pronto con sus futuras familias. Nos tienen totalmente enamoradas ❤

Nothing found.

El gatito STANLEY, hermano de Stanford, está muy bien, sanote y fuerte gracias a su mami de acogida Marina que se lo está currando un montón.

Muchos bebés a los que cuidar, y varios que os tienen que contar cositas bonitas pero vamos a esperar a que el último afortunado viaje con su nueva familia para daros todas las buenas noticias de una sentada, que hace falta 

Así, como anécdota, os contamos que hace unos días quisimos hacernos cargo de una cachorrita para la que pedían ayuda desesperada, pero tras toda una noche organizándonos y buscando voluntaria para que la recogiera, la persona que la «rescató» decidió entregarla a saber a quién y en qué condiciones, a pesar de tener ya todo organizado y de insistirle en que no lo hiciera. En fin, la vida.

Cositas tan jodidamente bonitas como nuestros perros potencialmente panaderos, a los que no podemos querer más, ni cada día tener más asco a esa absurda ley que los considera asesinos desde que nacen; que los condena a vivir bajo restricciones injustas y los estigmatiza hasta complicarles la vida en todos los ámbitos en los que se le puede complicar la vida a un perro.

Con estas caras nos reímos nosotras de la ley que los condena.
Con la belleza absoluta e incuestionable de BAGUETTE, que se proclama la perra más bonita del planeta, con su dulzura, su nobleza y sus mil maneras de ponernos de los nervios cada día, y de enamorarnos un poquito más cada uno de ellos, también.
Con la magia que desprende la sonrisa de ANGY, que ya está totalmente rehabilitada y es, posiblemente, la adopción más difícil que tenemos en estos momentos. Y es que sólo necesita una oportunidad para callar bocas y demostrar que es la mejor compañera del mundo.
Con la simpatía y las orejas de CHAPATA, que se ha convertido en una compañera envidiable y una perrita con un saber estar increíble, apta para cualquier familia y deseando enseñar al mundo lo fantástica, guapa y divertida que es. Lo mejor es que ya casi lo ha conseguido ?

Nothing found.

Con la mirada noble de BOLLO, del que, ¿sabéis? casi no podemos hacernos cargo porque de repente apareció un señor que decía que el perro era suyo. Bajo amenazas obligó a la chica que lo rescató a dárselo, sin darnos tiempo a reaccionar ni a hacerlo «desaparecer», porque el tío era un prenda de los buenos. Ya lo dábamos por perdido, hasta que, hace unos días, este hombre le dijo a la chica que en verdad no lo quería porque acababa de echar a su perra y ya con los cachorros tenía suficiente, que si quería, se lo regalaba. Vamos, surrealista todo ?‍♀ Pero bueno, Bollo ya vuelve a estar a salvo, lejos de ese espécimen y deseando conoceros mañana en cuanto le llevemos al veterinario 

Ale, ¿nos adoptáis un pan? ?
Veroadopciones@hotmail.com
Ireneadopciones@gmail.com

Cosas tan jodidamente bonitas como nuestros queridos galgos, nuestros flaquitos, con todas sus formas y colores, su nobleza y su impresionante capacidad para superar cualquier obstáculo que se encuentren a lo largo de sus miserables vidas. Por ellos empezó todo y para ellos siempre habrá un hueco en nuestra familia. Siempre dulces, siempre fuertes, y siempre dispuestos a regalarnos los detalles más especiales que podamos recordar.

Como lo bonita que luce la capa dorada de KILIAN cuando sobre ella incide la luz del sol;
como el perfil egipcio de NÉBULA, y los pequeños pasitos que va dando para superar los miedos que la atormentan;
como la maravillosa relación que tiene SAMBA con los gatos, demostrando una vez más que el amor de los animales no entiende de especies;

Nothing found.

como lo precioso y exótico que es color de TARANTELA, y a la vez e inexplicablemente, el que más indiferencia sufre;
como la esperada tranquilidad de NESSY al saberse al fin a salvo, querida y respetada;
como lo divertidísima y feliz que es SIRI desde el primer momento, sin miedos, sin traumas y sin más preocupación que sacarnos sonrisas cada vez que se le ocurre cualquier locura;

Nothing found.

como CHRONOS disfrutando de un paseo por el campo, simplemente, porque este perro es capaz de alegrarte el día con sólo verlo de espaldas;
como la dulzura de ALIX y lo tontita que es, que todo en la vida le parece bien y afronta cualquier situación con un meneo de rabo y una carita de no enterarse de na que nos va a dejar una huella muy profunda en el corazón;
como la carita de elfo que tiene EINAR.

Hay que quererlos, sin más.
Porque son los animales más especiales que han pisado y pisarán la tierra.

¿Nos adoptas un flaco? ?
Veroadopciones@hotmail.com
Ireneadopciones@gmail.com

Nothing found.

Cosas tan maravillosamente perfectas como nuestros queridos pastores ?

Como la majestuosidad de GOKU, con esa planta de perro de película que tiene; tan grandote, tan espectacular e imponente, y a la vez tan noble y tontorrón. Goku tiene dos años, pero su espíritu sigue siendo el de un tierno cachorro que no parece tener intención de crecer 
Como la ilusión con la que SILVER afronta la vida y su capacidad de adaptación, sin importar los obstáculos que tenga que superar ni la dificultad que estos presenten; siempre feliz, siempre atento y siempre dispuesto a dar un abrazo «unipata» cuando más se necesita.
Como la nobleza de la grandiosa TARAMBANA, posiblemente la perra más leal y agradecida que hemos conocido nunca. Seguimos a la espera de los resultados de las analíticas que enviamos a laboratorio, cruzando dedos para tener pronto buenas noticias y confirmar que nuestra grandullona va a ganar la batalla a la leishmaniosis.
Como la inteligencia y proactividad de ABE, siempre dispuesta a agradar a quien merezca la lealtad de una perra con un carácter único y especial.

¿Os contamos un secreto? En nuestra protectora tenemos cierta reticencia a hacernos cargo de pastores. No porque no nos gusten, en absoluto. Los amamos con toda nuestra alma y guardamos un espacio muy especial en nuestro corazón para ellos. Pero los pastores en general, al contrario de lo que mucha gente cree, son compañeros con necesidades muy exigentes que muchas veces nos vienen grandes incluso a nosotras. Encontrar familias adecuadas para perros tan especiales se nos hace un mundo y solemos tener miedo de no poder estar a su altura. Aunque las cosas como son, siempre acaba ganando el amor que les profesamos y por eso siempre suele haber algún pastorcito necesitado en nuestras filas 

¿Les ayudamos a encontrar familias que les merezcan? ?
Veroadopciones@hotmail.com
Ireneadopciones@gmail.com

Nothing found.

¿Y acaso hay algo más maravilloso que un podenco? ❤
Aquí nuestros podenquitos. Nuestros dulces, únicos y queridísimos podencos. Los olvidados por excelencia, pero verdaderos tesoros para quienes tienen la suerte de compartir sus vidas con ellos y han descubierto su magia.

BANANA, cada día más confiada, cariñosa y feliz.
PINOCHO, ay, Pinocho. Nuestro podenquito invisible, que lleva con nosotras desde que era un bebé y no os podéis imaginar el maravilloso compañero que os estáis perdiendo.
VALENTÍN, con su dulce timidez y su carita de Richard Gere que tan enamoradas nos tiene.

NOVI, con su incansable locura y sus exageradas ganas de agradar a todo el mundo.
HARIRA, la mamá más fuerte, buena y noble del mundo. Posiblemente la perrita con el carácter más fácil y adorable que tenemos en estos momentos.
ENZO, con sus ojazos y su alegría cachorril que nos ha dado vida en momentos difíciles.

Nothing found.

Y la última carita no os suena, ¿verdad? ?
Se llama Filomeno, FILO para los amigos. Tiene 8 meses y acaba de llegar a nuestra manada para hacerla todavía más grande y bonita con esa sonrisa que nos ha desarmado por completo. Porque sí, es un podenco que sabe sonreír, y estamos deseando presentarle porque de verdad que es digno de ver 

¿Nos ayudáis a buscarles un hogar?
Veroadopciones@hotmail.com
Ireneadopciones@gmail.com

Y no nos olvidamos de los pequeñajos de la manada, que ahora mismo no son muchos, pero a pesar de sus cuerpecitos diminutos, se hacen notar a lo grande

A MORALEJA nos la han cambiado. Su carita no tiene nada que ver con la que vimos hace unas semanas, y sus ojillos cansados y tristes ya no son más que un recuerdo. A sus diez años ha conocido, al fin, lo bonito que es que la quieran y la cuiden, y nos muestra su agradecimiento cada día con saltos y meneos de culo que ya quisiera Shakira. Está en pleno tratamiento con doxiciclina para la anaplasma y también está tomando Galastop para cortar esa leche que finalmente no ha podido tomar ningún bebé ?
Estará lista para ser adoptada en unas semanas, y desde ya queremos que os enamoréis de ella y la esperéis en casa, porque de verdad que es una perrita increíble.

SPARKY sigue en su línea de ponerse más galán cada día, pero todavía no ha conseguido enamorar a nadie. También ha cambiado un montón, y se ha convertido en un perrete totalmente casero que adora los mimos, los paseos y las largas siestas en el regazo de su mami de acogida; cuanto más pegadito a ella, mejor.

La recuperación de MARIPILI se está alargando más de lo esperado debido a varias complicaciones que han ido surgiendo. Realmente lo esperábamos; ha sufrido la dejadez y el maltrato durante demasiados años, y diez son muchos para afrontar todos los tratamientos que le han negado durante toda su vida. Aun así, es una perrita MUY fuerte y sigue adelante, recuperándose cada día un poquito más y aprendiendo a disfrutar de cosas tan simples como una caricia, una siesta al sol o un cuenco lleno de buena comida, que hasta ahora eran totalmente desconocidas para ella.

MUSHU sigue alegrándonos las mañanas con sus sonrisas y su zalamería, y LULA, con su leishmaniosis ya totalmente controlada y sus cosas de señora mayor a pesar de haber rejuvenecido al menos la mitad de sus años, nos llena de vida mientras esperamos a que pueda viajar con su nueva familia.

 

Y en contraste con los anteriores, nuestros grandullones ❤

La mastina GRETA, con sus 46 kilazos de amor, su nobleza infinita y sus exóticos ojos, uno de cada color, que desprenden una magia que hipnotiza ?
Greta lleva muchísimo tiempo esperando una familia y para ella buscamos una muy especial; una familia que entienda sus necesidades de mastín, con sus gastos XL, sus cabezazos y que esté dispuesta a corresponder todos los kilos de amor que Greta va a echarles encima 

La guapa de PAPA, ay, nuestra Papita. La perra más buena, alegre, simpática y perfecta del mundo. Ya totalmente recuperada de todas sus dolencias, incluso de las que le dañaron el alma, que han dejado paso a una compañera feliz, con el carácter más fácil que podáis imaginar y toda la alegría y desparpajo que caracterizan a los boxers. Ya está lista para ser adoptada y para ella buscamos cualquier familia que quiera disfrutarla, porque Papa puede adaptarse a todo y tiene un carácter TAN bonito que puede ser la compañera perfecta para cualquier persona, mientras no le falten, eso sí, kilos de pelotas y toneladas de amor 
Es que no la podemos querer más, de verdad. Es única ❤

Nuestra SOUL, que después de más de un año con nosotras ya casi que no nos imaginamos la manada sin ella, pero tiene la suerte de tener una familia que la está esperando con mucha ilusión y la recibirá cuando todo esto acabe. Al fin dejará de dar tumbos. La espera para verla en su nuevo hogar se nos está haciendo eterna ❤

Y a ERIC, contra todo pronóstico, también lo están esperando ? Sí, después de más de un año sin ninguna suerte al fin lo ha conseguido, y no os podéis imaginar lo bonita que es la familia que le espera con los brazos abiertos. Eric viajará cuando podamos asegurar una adaptación de calidad, porque después de tanto tiempo en residencia va a necesitar una gran dedicación para la que su futura familia ya se está preparando 
No podemos con la ilusión, pero vamos a echar de menos publicar por aquí estos pelazos locos ❤

No olvidéis que GRETA y PAPA os esperan 
Veroadopciones@hotmail.com
Ireneadopciones@gmail.com

Nothing found.

Y por último pero no menos importante, los tres mínimos que nos faltan: KYRA, SALSA y STANLEY, el hermanito de Stanford que aún no habéis podido ver bien, así que aquí os dejamos una foto para que se os caigan las babas a gusto ?

KYRA es una gatita de un añito que nos tiene totalmente enamoradas. Es un absoluto amor; cariñosísima, zalamera, reclamadora de atención y ronroneadora implacable hasta conseguir hacerse con todos los mimos disponibles. Una gatita con una belleza espectacular a la par que incomprendida, pero estamos seguras de que muy pronto alguien sabrá verla ❤

SALSA, con su preciosa capa tricolor y sus tres añitos de vida, también ha llegado pisando fuerte. Es una gatita muy cariñosa y casera que en absoluto merece volverse invisible por su leucemia, que vamos a controlar pronto y va a poder hacer vida totalmente normal junto a una familia que tenga ese corazón tan grande que necesita. La semana que viene tenemos cita con ella en el veterinario y sabremos cómo va avanzando.

Y STANLEY… ¿es necesario decir algo? ?
Nació blanco, pero a Stanley ser blanco le resultaba aburrido y ha decidido poner un poquito de color a su vida, convirtiéndose en un pequeño proyecto de gatito gris que nos va a dejar locas de amor, más si cabe ❤

ADOPTA UN GATO HOMBRE YA, y si es adulto mejor, que no sabes lo que te estás perdiendo 
Veroadopciones@hotmail.com
Ireneadopciones@gmail.com

Nothing found.

Por favor, ayudadnos a salvar más vidas ?
Podéis hacerlo:
✔ Enviando un donativo por transferencia bancaria ? LA CAIXA: ES31 2100 6091 7902 0003 9666
Concepto: Ayuda Adopta Mestizos

✔ Enviando un donativo por Bizum: 695815788

✔ PayPal: Adopta_Mestizos@hotmail.com
https://www.paypal.me/adoptamestizos
(importante indicar que es para familiares o amigos, si no, PayPal se queda con dinero)

✔ Uniéndote a nuestro grupo Teaming para ayudarnos a salvar vidas por un solo euro al mes ? https://www.teaming.net/adoptamestizos

La entrada Pequeñas cosas que nos alegran la vida se publicó primero en Adoptamestizos.com.

]]>
Protocolo de Adopciones durante el estado de alarma por el Covid-19 https://adoptamestizos.com/protocolo-de-adopciones-durante-el-estado-de-alarma-por-el-covid-19/ https://adoptamestizos.com/protocolo-de-adopciones-durante-el-estado-de-alarma-por-el-covid-19/#respond Fri, 13 Mar 2020 14:05:31 +0000 http://adoptamestizos.com/?p=68700 Protocolo de Adopciones durante el estado de alarma por el Covid-19 Debido a la declaración del estado de alerta, nos […]

La entrada Protocolo de Adopciones durante el estado de alarma por el Covid-19 se publicó primero en Adoptamestizos.com.

]]>
Protocolo de Adopciones durante el estado de alarma por el Covid-19

La imagen puede contener: perro y exterior
Debido a la declaración del estado de alerta, nos vemos en la obligación de paralizar por ahora todas las adopciones que teníamos organizadas y que puedan surgir en otras provincias durante los días venideros.
Nuestro transporte de confianza ha tomado la decisión, respetable y totalmente coherente, de suspender temporalmente los viajes que tenía programados para las próximas semanas. Tampoco es prudente en estos momentos realizar ningún tipo de viaje entre comunidades, así que nuestros niños tendrán que esperar un poco para poder reunirse con sus familias.
Dadas las circunstancias, tampoco podremos acoger a más animales hasta que los pequeños que tenemos reservados puedan viajar para evitar la saturación de la protectora, salvo casos de extrema urgencia.

Seguiremos atendiendo correos como siempre y realizaremos las visitas pre adopción de forma online si se da el caso, aunque tengamos que esperar para poder entregar a nuestros animales. Las adopciones que tengan lugar en nuestras provincias se gestionarán con total normalidad.

Seguiremos informando e intentaremos alegraros la cuarentena con caritas guapas como las de KILIAN y MUSHU, que siguen esperando adopción 

Y recordad: LOS ANIMALES NO TRANSMITEN EL COVID-19. Os pedimos responsabilidad y cordura en las semanas que se avecinan.Salud a todxs ?

 

Actualización 16/04/2020

COMUNICADO SOBRE ADOPCIONES:

Desde que se declaró el estado de alarma, suspendimos toda actividad que implicase la presencia física de nuestrxs voluntarixs, salvo los traslados al veterinario que fueran estrictamente necesarios. Las visitas pre adopción las estamos realizando online y las adopciones las suspendimos en su totalidad, no habiendo entregado a ningún pequeñín a sus nuevas familias desde entonces.

Sin embargo, tras consultar con nuestro transporte de confianza y saber que han mantenido las rutas con normalidad, hemos decidido comenzar a organizar los viajes de los animales que tenemos reservados, pues se nos han dado garantías de que los mismos llegarán a sus destinos y sus adoptantes podrán ir a recogerles sin tener problemas con las autoridades. Siempre y cuando, eso sí, lxs adoptantes lo deseen y sigan las medidas de seguridad establecidas.

La imagen puede contener: perroDaremos prioridad a los animales que, por su edad y situación, no se vean afectados demasiado por el confinamiento, como por ejemplo los cachorros, que necesitan salir lo mínimo posible por sus vacunas y se encuentran en un período sensible que consideramos esencial para pasar con sus nuevas familias. También a las adopciones que se lleven a cabo en la misma provincia en la que se encuentren los animales.
Los peques que estén en casas de acogida y puedan esperar, se quedarán con nosotras el tiempo que sea necesario.

Así que nada, sólo queríamos contarlo. Vamos a intentar retomar la normalidad poco a poco y ya mismo inundamos esto de finales felices 
La primera afortunada será BRINA, que si todo va bien y no hay cambios, viajará este finde con su nueva familia ❤

Esperamos que estéis todxs bien. Mucho ánimo y fuerza y gracias por seguirnos cada día ❤

 

La entrada Protocolo de Adopciones durante el estado de alarma por el Covid-19 se publicó primero en Adoptamestizos.com.

]]>
https://adoptamestizos.com/protocolo-de-adopciones-durante-el-estado-de-alarma-por-el-covid-19/feed/ 0
¡Resumen Febrero 2020! https://adoptamestizos.com/resumen-febrero-2020/ https://adoptamestizos.com/resumen-febrero-2020/#respond Mon, 24 Feb 2020 14:56:00 +0000 http://adoptamestizos.com/?p=68723 La entrada ¡Resumen Febrero 2020! se publicó primero en Adoptamestizos.com.

]]>

RESUMEN ?
Con objeto de recuperar el ritmo y empezar la semana con un poco de organización, toda la que se puede dentro del caos que tenemos siempre, os dejamos varios montajes de fotos a modo de resumen para que sepáis cómo están las cosas y cómo nos estamos planificando para los próximos días.

Por un lado tenemos a todos los animales que esperan adopción, agrupados más o menos por tamaño. Todos ellos están disponibles y esperan impacientemente los hogares que les hemos prometido ?
Por otro, en el collage donde reza «en trámites», están los niños con adopción confirmada (o en acogida con posibilidad de adopción) y que ya se encuentran en esa recta final, tan emocionante como caótica, a la espera de reunirse con sus nuevas familias. Mientras tanto, siguen dependiendo de nosotras.
Si os fijáis bien quizás notéis alguna ausencia, y eso es sinónimo de buenas noticias ?

* Seguimos necesitando con extrema urgencia casas de acogida para SILVER, TARAMBANA, ANGY y CHRONOS. No les olvidéis, por favor.

* VETERINARIO:
Mañana tenemos cita con PAPA para valorar la operación de sus ojitos.
El miércoles tenemos cita para valorar, por fin, la patita de SILVER. TARAMBANA empieza su tratamiento para la leishmaniosis el mismo miércoles, aún a riesgo de liarla porque no hemos conseguido casa de acogida, pero no puede esperar más, pues corre el riesgo aún mayor de enfermar todavía más. El miércoles también irán al veterinario los hermanitos HUMMUS, GANOUSH y TAYÍN, y la bebé CHICHA. Los cuatro han tenido que ser tratados por parásitos y esperamos que esta semana ya se puedan vacunar.
El jueves tenemos cita con HARIRA, que tiene muchos picores y no sabemos por qué. También tenemos que ir con KILIAN, que tiene toses, con RIGBY, RIVERS y VALENTÍN para vacunar, y tenemos que programar la castración de ABE y NESSY.
LULA ya ha terminado su tratamiento con glucantime y esperaremos unas semanas para repetirle las analíticas.
Y esto es sólo lo más significativo, porque tenemos citas rutinarias mínimo una vez al día ?

* Todavía os tenemos que presentar como es debido a nuestro pequeño VALENTÍN, y nos estamos preparando para dar la bienvenida a cuatro nuevos miembros que esperamos que puedan venir con nosotras esta semana. Dos son de Sevilla y dos de Córdoba, y con estos últimos, si la vida nos lo permite porque por desgracia nunca podemos dar un alto definitivo, nuestra actividad en Córdoba cesará definitivamente después de más de seis años dedicándonos enteramente a ellos.

* Para cualquier información, podéis escribir a nuestros correos de siempre. Recordad que nuestros animales están en Sevilla y Córdoba, que necesitan acogidas en ambas ciudades pero pueden viajar a cualquier provincia para ser adoptados.
Veroadopciones@hotmail.com
Ireneadopciones@gmail.com

* Y si nos queréis ayudar para que todo sea menos duro, podéis hacerlo de muchas formas:

✔ Enviando un donativo por transferencia bancaria ? LA CAIXA: ES31 2100 6091 7902 0003 9666
Concepto: Ayuda Adopta Mestizos

✔ Enviando un donativo por Bizum: 695815788

✔ Enviando un donativo por PayPal: Adopta_Mestizos@hotmail.com (importante indicar que es para familiares o amigos, si no, PayPal se queda con dinero)

✔ Haciendo una donación en nuestra recaudación de Facebook ? https://www.facebook.com/donate/584906538752279/?fundraiser_source=external_url

✔ Uniéndote a nuestro grupo Teaming para ayudarnos a salvar vidas por un solo euro al mes ? https://www.teaming.net/adoptamestizos

La entrada ¡Resumen Febrero 2020! se publicó primero en Adoptamestizos.com.

]]>
https://adoptamestizos.com/resumen-febrero-2020/feed/ 0
Siempre en nuestros corazones, Ekko… https://adoptamestizos.com/dep-ekko/ Sun, 10 Sep 2017 19:53:08 +0000 http://adoptamestizos.org/?p=60691 «Queridos humanos, me dirijo a vosotros por última vez. Ha llegado el momento que ninguno quería que llegara. Tengo que […]

La entrada Siempre en nuestros corazones, Ekko… se publicó primero en Adoptamestizos.com.

]]>
«Queridos humanos, me dirijo a vosotros por última vez.

Ha llegado el momento que ninguno quería que llegara. Tengo que despedirme de vosotros, con todo el dolor de mi corazón. Os prometo que he luchado como un campeón, que he resistido hasta el final, y que nunca, nunca, he dejado de sonreír.
Hoy mi pequeño cuerpo no ha podido más, y me ha pedido que deje de intentarlo.

Sé que esperabais que esto no iba a llegar a tanto. Todos los esperabais. Yo también. Y he hecho todo lo posible por volver de nuevo a vuestro lado, os lo prometo. Pero estoy cansado. Estoy muy cansado, y no puedo más. Tenía que despedirme de vosotros, así que he reunido mis últimas fuerzas para escribiros.

Todos sabéis que siempre he sido un perrito con problemas. Nací con numerosas malformaciones que siempre he llevado con orgullo y por bandera. No me importaba que mi cuerpo no fuese como el de los demás perritos. Tampoco me importaba que mi futuro fuese incierto. Nadie sabía cuándo estos problemas iban a darme la cara. Que iban a hacerlo era un hecho, pero ni siquiera los veterinarios esperaban que lo hicieran tan pronto. Por eso, he disfrutado mucho de mis cuatro meses de vida. He jugado, he reído y he sido tremendamente feliz.
Antes de irme, mis amigos de batas blancas me han explicado que mi pancreatitis no era una pancreatitis normal. Ya de por sí es raro que un bebé como yo la tenga, pero además era demasiado fuerte. Y ha sido más fuerte que yo. Y no sólo ha sido esta enfermedad. Mis organitos no estaban bien, desde que nací, y hoy me han fallado.

¿Sabéis? Aunque desde el principio nadie tenía esperanzas para mí, y aseguraban que este día podría llegar, yo sí las tenía, y sé que vosotros también. Me hubiese gustado ser grande y conocer a esa familia de gran corazón que iba a enamorarse de mí cuando estuviese bien. Nunca he dejado de imaginármela. ¿Cómo sería? ¿Tendrían más perros? ¿Habría niños a los que morderles los cordones de los zapatos? …

Queridos humanos, hoy os escribo por última vez.
No quiero que lloréis por mí. Quiero que sepáis que he sido muy feliz y que agradezco de corazón que hayáis apostado por mi vida. Muchas personas habrían terminado conmigo al saber la de cosas que me acompañaban. Sin ir más lejos, aquel humano que me dejó abandonado en un desguace.

He sido muy feliz, os lo prometo. He conocido el cariño, la compañía, el respeto y he aprendido de vosotros que hay que luchar, aunque la causa esté perdida. No lloréis por mí. Alegraos y sonreíd por los meses que hemos pasado juntos y por todo lo que habéis hecho por mí. No quiero veros tristes.
Me voy sin miedo. Sé que allá donde voy seré feliz y descansaré para siempre, allí donde nadie podrá hacerme daño, ni me abandonará jamás.

Decidle a mi mami Evelyn que la quiero, que le agradezco todo lo que ha hecho por mí. Me lo ha dado todo y más y la echaré muchísimo de menos. Te quiero mamá. Aunque ningún papel lo dijera, tú fuiste mi familia y lo serás para siempre. No estés triste mamá, no llores mi partida. Recuérdame como era, con mi vitalidad y mi sonrisa. Quédate con los buenos momentos que hemos pasado juntos y con todo el amor que nos hemos dado el uno al otro. Dile a Nerva y a Marga que siempre las llevaré en mi corazón y que nunca olvidaré todo lo que me enseñaron.

Ha llegado la hora, amigos míos. Tengo que despedirme. Mis ojitos se me cierran y empiezo a ver una pequeña luz al fondo. Alguien me está llamando desde el otro lado.
Gracias, gracias a todos por acompañarme siempre. Nunca os olvidaré. Me habéis hecho sentir el ser más especial del mundo. Gracias por ayudarme, por luchar junto a mí. Siento que mi corazón se apaga, pero en cada latido puedo sentiros. Puedo sentir vuestra energía, que nunca ha dejado de darme vida.

Ya veo a mis compañeros. Son todos aquellos que lucharon y tampoco lo consiguieron. ¡Tienen alitas mamá! Me dicen que tengo que irme, que cruce sin miedo. Al otro lado viviré con ellos para siempre, brillando como nunca porque aquí en la tierra nos seguirán recordando.
Mami Evelyn, es un arcoíris de muchos colores, como a ti te gustan. Tengo que cruzarlo. Te espero al otro lado, pero por favor, no tengas prisa. Tarda muchísimo en llegar. No te preocupes, yo te estaré esperando siempre.
Me llevo conmigo todo vuestro cariño, queridos humanos. Prometo cuidaros mucho desde aquí, como vosotros habéis hecho conmigo.
Hasta pronto, amigos.

Os quiere, ahora y para siempre,
EKKO».

La entrada Siempre en nuestros corazones, Ekko… se publicó primero en Adoptamestizos.com.

]]>
¡Feliz 2017! https://adoptamestizos.com/feliz-2017/ Sat, 07 Jan 2017 10:58:12 +0000 http://adoptamestizos.org/?p=57562 ¡FELIZ AÑO NUEVO, FAMILIA! Empezamos el 2017 con las pilas bien cargadas. Muchas adopciones a punto de concluir, un nuevo […]

La entrada ¡Feliz 2017! se publicó primero en Adoptamestizos.com.

]]>

¡FELIZ AÑO NUEVO, FAMILIA!

Empezamos el 2017 con las pilas bien cargadas.
Muchas adopciones a punto de concluir, un nuevo amigo y muchos por llegar. Un año que esperamos que, como mínimo, sea igual que el anterior

Y a todos vosotros os deseamos solo y únicamente lo mejor. Porque os lo merecéis, más que nadie. Por seguirnos cada día, por ayudar a nuestros animales todo lo que podéis y más, por acompañarnos en cada locura, tristeza y alegría. Que tengáis un estupendo comienzo de año, y lo que sigue, que no deje de mejorar. ¡Salud, trabajo y alegrías para todos!

Gracias a todos, sobre todo a nuestras maravillosas casas de acogida, a nuestros teamers, a nuestros adoptantes por todo lo bonito que nos han regalado en un año maravilloso. A todas esas increíbles personas que hemos conocido en 2016, y que esperamos que se queden a nuestro lado para siempre

Que el 2017 sea un año para los animales. Que terminemos con el maltrato, con los abandonos y notemos un cambio real para ellos. Que avancemos en todo, por ellos.

Por otro año más, siendo la voz de aquellos que no tienen.

FELIZ 2017.

La entrada ¡Feliz 2017! se publicó primero en Adoptamestizos.com.

]]>