/*! elementor - v3.18.0 - 08-12-2023 */
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "../core/common/assets/js/utils/environment.js":
/*!*****************************************************!*\
!*** ../core/common/assets/js/utils/environment.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var matchUserAgent = function matchUserAgent(UserAgentStr) {
return userAgent.indexOf(UserAgentStr) >= 0;
},
userAgent = navigator.userAgent,
// Solution influenced by https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
// Opera 8.0+
isOpera = !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(' OPR/'),
// Firefox 1.0+
isFirefox = matchUserAgent('Firefox'),
// Safari 3.0+ "[object HTMLElementConstructor]"
isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || function (p) {
return '[object SafariRemoteNotification]' === p.toString();
}(!window.safari || typeof safari !== 'undefined' && safari.pushNotification),
// Internet Explorer 6-11
isIE = /Trident|MSIE/.test(userAgent) && ( /* @cc_on!@*/ false || !!document.documentMode),
// Edge 20+
isEdge = !isIE && !!window.StyleMedia || matchUserAgent('Edg'),
// Google Chrome (Not accurate)
isChrome = !!window.chrome && matchUserAgent('Chrome') && !(isEdge || isOpera),
// Blink engine
isBlink = matchUserAgent('Chrome') && !!window.CSS,
// Apple Webkit engine
isAppleWebkit = matchUserAgent('AppleWebKit') && !isBlink,
isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0,
environment = {
isTouchDevice: isTouchDevice,
appleWebkit: isAppleWebkit,
blink: isBlink,
chrome: isChrome,
edge: isEdge,
firefox: isFirefox,
ie: isIE,
mac: matchUserAgent('Macintosh'),
opera: isOpera,
safari: isSafari,
webkit: matchUserAgent('AppleWebKit')
};
var _default = environment;
exports["default"] = _default;
/***/ }),
/***/ "../modules/admin-top-bar/assets/js/admin-top-bar.js":
/*!***********************************************************!*\
!*** ../modules/admin-top-bar/assets/js/admin-top-bar.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = AdminTopBar;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var _barButton = _interopRequireDefault(__webpack_require__(/*! ./components/bar-button/bar-button */ "../modules/admin-top-bar/assets/js/components/bar-button/bar-button.js"));
var _barHeading = _interopRequireDefault(__webpack_require__(/*! ./components/bar-heading/bar-heading */ "../modules/admin-top-bar/assets/js/components/bar-heading/bar-heading.js"));
var _connectionButton = _interopRequireDefault(__webpack_require__(/*! ./components/connection-button/connection-button */ "../modules/admin-top-bar/assets/js/components/connection-button/connection-button.js"));
var _usePageTitle = __webpack_require__(/*! ./hooks/use-page-title/use-page-title */ "../modules/admin-top-bar/assets/js/hooks/use-page-title/use-page-title.js");
var _environment = _interopRequireDefault(__webpack_require__(/*! elementor-common/utils/environment */ "../core/common/assets/js/utils/environment.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function AdminTopBar() {
var actionButtonsRef = (0, _react.useRef)();
// Handle Top Bar visibility on initiation: Indicate that the admin top bar is visible and the page content needs to push down below the admin top bar for visibility.
(0, _react.useEffect)(function () {
var adminTopBarElement = document.querySelector('#e-admin-top-bar-root');
adminTopBarElement.classList.add('e-admin-top-bar--active');
}, []);
// Handle the page title visibility in admin top bar.
var pageTitleText = (0, _usePageTitle.usePageTitle)();
// Handle the action buttons visibility in admin top bar on initiation.
(0, _react.useEffect)(function () {
var actionButtonElements = document.querySelectorAll('.page-title-action');
actionButtonElements.forEach(function (actionButtonElement) {
actionButtonsRef.current.appendChild(actionButtonElement);
});
}, []);
var finderAction = function finderAction() {
$e.route('finder');
};
var controlSign = _environment.default.mac ? "\u2318" : '^';
var finderTooltipText = __('Search or do anything in Elementor', 'elementor') + " ".concat(controlSign, "+E");
return /*#__PURE__*/_react.default.createElement("div", {
className: "e-admin-top-bar"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "e-admin-top-bar__main-area"
}, /*#__PURE__*/_react.default.createElement(_barHeading.default, null, pageTitleText), /*#__PURE__*/_react.default.createElement("div", {
className: "e-admin-top-bar__main-area-buttons",
ref: actionButtonsRef
})), /*#__PURE__*/_react.default.createElement("div", {
className: "e-admin-top-bar__secondary-area"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "e-admin-top-bar__secondary-area-buttons"
}, /*#__PURE__*/_react.default.createElement(_barButton.default, {
href: window.elementorAdminTopBarConfig.apps_url,
icon: "eicon-integration"
}, __('Apps', 'elementor')), window.elementorAdminTopBarConfig.is_administrator ? /*#__PURE__*/_react.default.createElement(_barButton.default, {
onClick: finderAction,
dataInfo: finderTooltipText,
icon: "eicon-search-bold"
}, __('Finder', 'elementor')) : '', window.elementorCloudAdmin ? window.elementorCloudAdmin() : ''), /*#__PURE__*/_react.default.createElement(_connectionButton.default, null)));
}
/***/ }),
/***/ "../modules/admin-top-bar/assets/js/components/bar-button/bar-button.js":
/*!******************************************************************************!*\
!*** ../modules/admin-top-bar/assets/js/components/bar-button/bar-button.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = BarButton;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function BarButton(props) {
(0, _react.useEffect)(function () {
if (props.dataInfo) {
jQuery('.e-admin-top-bar__bar-button[data-info]').tipsy({
title: function title() {
return this.getAttribute('data-info');
},
gravity: function gravity() {
return 'n';
},
delayIn: 400,
offset: 1
});
}
}, []);
return /*#__PURE__*/_react.default.createElement("a", {
className: "e-admin-top-bar__bar-button",
ref: props.buttonRef,
onClick: props.onClick,
"data-info": props.dataInfo,
href: props.href,
target: props.target
}, /*#__PURE__*/_react.default.createElement("i", {
className: "e-admin-top-bar__bar-button-icon ".concat(props.icon)
}), /*#__PURE__*/_react.default.createElement("span", {
className: "e-admin-top-bar__bar-button-title"
}, props.children));
}
BarButton.propTypes = {
children: PropTypes.any,
dataInfo: PropTypes.string,
icon: PropTypes.any,
onClick: PropTypes.func,
buttonRef: PropTypes.object,
href: PropTypes.string,
target: PropTypes.string
};
/***/ }),
/***/ "../modules/admin-top-bar/assets/js/components/bar-heading/bar-heading.js":
/*!********************************************************************************!*\
!*** ../modules/admin-top-bar/assets/js/components/bar-heading/bar-heading.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = BarHeading;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
function BarHeading(props) {
return /*#__PURE__*/_react.default.createElement("div", {
className: "e-admin-top-bar__heading"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "e-logo-wrapper"
}, /*#__PURE__*/_react.default.createElement("i", {
className: "eicon-elementor",
"aria-hidden": "true"
})), /*#__PURE__*/_react.default.createElement("span", {
className: "e-admin-top-bar__heading-title"
}, props.children));
}
BarHeading.propTypes = {
children: PropTypes.any
};
/***/ }),
/***/ "../modules/admin-top-bar/assets/js/components/connection-button/connection-button.js":
/*!********************************************************************************************!*\
!*** ../modules/admin-top-bar/assets/js/components/connection-button/connection-button.js ***!
\********************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = ConnectionButton;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var _barButton = _interopRequireDefault(__webpack_require__(/*! ../bar-button/bar-button */ "../modules/admin-top-bar/assets/js/components/bar-button/bar-button.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function ConnectionButton() {
var buttonRef = (0, _react.useRef)();
var isUserConnected = elementorAdminTopBarConfig.is_user_connected;
(0, _react.useEffect)(function () {
if (!buttonRef.current || isUserConnected) {
return;
}
jQuery(buttonRef.current).elementorConnect();
}, []);
var tooltipText = __('Connect your account to get access to Elementor\'s Template Library & more.', 'elementor'),
connectUrl = elementorAdminTopBarConfig.connect_url,
buttonText = __('Connect Account', 'elementor'),
targetUrl = '_self';
if (isUserConnected) {
tooltipText = '';
connectUrl = 'https://go.elementor.com/wp-dash-admin-bar-account/';
buttonText = __('My Elementor', 'elementor');
targetUrl = '_blank';
}
return /*#__PURE__*/_react.default.createElement(_barButton.default, {
icon: "eicon-user-circle-o",
buttonRef: buttonRef,
dataInfo: tooltipText,
href: connectUrl,
target: targetUrl
}, buttonText);
}
/***/ }),
/***/ "../modules/admin-top-bar/assets/js/hooks/use-page-title/use-page-title.js":
/*!*********************************************************************************!*\
!*** ../modules/admin-top-bar/assets/js/hooks/use-page-title/use-page-title.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.usePageTitle = void 0;
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
var _react = __webpack_require__(/*! react */ "react");
var usePageTitle = function usePageTitle() {
var _useState = (0, _react.useState)('Elementor'),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
pageTitle = _useState2[0],
setPageTitle = _useState2[1];
(0, _react.useEffect)(function () {
var pageTitleElement = document.querySelector('.wp-heading-inline');
if (!pageTitleElement) {
return;
}
setPageTitle(pageTitleElement.innerText);
}, []);
return pageTitle;
};
exports.usePageTitle = usePageTitle;
/***/ }),
/***/ "../node_modules/object-assign/index.js":
/*!**********************************************!*\
!*** ../node_modules/object-assign/index.js ***!
\**********************************************/
/***/ ((module) => {
"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
/* eslint-disable no-unused-vars */
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
var hasOwnProperty = Object.prototype.hasOwnProperty;
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
function toObject(val) {
if (val === null || val === undefined) {
throw new TypeError('Object.assign cannot be called with null or undefined');
}
return Object(val);
}
function shouldUseNative() {
try {
if (!Object.assign) {
return false;
}
// Detect buggy property enumeration order in older V8 versions.
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
test1[5] = 'de';
if (Object.getOwnPropertyNames(test1)[0] === '5') {
return false;
}
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
var test2 = {};
for (var i = 0; i < 10; i++) {
test2['_' + String.fromCharCode(i)] = i;
}
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
return test2[n];
});
if (order2.join('') !== '0123456789') {
return false;
}
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
var test3 = {};
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
test3[letter] = letter;
});
if (Object.keys(Object.assign({}, test3)).join('') !==
'abcdefghijklmnopqrst') {
return false;
}
return true;
} catch (err) {
// We don't expect any of the above to throw, but better to be safe.
return false;
}
}
module.exports = shouldUseNative() ? Object.assign : function (target, source) {
var from;
var to = toObject(target);
var symbols;
for (var s = 1; s < arguments.length; s++) {
from = Object(arguments[s]);
for (var key in from) {
if (hasOwnProperty.call(from, key)) {
to[key] = from[key];
}
}
if (getOwnPropertySymbols) {
symbols = getOwnPropertySymbols(from);
for (var i = 0; i < symbols.length; i++) {
if (propIsEnumerable.call(from, symbols[i])) {
to[symbols[i]] = from[symbols[i]];
}
}
}
}
return to;
};
/***/ }),
/***/ "../node_modules/prop-types/checkPropTypes.js":
/*!****************************************************!*\
!*** ../node_modules/prop-types/checkPropTypes.js ***!
\****************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/**
* Copyright (c) 2013-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var printWarning = function() {};
if (true) {
var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
var loggedTypeFailures = {};
var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
printWarning = function(text) {
var message = 'Warning: ' + text;
if (typeof console !== 'undefined') {
console.error(message);
}
try {
// --- Welcome to debugging React ---
// This error was thrown as a convenience so that you can use this stack
// to find the callsite that caused this warning to fire.
throw new Error(message);
} catch (x) { /**/ }
};
}
/**
* Assert that the values match with the type specs.
* Error messages are memorized and will only be shown once.
*
* @param {object} typeSpecs Map of name to a ReactPropType
* @param {object} values Runtime values that need to be type-checked
* @param {string} location e.g. "prop", "context", "child context"
* @param {string} componentName Name of the component for error messages.
* @param {?Function} getStack Returns the component stack.
* @private
*/
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
if (true) {
for (var typeSpecName in typeSpecs) {
if (has(typeSpecs, typeSpecName)) {
var error;
// Prop type validation may throw. In case they do, we don't want to
// fail the render phase where it didn't fail before. So we log it.
// After these have been cleaned up, we'll let them throw.
try {
// This is intentionally an invariant that gets caught. It's the same
// behavior as without this statement except with a better message.
if (typeof typeSpecs[typeSpecName] !== 'function') {
var err = Error(
(componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
);
err.name = 'Invariant Violation';
throw err;
}
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
} catch (ex) {
error = ex;
}
if (error && !(error instanceof Error)) {
printWarning(
(componentName || 'React class') + ': type specification of ' +
location + ' `' + typeSpecName + '` is invalid; the type checker ' +
'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
'You may have forgotten to pass an argument to the type checker ' +
'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
'shape all require an argument).'
);
}
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
// Only monitor this failure once because there tends to be a lot of the
// same error.
loggedTypeFailures[error.message] = true;
var stack = getStack ? getStack() : '';
printWarning(
'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
);
}
}
}
}
}
/**
* Resets warning cache when testing.
*
* @private
*/
checkPropTypes.resetWarningCache = function() {
if (true) {
loggedTypeFailures = {};
}
}
module.exports = checkPropTypes;
/***/ }),
/***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
/*!*************************************************************!*\
!*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
\*************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/**
* Copyright (c) 2013-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
var printWarning = function() {};
if (true) {
printWarning = function(text) {
var message = 'Warning: ' + text;
if (typeof console !== 'undefined') {
console.error(message);
}
try {
// --- Welcome to debugging React ---
// This error was thrown as a convenience so that you can use this stack
// to find the callsite that caused this warning to fire.
throw new Error(message);
} catch (x) {}
};
}
function emptyFunctionThatReturnsNull() {
return null;
}
module.exports = function(isValidElement, throwOnDirectAccess) {
/* global Symbol */
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
/**
* Returns the iterator method function contained on the iterable object.
*
* Be sure to invoke the function with the iterable as context:
*
* var iteratorFn = getIteratorFn(myIterable);
* if (iteratorFn) {
* var iterator = iteratorFn.call(myIterable);
* ...
* }
*
* @param {?object} maybeIterable
* @return {?function}
*/
function getIteratorFn(maybeIterable) {
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
if (typeof iteratorFn === 'function') {
return iteratorFn;
}
}
/**
* Collection of methods that allow declaration and validation of props that are
* supplied to React components. Example usage:
*
* var Props = require('ReactPropTypes');
* var MyArticle = React.createClass({
* propTypes: {
* // An optional string prop named "description".
* description: Props.string,
*
* // A required enum prop named "category".
* category: Props.oneOf(['News','Photos']).isRequired,
*
* // A prop named "dialog" that requires an instance of Dialog.
* dialog: Props.instanceOf(Dialog).isRequired
* },
* render: function() { ... }
* });
*
* A more formal specification of how these methods are used:
*
* type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
* decl := ReactPropTypes.{type}(.isRequired)?
*
* Each and every declaration produces a function with the same signature. This
* allows the creation of custom validation functions. For example:
*
* var MyLink = React.createClass({
* propTypes: {
* // An optional string or URI prop named "href".
* href: function(props, propName, componentName) {
* var propValue = props[propName];
* if (propValue != null && typeof propValue !== 'string' &&
* !(propValue instanceof URI)) {
* return new Error(
* 'Expected a string or an URI for ' + propName + ' in ' +
* componentName
* );
* }
* }
* },
* render: function() {...}
* });
*
* @internal
*/
var ANONYMOUS = '< Content<\/p>\n Poza tym warto black horse robot zwr\u00f3ci\u0107 tak\u017ce atencj\u0119 dzi\u0119ki rozwlek\u0142y okres wykonania promocji i gr\u0119, w jakiej spiny istniej\u0105 do odwiedzenia wykorzystywania. Nie istnieje tutaj jackpota, lecz natomiast ta ods\u0142ona wydaje si\u0119 uzupe\u0142niona o darmowe spiny, jakie potrafi\u0105 zjawia\u0107 si\u0119 po formie re-spin, jak wzmacnia wam fuks. Je\u017celi pojawi\u0105 si\u0119 2 symbole Czarnego Konia, bonus Czarnego Konia zostanie aktywowany. Fani maj\u0105 obowi\u0105zek odszuka\u0107 Czarnego Konia, jaki bieg\u0142 w kierunku zachodu \u015bwiat\u0142a s\u0142onecznego, by zyska\u0107 trzydziestu pi\u0119ciu darmowych spin\u00f3w.<\/p>\n Premia zbytnio rejestracj\u0119 w ca\u0142ej kasynie wydaje si\u0119 by\u0107 bardzo dobrze zaprezentowany, a w ca\u0142ej informacji na temat poprzednio znajdziesz te\u017c szyfr, kt\u00f3ry musisz poda\u0107, aby Kasyna online<\/a> kariera zadzia\u0142a\u0142a. Czasem trzeba osi\u0105gn\u0105\u0107 par\u0119 dodatkowych kryteri\u00f3w, a\u017ceby kariera pojawi\u0142a baczno\u015bci pod Twoim koncie. To premia wybitniej hojny ni\u017ali finanse przelane na profil, od razu przeczytasz dlaczego. W produkcji wyszukujemy tytu\u0142owego symbolu czarnego konia, jaki pozwoli nam o\u017cywia\u0107 darmowe spiny. Zabawa Black Horse zbudowana wydaje si\u0119 by\u0107 pochodz\u0105ce z trzech b\u0119bn\u00f3w, w jakich zdoby\u0107 mo\u017cemy chocia\u017cby 3100-krotno\u015b\u0107 tamtego, co postawimy. Gra podaje kompletny zbi\u00f3r najkorzystniejszych bonus\u00f3w i mno\u017cnik\u00f3w, a w dodatku wydaje si\u0119 bardzo intuicyjna.<\/p>\n Je\u015bli wytypujesz prawid\u0142owo, twoja wygrana wraz z ostatecznej rundy zostaje dwukrotnie pomno\u017cona. Czarny ko\u0144 kojarzy si\u0119 spo\u015br\u00f3d niespodziewan\u0105 wygran\u0105, szcz\u0119\u015bliwym zrz\u0105dzeniem losu oraz po\u017c\u0105dan\u0105 zdobycz\u0105 w torze wy\u015bcigowym. Bezcenne emocje zapewnia tak\u017ce automat Black Horse, utworzony za po\u015brednictwem producenta Wazdan. Jest to 1-a wraz z takich urz\u0105dze\u0144, kt\u00f3ra kr\u00f3luje we wszelkiego rankingach najlepszych slot\u00f3w online. Pod samym duszy dolnego kasetonu posiadamy guzik zapocz\u0105tkowania batalii, kt\u00f3ry w ca\u0142ej przytrzymaniu chce automatyczn\u0105 gr\u0119. Nie zaakceptowa\u0107 istniejemy zatem skazani dzi\u0119ki dzienne klikanie owego przycisku, aby zapocz\u0105tkowa\u0107 nast\u0119puj\u0105ce losowanie.<\/p>\n Je\u017celi przypuszczalnie, istnieje niezwykle du\u017co korzy\u015bci pochodz\u0105ce z promocji wyj\u0105wszy depozytu. Odrzuci\u0107 da uwagi ukry\u0107, hdy Black Horse robot do rozrywki od czasu firmy Wazdan owe dosy\u0107 popularna w sieci rozrywka hazardowa. Black Horse automat przez internet darmowo jak i r\u00f3wnie\u017c w\u0142asny po rzeczywiste pieni\u0119dzy posiada szereg dw\u00f3ch b\u0119bn\u00f3w wraz z dw\u00f3ch rz\u0119dami symboli i pi\u0119\u0107 linii wyp\u0142at.<\/p>\n Stosowanie osi\u0105galnych w konkretnym wortalu licencjonowanych kasyn sieciowy przynosi kompletne ochrona \u017cycia i zdrowia istnienia i zdrowia Twej w\u0142asnej uciechy po automatach internetowego. Gra wydaje si\u0119 dzie\u0142em wytw\u00f3rcy Push Gaming oraz wydaje si\u0119 by\u0107 wypuszczona dzi\u0119ki za w 2019 roku. Lecz w\u00f3wczas gdy grasz pod prawdziwe pieni\u0105\u017cki, to nim gr\u0105 przy nowatorskim automacie jeste\u015b zobligowany rzuci\u0107 okiem do odwiedzenia tabeli wyp\u0142at. Zawsze pojawiaj\u0105 si\u0119 nowe produkcje udost\u0119pniane za spraw\u0105 fabrykant\u00f3w dostarczaj\u0105cych je wirtualnym kasynom. Kumpli uruchomili\u015bmy zbi\u00f3r komputer\u00f3w hazardowych darmowo przedmiot\u00f3w, kt\u00f3re pozwalaj\u0105 po\u0107wiczy\u0107 zanim rozpocz\u0119ciem rzetelnej cz\u0119\u015bci. Natomiast o ile u\u0142o\u017cysz 5 symboli \u201csi\u00f3demki\u201d zdob\u0119dziesz jackpota 8.<\/p>\n Opcja dotarcia do odwiedzenia rzetelnych danych empirycznych w ten spos\u00f3b, jakie mo\u017cliwo\u015bci naprawd\u0119 hhg okre\u015blone kasyno z brakiem depozytu, to w dzisiejszych czasach rzecz zasadnicza. Pod naszym recenzjom, wszelcy gracz komputer\u00f3w losowych jest w stanie doj\u015b\u0107 do odwiedzenia nadzwyczaj wiernych, porz\u0105dnych jak i r\u00f3wnie\u017c opartych na faktycznych testach danych. Wspomniana w tym momencie grafika, wydaje si\u0119 bardzo interesuj\u0105ca, mimo hdy nie wydaje si\u0119 by\u0107 bardzo zaawansowana, czyni niezwykle pewne odczucie. Owe niezasadnicze pakiety cookie jak i r\u00f3wnie\u017c istniej\u0105 gromadzone po przegl\u0105darce klienta tylko i wy\u0142\u0105cznie zbyt tej zgod\u0105. U\u017cytkownik ma mo\u017cliwo\u015b\u0107 zrezygnowania spo\u015br\u00f3d nieistotnych plik\u00f3w cookie, jednak\u017ce ma mo\u017cliwo\u015b\u0107 owo powstrzymywa\u0107 wygod\u0119 sprawdzania stronicy. Zakwalifikowali\u015bmy j\u0105 kiedy owoc\u00f3wk\u0119, jednak\u017ce nie jawi si\u0119 by\u0107 jest to doskona\u0142y automat z wynikami.<\/p>\n Jest to pani jest lady of fortune Slot Free Spins odpowiedzialna za wyszukiwanie s\u0142awy kasyna oraz wszelkie rekomendacje, odno\u015bnie do zabawy i platformy hazardowe. Zapoznaj si\u0119 naszymi recenzjami kasyn sieciowy, by wyselekcjonowa\u0107 owe najpozytywniejsze, kt\u00f3re to zapewni\u0105 Wam rozgrywk\u0119 po Black Horse od momentu Wazdan. Tworyc te rolety, umieszczamy czujno\u015bci tylko najsurowszymi kryteriami, przez co rekomendujemy tylko i wy\u0142\u0105cznie bezpieczne punktu. Za wytw\u00f3rczo\u015b\u0107 tego\u017c automatu jest adekwatny atelier Wazdan, kt\u00f3re wypu\u015bci\u0142o fita przy rok 2012. Wszystkie wymienione opcje osi\u0105galne s\u0105 do odwiedzenia dyspozycji graczy od czasu r\u0105k.<\/p>\n Chodzi o to, by wybra\u0107 tylko ustawowe kasyna, zwraca\u0107 uwag\u0119 na opinie, testowa\u0107 ochrona i uwa\u017cnie czyta\u0107 przepis kasyna. Jest to kasyno internetowego robot, kt\u00f3ry \u015bwieci\u0142 swe sukcesy w ca\u0142ej kasynach stacjonarnych jak i r\u00f3wnie\u017c skupia\u0142 wok\u00f3\u0142 mojej dziurki spore naszych fan\u00f3w. W momencie, jak raz po raz nagminniej zacz\u0119\u0142y pojawia\u0107 si\u0119 kasyna online, odrzuci\u0107 zdo\u0142a\u0142o zabrakn\u0105\u0107 w wymienionych klasyka, kt\u00f3rym wydaje si\u0119 by\u0107 Black Horse. Owo machina, opieraj\u0105ca baczno\u015bci dzi\u0119ki prawami imponuj\u0105cych owoc\u00f3wek, jednak\u017ce dysponuje troch\u0119 wi\u0119cej mo\u017cliwo\u015bci, jak przy dostrzegalnej mierze ciekawi klienta. Po automacie sieciowy Black Horse dysponujesz a\u017c trzy mo\u017cliwo\u015bci nabycia bezp\u0142atnych spin\u00f3w jak i r\u00f3wnie\u017c powi\u0119kszonych wygranych. Mo\u017cesz zyska\u0107 kolejny, trzydzie\u015bci b\u0105d\u017a 45 bezp\u0142atnych zakr\u0119ce\u0144, o ile wy\u0142\u0105cznie w produkcji wypadn\u0105 nale\u017cyte symbole.<\/p>\n Jednor\u0119ki bandzior Black Horse wydaje si\u0119 tak samo atrakcyjny, g\u0142\u00f3wnie hdy poprzez bardzo rozwlek\u0142y okres odrzuci\u0107 pojawia\u0142 czujno\u015bci w ca\u0142ej sieci. A jak ju\u017c baczno\u015bci pojawi\u0142, wskoczy\u0142 do czo\u0142\u00f3wki ranking\u00f3w na najpozytywniejsze maszyny internetowego. Sytuacj\u0119 ratuj\u0105 animacje pojawiaj\u0105ce uwagi po produkcji oraz przy tle, kt\u00f3re to dodaj\u0105 mu znakomitego kolorytutonu.<\/p>\n Gary sta\u0142y si\u0119 hojne, przynosz\u0105c nam wygrane w wysoko\u015bci w\u0142a\u015bciwie 58,75 jak i r\u00f3wnie\u017c 114,dwudziestu czterech. Chc\u0105c urozmaici\u0107 swe do\u015bwiadczenia, odwa\u017cy\u0142em uwagi w Black Horse Spins, wymieniaj\u0105c 42,00 na 10-ciu spodziewanych obrot\u00f3w. Wed\u0142ug oczekiwaniami, b\u0119bny baczno\u015bci obr\u00f3ci\u0142y, zapewniaj\u0105c nam wygran\u0105 w wysoko\u015bci 36,00. O ile grasz na slocie Black Horse Deluxe bezp\u0142atnie, zamierzasz skorzysta\u0107 z pobocznych przycisk\u00f3w.<\/p>\n A jakie mo\u017cliwo\u015bci w tej chwili czujno\u015bci pojawi\u0142, wskoczy\u0142 do czo\u0142\u00f3wki notowa\u0144 na najlepsze urz\u0105dzenia internetowego. Darmowe spiny, pozorne kapita\u0142, bonusy w ci\u0105gu rejestracj\u0119 istniej\u0105 przyznawane przy u\u017cyciu kod\u00f3w zni\u017ckowych. Bonus Owo strategia zapewniania graczowi bezp\u0142atnych pieni\u0119dzy \/ funkcji uciechy (na przyk\u0142ad free spin\u00f3w) do wykorzystywania po ustalonym portalu. W\u00f3wczas gdy jeszcze nie wiesz, jaki to kasyno nadprogram z brakiem depozytu najdogodniejszy, to inspirujemy do odwiedzenia uzyskania naszego w\u0142asnego materia\u0142u.<\/p>\n Na naszym portalu masz mo\u017cliwo\u015b\u0107 wypr\u00f3bowa\u0107 hazard Black Horse nieodwo\u0142alnie bezp\u0142atnie. Darmowe zabawy Black Horse pomog\u0105 ci sprawdzi\u0107 gr\u0119 oraz spotyka\u0107 do niej normy bezpiecznie na rzecz Swoich pieni\u0119dzy. Alternatywnie mo\u017cesz wypr\u00f3bowa\u0107 sygart w wydaniu demo ruletka online bezp\u0142atnie dzi\u0119ki naszym portalu domowej. Ka\u017cdy \u015bwie\u017cy gracz kasuje realn\u0105 cyfr\u0119 darmowych spin\u00f3w, najcz\u0119\u015bciej na black horse automat jackpot wyznaczon\u0105 za po\u015brednictwem kasyno gr\u0119. Kasyna przez internet premia z brakiem depozytu daj\u0105 przer\u00f3\u017cne propozycje, ilo\u015b\u0107 spin\u00f3w odr\u00f3\u017cnia uwagi na tle tamtego, w kt\u00f3rym miejscu uwagi zapisujesz. Przewa\u017cnie najmniejsz\u0105 skal\u0105 jest 10-ciu darmowych spin\u00f3w, pierwotnego liczba mo\u017ce dotrze\u0107 chocia\u017cby sto, niekiedy podobnie wi\u0119ksz\u0105 ilo\u015b\u0107.<\/p>\n Sterowanie gr\u0105 odbywa si\u0119 dzi\u0119ki panel sterowania w dolnej fragmentu ekranu. Dla twej dogodne warunki om\u00f3wili\u015bmy post\u0119powanie wszystkich przycisk\u00f3w rozmieszczonych na zanim. VegasSlotsOnline wykorzystuje pakiety cookie, by poprawi\u0107 swoje praktyka zbyt poruszania si\u0119 po stronie. O ile zdecydujecie czujno\u015bci w granie przy Black Horse demo, nie zaakceptowa\u0107 ryzykujecie straty naszych rzeczywistych pieni\u0119dzy. Odbitka graficzna wydaje si\u0119 prosta, jednak\u017ce nadal ciekawa, przez co w\u0142asny robot wideo wydaje si\u0119 fascynuj\u0105cy wizualnie.<\/p>\n Znak \u017c\u00f3\u0142wia zapewnia przebudowa\u0107 pr\u0119dko\u015b\u0107 obrotu b\u0119bn\u00f3w, a powy\u017cej opcja play jest to automatyczna gra. W ca\u0142ej lewej stronie internetowej liczba rodzimego konta bankowego, a przycisk \u201ei\u201d zapewnia podejrze\u0107 tabel\u0119 wyp\u0142at. Rozrywki automaty Black Horse oferuj\u0105 opcja r\u00f3wnie\u017c wykluczy\u0107 ha\u0142asy albo aktywowa\u0107 ca\u0142kowity ekran. U nas mo\u017cesz sprawdzi\u0107 gry hazardowe Black Horse nieodwo\u0142alnie bezp\u0142atnie.<\/p>\n","protected":false},"excerpt":{"rendered":" Content B\u0105d\u017a RTP wi\u0119kszo\u015b\u0107,07percent Black Horse jest to rzetelna cena? | Kasyna online Tabela wyp\u0142at oraz symbole \u2013 kiedy zwyci\u0119\u017cy\u0107? … <\/i>\u0627\u0642\u0631\u0623 \u0623\u0643\u062b\u0631<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9875","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/posts\/9875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/comments?post=9875"}],"version-history":[{"count":1,"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/posts\/9875\/revisions"}],"predecessor-version":[{"id":9876,"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/posts\/9875\/revisions\/9876"}],"wp:attachment":[{"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/media?parent=9875"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/categories?post=9875"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leomindustry.com\/wp-json\/wp\/v2\/tags?post=9875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}\n
\n
B\u0105d\u017a RTP wi\u0119kszo\u015b\u0107,07percent Black Horse jest to rzetelna cena? | Kasyna online<\/h2>\n
<\/p>\n
\n
Tabela wyp\u0142at oraz symbole \u2013 kiedy zwyci\u0119\u017cy\u0107?<\/h2>\n
Bezp\u0142atne spiny<\/h2>\n
<\/p>\n
Better Free revolves Bonuses dragon drop slot free spins in the Casinos on the internet Maximize Victories<\/h2>\n
Black Horse slot \u2013 g\u0142\u00f3wne opcje<\/h2>\n
<\/p>\n
Opcje automatu do odwiedzenia gry Black Horse za darmo<\/h2>\n