diff --git a/.gitignore b/.gitignore
index 0c69bff..2e614d7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@ retailcrm/views/css/*.map
retailcrm/views/js/*.map
retailcrm/config*.xml
retailcrm/custom
+retailcrm/override
upgrade/upgrade-*.php
!upgrade/upgrade-sample.php
coverage.xml
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b5bbd13..29ff843 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,16 @@
+## v3.4.0
+* Обновлен дизайн настроек модуля
+* Добавлена возможность выгружать в CRM только невыгруженные заказы
+* Рефакторинг RetailcrmHistory, улучшена работа с адресами
+* Добавлена очистка старых файлов модуля при обновлении
+* Добавлен фильтр RetailcrmFilterOrderStatusUpdate
+* Улучшена обработка исключений на новых версиях PHP
+
## v3.3.5
* Рефакторинг RetailcrmProxy для работы с API
* Улучшена синхронизация типов оплат
* Атрибуты товаров добавлены в ICML
-* Дабвлено списание остатков товаров при обратной синхронизации заказов
+* Добавлено списание остатков товаров при обратной синхронизации заказов
* Рефакторинг выгрузки заказов в CRM
* Добавлен CS Fixer в проект
* Добавлено конвертирование единиц измерения веса товаров при генерации ICML
diff --git a/VERSION b/VERSION
index fa7adc7..1809198 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.3.5
+3.4.0
diff --git a/doc/2. Workflow/Templates & Views/README.md b/doc/2. Workflow/Templates & Views/README.md
index a74e57e..7a82063 100644
--- a/doc/2. Workflow/Templates & Views/README.md
+++ b/doc/2. Workflow/Templates & Views/README.md
@@ -1,2 +1,17 @@
# Templates & Views
+Начиная с версии 3.4.0 frontend-часть страницы настроек модуля разрабатывается в виде отдельного приложения на VueJs (далее – приложение)
+
+Код приложения хранится в отдельном закрытом репозитории
+
+В момент загрузки страницы настроек PrestaShop вызывает метод `RetailCRM::getContent`, который отвечает за рендер страницы.
+Данные для приложения и указание на файл шаблона подготавливаются в классе `RetailcrmSettingsTemplate`
+
+Подключение приложения производится в файле шаблона `retailcrm/views/templates/admin/index.tpl`.
+Там же передаются все необходимые данные в объект `window.$appData`
+
+Для динамического обновления информации на странице приложение делает запросы в контроллеры.
+Контроллеры находятся в папке `retailcrm/controllers/admin`
+
+Для работы контроллеров их необходимо зарегистрировать в БД PrestaShop.
+Модуль делает это при установке и обновлении в методе `RetailCRM::installTab`
diff --git a/retailcrm/controllers/admin/RetailcrmAdminAbstractController.php b/retailcrm/controllers/admin/RetailcrmAdminAbstractController.php
index f25e6f7..a6c26bd 100644
--- a/retailcrm/controllers/admin/RetailcrmAdminAbstractController.php
+++ b/retailcrm/controllers/admin/RetailcrmAdminAbstractController.php
@@ -38,6 +38,11 @@
class RetailcrmAdminAbstractController extends ModuleAdminController
{
+ /**
+ * @var RetailCRM
+ */
+ public $module;
+
public static function getId()
{
$tabId = (int) Tab::getIdFromClassName(static::getClassName());
diff --git a/retailcrm/controllers/admin/RetailcrmAdminPostAbstractController.php b/retailcrm/controllers/admin/RetailcrmAdminPostAbstractController.php
new file mode 100644
index 0000000..ab95173
--- /dev/null
+++ b/retailcrm/controllers/admin/RetailcrmAdminPostAbstractController.php
@@ -0,0 +1,85 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+require_once dirname(__FILE__) . '/../../bootstrap.php';
+
+class RetailcrmAdminPostAbstractController extends RetailcrmAdminAbstractController
+{
+ public function postProcess()
+ {
+ $this->ajaxDie(json_encode($this->getData()));
+ }
+
+ protected function getData()
+ {
+ try {
+ switch ($_SERVER['REQUEST_METHOD']) {
+ case 'POST':
+ return $this->postHandler();
+ case 'GET':
+ return $this->getHandler();
+ default:
+ return [];
+ }
+ } catch (Exception $e) {
+ return RetailcrmJsonResponse::invalidResponse($e->getMessage());
+ } catch (Error $e) {
+ return RetailcrmJsonResponse::invalidResponse($e->getMessage());
+ }
+ }
+
+ /**
+ * @return array
+ *
+ * @throws Exception|Error
+ */
+ protected function postHandler()
+ {
+ throw new Exception('Method not allowed');
+ }
+
+ /**
+ * @return array
+ *
+ * @throws Exception|Error
+ */
+ protected function getHandler()
+ {
+ throw new Exception('Method not allowed');
+ }
+}
diff --git a/retailcrm/controllers/admin/RetailcrmExportController.php b/retailcrm/controllers/admin/RetailcrmExportController.php
new file mode 100644
index 0000000..0ad2f8d
--- /dev/null
+++ b/retailcrm/controllers/admin/RetailcrmExportController.php
@@ -0,0 +1,88 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+require_once dirname(__FILE__) . '/../../bootstrap.php';
+
+class RetailcrmExportController extends RetailcrmAdminPostAbstractController
+{
+ protected function postHandler()
+ {
+ $api = RetailcrmTools::getApiClient();
+
+ if (empty($api)) {
+ throw new Exception('Set API key & URL first');
+ }
+
+ RetailcrmExport::init();
+ RetailcrmExport::$api = $api;
+ RetailcrmHistory::$api = $api;
+
+ if (Tools::getIsset('stepOrders')) {
+ $skipUploaded = Tools::getIsset('skipUploaded') && 'true' === Tools::getValue('skipUploaded');
+
+ RetailcrmExport::export(Tools::getValue('stepOrders'), 'order', $skipUploaded);
+ } elseif (Tools::getIsset('stepCustomers')) {
+ RetailcrmExport::export(Tools::getValue('stepCustomers'), 'customer');
+ } elseif (Tools::getIsset('stepSinceId')) {
+ RetailcrmHistory::updateSinceId('customers');
+ RetailcrmHistory::updateSinceId('orders');
+ } else {
+ throw new Exception('Invalid request data');
+ }
+
+ return RetailcrmJsonResponse::successfullResponse();
+ }
+
+ protected function getHandler()
+ {
+ // todo move to helper
+ return [
+ 'success' => true,
+ 'orders' => [
+ 'count' => RetailcrmExport::getOrdersCount(),
+ 'exportCount' => RetailcrmExport::getOrdersCount(true),
+ 'exportStepSize' => RetailcrmExport::RETAILCRM_EXPORT_ORDERS_STEP_SIZE_WEB,
+ ],
+ 'customers' => [
+ 'count' => RetailcrmExport::getCustomersCount(),
+ 'exportCount' => RetailcrmExport::getCustomersCount(false),
+ 'exportStepSize' => RetailcrmExport::RETAILCRM_EXPORT_CUSTOMERS_STEP_SIZE_WEB,
+ ],
+ ];
+ }
+}
diff --git a/retailcrm/lib/templates/RetailcrmBaseTemplate.php b/retailcrm/controllers/admin/RetailcrmJobsController.php
similarity index 56%
rename from retailcrm/lib/templates/RetailcrmBaseTemplate.php
rename to retailcrm/controllers/admin/RetailcrmJobsController.php
index e12483d..0a40dbe 100644
--- a/retailcrm/lib/templates/RetailcrmBaseTemplate.php
+++ b/retailcrm/controllers/admin/RetailcrmJobsController.php
@@ -36,43 +36,57 @@
* to avoid any conflicts with others containers.
*/
-class RetailcrmBaseTemplate extends RetailcrmAbstractTemplate
+require_once dirname(__FILE__) . '/../../bootstrap.php';
+
+class RetailcrmJobsController extends RetailcrmAdminPostAbstractController
{
- protected function buildParams()
+ protected function postHandler()
{
- switch ($this->getCurrentLanguageISO()) {
- case 'ru':
- $promoVideoUrl = 'VEatkEGJfGw';
- $registerUrl = 'https://account.simla.com/lead-form/?cp=https%3A%2F%2Faccount.simla.com%2Flead-form%2F';
- $supportEmail = 'help@simla.com';
- break;
- case 'es':
- $promoVideoUrl = 'LdJFoqOkLj8';
- $registerUrl = 'https://account.simla.com/lead-form/?cp=https%3A%2F%2Faccount.simla.com%2Flead-form%2F';
- $supportEmail = 'help@simla.com';
- break;
- default:
- $promoVideoUrl = 'wLjtULfZvOw';
- $registerUrl = 'https://account.simla.com/lead-form/?cp=https%3A%2F%2Faccount.simla.com%2Flead-form%2F';
- $supportEmail = 'help@simla.com';
- break;
+ if (!Tools::getIsset('jobName') && !Tools::getIsset('reset')) {
+ throw new Exception('Invalid request data');
}
- $this->data = [
- 'assets' => $this->assets,
- 'apiUrl' => RetailCRM::API_URL,
- 'apiKey' => RetailCRM::API_KEY,
- 'promoVideoUrl' => $promoVideoUrl,
- 'registerUrl' => $registerUrl,
- 'supportEmail' => $supportEmail,
+ if (Tools::getIsset('reset')) {
+ return $this->resetJobManager();
+ }
+
+ $jobName = Tools::getValue('jobName');
+
+ return $this->runJob($jobName);
+ }
+
+ protected function getHandler()
+ {
+ return [
+ 'success' => true,
+ 'result' => RetailcrmSettingsHelper::getJobsInfo(),
];
}
- /**
- * Set template data
- */
- protected function setTemplate()
+ private function resetJobManager()
{
- $this->template = 'index.tpl';
+ $errors = [];
+ if (!RetailcrmJobManager::reset()) {
+ $errors[] = 'Job manager internal state was NOT cleared.';
+ }
+ if (!RetailcrmCli::clearCurrentJob(null)) {
+ $errors[] = 'CLI job was NOT cleared';
+ }
+
+ if (!empty($errors)) {
+ throw new Exception(implode(' ', $errors));
+ }
+
+ return RetailcrmJsonResponse::successfullResponse();
+ }
+
+ private function runJob($jobName)
+ {
+ $result = RetailcrmJobManager::execManualJob($jobName);
+
+ return [
+ 'success' => true,
+ 'result' => $result,
+ ];
}
}
diff --git a/retailcrm/controllers/admin/RetailcrmLogsController.php b/retailcrm/controllers/admin/RetailcrmLogsController.php
new file mode 100644
index 0000000..358fa41
--- /dev/null
+++ b/retailcrm/controllers/admin/RetailcrmLogsController.php
@@ -0,0 +1,65 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+require_once dirname(__FILE__) . '/../../bootstrap.php';
+
+class RetailcrmLogsController extends RetailcrmAdminPostAbstractController
+{
+ protected function postHandler()
+ {
+ if (!Tools::getIsset('logName') && !Tools::getIsset('all')) {
+ throw new Exception('Invalid request data');
+ }
+
+ if (Tools::getIsset('all')) {
+ return RetailcrmLoggerHelper::downloadAll();
+ }
+
+ $logName = Tools::getValue('logName');
+
+ return RetailcrmLoggerHelper::download($logName);
+ }
+
+ protected function getHandler()
+ {
+ return [
+ 'success' => true,
+ 'result' => RetailcrmSettingsHelper::getLogFilesInfo(),
+ ];
+ }
+}
diff --git a/retailcrm/controllers/admin/RetailcrmOrdersController.php b/retailcrm/controllers/admin/RetailcrmOrdersController.php
index 1913526..820bd8c 100644
--- a/retailcrm/controllers/admin/RetailcrmOrdersController.php
+++ b/retailcrm/controllers/admin/RetailcrmOrdersController.php
@@ -38,14 +38,18 @@
require_once dirname(__FILE__) . '/../../bootstrap.php';
-class RetailcrmOrdersController extends RetailcrmAdminAbstractController
+class RetailcrmOrdersController extends RetailcrmAdminPostAbstractController
{
- public function postProcess()
+ protected function postHandler()
{
- $this->ajaxDie(json_encode($this->getData()));
+ $orderIds = Tools::getValue('orders');
+
+ RetailcrmExport::$api = RetailcrmTools::getApiClient();
+
+ return RetailcrmExport::uploadOrders($orderIds);
}
- protected function getData()
+ protected function getHandler()
{
$orders = Tools::getValue('orders', []);
$page = (int) (Tools::getValue('page', 1));
@@ -61,20 +65,8 @@ class RetailcrmOrdersController extends RetailcrmAdminAbstractController
$withErrors = null;
}
- try {
- return array_merge([
- 'success' => true,
- ], RetailcrmExportOrdersHelper::getOrders($orders, $withErrors, $page));
- } catch (Exception $e) {
- return [
- 'success' => false,
- 'errorMsg' => $e->getMessage(),
- ];
- } catch (Error $e) {
- return [
- 'success' => false,
- 'errorMsg' => $e->getMessage(),
- ];
- }
+ return array_merge([
+ 'success' => true,
+ ], RetailcrmExportOrdersHelper::getOrders($orders, $withErrors, $page));
}
}
diff --git a/retailcrm/controllers/admin/RetailcrmOrdersUploadController.php b/retailcrm/controllers/admin/RetailcrmOrdersUploadController.php
deleted file mode 100644
index a63291f..0000000
--- a/retailcrm/controllers/admin/RetailcrmOrdersUploadController.php
+++ /dev/null
@@ -1,114 +0,0 @@
-
- * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
- * @license https://opensource.org/licenses/MIT The MIT License
- *
- * Don't forget to prefix your containers with your own identifier
- * to avoid any conflicts with others containers.
- */
-
-require_once dirname(__FILE__) . '/../../bootstrap.php';
-
-class RetailcrmOrdersUploadController extends RetailcrmAdminAbstractController
-{
- private $api;
-
- public function __construct()
- {
- parent::__construct();
-
- $this->api = RetailcrmTools::getApiClient();
- }
-
- public function postProcess()
- {
- $this->ajaxDie(json_encode($this->getData()));
- }
-
- protected function getData()
- {
- if (!($this->api instanceof RetailcrmProxy)) {
- return [
- 'success' => false,
- 'errorMsg' => "Can't upload orders - set API key and API URL first!",
- ];
- }
-
- $orderIds = Tools::getValue('orders');
- try {
- $isSuccessful = true;
- $skippedOrders = [];
- $uploadedOrders = [];
- $errors = [];
-
- RetailcrmExport::$api = $this->api;
- foreach ($orderIds as $orderId) {
- $id_order = (int) $orderId;
- $response = false;
-
- try {
- $response = RetailcrmExport::exportOrder($id_order);
-
- if ($response) {
- $uploadedOrders[] = $id_order;
- }
- } catch (PrestaShopObjectNotFoundExceptionCore $e) {
- $skippedOrders[] = $id_order;
- } catch (Exception $e) {
- $errors[$id_order][] = $e->getMessage();
- } catch (Error $e) {
- $errors[$id_order][] = $e->getMessage();
- }
-
- $isSuccessful = $isSuccessful ? $response : false;
- time_nanosleep(0, 50000000);
- }
-
- return [
- 'success' => $isSuccessful,
- 'uploadedOrders' => $uploadedOrders,
- 'skippedOrders' => $skippedOrders,
- 'errors' => $errors,
- ];
- } catch (Exception $e) {
- return [
- 'success' => false,
- 'errorMsg' => $e->getMessage(),
- ];
- } catch (Error $e) {
- return [
- 'success' => false,
- 'errorMsg' => $e->getMessage(),
- ];
- }
- }
-}
diff --git a/retailcrm/controllers/admin/RetailcrmSettingsController.php b/retailcrm/controllers/admin/RetailcrmSettingsController.php
index e22be5b..514029d 100644
--- a/retailcrm/controllers/admin/RetailcrmSettingsController.php
+++ b/retailcrm/controllers/admin/RetailcrmSettingsController.php
@@ -38,44 +38,44 @@
require_once dirname(__FILE__) . '/../../bootstrap.php';
-class RetailcrmSettingsController extends RetailcrmAdminAbstractController
+class RetailcrmSettingsController extends RetailcrmAdminPostAbstractController
{
- public static function getParentId()
+ protected function postHandler()
{
- return (int) Tab::getIdFromClassName('IMPROVE');
+ $settings = new RetailcrmSettings($this->module);
+
+ return $settings->save();
}
- public static function getIcon()
+ protected function getHandler()
{
- return 'shop';
- }
-
- public static function getPosition()
- {
- return 7;
- }
-
- public static function getName()
- {
- $name = [];
-
- foreach (Language::getLanguages(true) as $lang) {
- $name[$lang['id_lang']] = 'Simla.com';
+ if (null === $this->module->reference) {
+ return [
+ 'success' => false,
+ 'errorMsg' => 'Set api key & url first',
+ ];
}
- return $name;
- }
+ $result = [
+ 'success' => true,
+ ];
- public function postProcess()
- {
- $link = $this->context->link->getAdminLink('AdminModules', true, [], [
- 'configure' => 'retailcrm',
- ]);
-
- if (version_compare(_PS_VERSION_, '1.7.0.3', '<')) {
- $link .= '&module_name=retailcrm&configure=retailcrm';
+ if (Tools::getIsset('catalog')) {
+ $result['catalog'] = RetailcrmSettingsHelper::getIcmlFileInfo();
+ }
+ if (Tools::getIsset('delivery')) {
+ $result['delivery'] = $this->module->reference->getApiDeliveryTypes(
+ ); // todo replace with helper function
+ }
+ if (Tools::getIsset('payment')) {
+ $result['payment'] = $this->module->reference->getApiPaymentTypes(
+ ); // todo replace with helper function
+ }
+ if (Tools::getIsset('status')) {
+ $result['status'] = $this->module->reference->getApiStatusesWithGroup(
+ ); // todo replace with helper function
}
- $this->setRedirectAfter($link);
+ return $result;
}
}
diff --git a/retailcrm/controllers/admin/RetailcrmSettingsLinkController.php b/retailcrm/controllers/admin/RetailcrmSettingsLinkController.php
new file mode 100644
index 0000000..3429373
--- /dev/null
+++ b/retailcrm/controllers/admin/RetailcrmSettingsLinkController.php
@@ -0,0 +1,81 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+require_once dirname(__FILE__) . '/../../bootstrap.php';
+
+class RetailcrmSettingsLinkController extends RetailcrmAdminAbstractController
+{
+ public static function getParentId()
+ {
+ return (int) Tab::getIdFromClassName('IMPROVE');
+ }
+
+ public static function getIcon()
+ {
+ return 'shop';
+ }
+
+ public static function getPosition()
+ {
+ return 7;
+ }
+
+ public static function getName()
+ {
+ $name = [];
+
+ foreach (Language::getLanguages(true) as $lang) {
+ $name[$lang['id_lang']] = 'Simla.com';
+ }
+
+ return $name;
+ }
+
+ public function postProcess()
+ {
+ $link = $this->context->link->getAdminLink('AdminModules', true, [], [
+ 'configure' => 'retailcrm',
+ ]);
+
+ if (version_compare(_PS_VERSION_, '1.7.0.3', '<')) {
+ $link .= '&module_name=retailcrm&configure=retailcrm';
+ }
+
+ $this->setRedirectAfter($link);
+ }
+}
diff --git a/retailcrm/lib/RetailcrmAddressBuilder.php b/retailcrm/lib/RetailcrmAddressBuilder.php
index 5b98987..5ab259d 100644
--- a/retailcrm/lib/RetailcrmAddressBuilder.php
+++ b/retailcrm/lib/RetailcrmAddressBuilder.php
@@ -204,7 +204,8 @@ class RetailcrmAddressBuilder extends RetailcrmAbstractDataBuilder
[
'address' => $this->address,
'mode' => $this->mode,
- ]);
+ ]
+ );
return $this;
}
diff --git a/retailcrm/lib/RetailcrmCatalogHelper.php b/retailcrm/lib/RetailcrmCatalogHelper.php
index 53addc9..17d6b25 100644
--- a/retailcrm/lib/RetailcrmCatalogHelper.php
+++ b/retailcrm/lib/RetailcrmCatalogHelper.php
@@ -87,56 +87,6 @@ class RetailcrmCatalogHelper
return _PS_ROOT_DIR_ . '/' . self::getIcmlFileName();
}
- public static function getIcmlFileInfo()
- {
- $icmlInfo = json_decode((string) Configuration::get(self::ICML_INFO_NAME), true);
-
- if (null === $icmlInfo || JSON_ERROR_NONE !== json_last_error()) {
- $icmlInfo = [];
- }
-
- $lastGenerated = self::getIcmlFileDate();
-
- if (false === $lastGenerated) {
- return $icmlInfo;
- }
-
- $icmlInfo['lastGenerated'] = $lastGenerated;
- $now = new DateTimeImmutable();
- /** @var DateInterval $diff */
- $diff = $lastGenerated->diff($now);
-
- $icmlInfo['lastGeneratedDiff'] = [
- 'days' => $diff->days,
- 'hours' => $diff->h,
- 'minutes' => $diff->i,
- ];
-
- $icmlInfo['isOutdated'] = (
- 0 < $icmlInfo['lastGeneratedDiff']['days']
- || 4 < $icmlInfo['lastGeneratedDiff']['hours']
- );
-
- $api = RetailcrmTools::getApiClient();
-
- if (null !== $api) {
- $reference = new RetailcrmReferences($api);
-
- $site = $reference->getSite();
- $icmlInfo['isUrlActual'] = !empty($site['ymlUrl']) && $site['ymlUrl'] === self::getIcmlFileLink();
- if (!empty($site['catalogId'])) {
- $icmlInfo['siteId'] = $site['catalogId'];
- }
- }
-
- return $icmlInfo;
- }
-
- public static function getIcmlFileInfoMultistore()
- {
- return RetailcrmContextSwitcher::runInContext([self::class, 'getIcmlFileInfo']);
- }
-
/**
* @param int $productsCount
* @param int $offersCount
diff --git a/retailcrm/lib/RetailcrmCorporateCustomerBuilder.php b/retailcrm/lib/RetailcrmCorporateCustomerBuilder.php
index cf39f01..6409f67 100644
--- a/retailcrm/lib/RetailcrmCorporateCustomerBuilder.php
+++ b/retailcrm/lib/RetailcrmCorporateCustomerBuilder.php
@@ -218,14 +218,16 @@ class RetailcrmCorporateCustomerBuilder extends RetailcrmAbstractBuilder impleme
$this->corporateCustomer,
[
'dataCrm' => $this->dataCrm,
- ]);
+ ]
+ );
$this->corporateAddress = RetailcrmTools::filter(
'RetailcrmFilterSaveCorporateCustomerAddress',
$this->corporateAddress,
[
'dataCrm' => $this->dataCrm,
- ]);
+ ]
+ );
return $this;
}
diff --git a/retailcrm/lib/RetailcrmCustomerBuilder.php b/retailcrm/lib/RetailcrmCustomerBuilder.php
index 2eeddee..d00c609 100644
--- a/retailcrm/lib/RetailcrmCustomerBuilder.php
+++ b/retailcrm/lib/RetailcrmCustomerBuilder.php
@@ -166,7 +166,8 @@ class RetailcrmCustomerBuilder extends RetailcrmAbstractBuilder implements Retai
$this->customer,
[
'dataCrm' => $this->dataCrm,
- ]);
+ ]
+ );
return $this;
}
diff --git a/retailcrm/lib/RetailcrmExport.php b/retailcrm/lib/RetailcrmExport.php
index 7287acd..6c6f4c0 100644
--- a/retailcrm/lib/RetailcrmExport.php
+++ b/retailcrm/lib/RetailcrmExport.php
@@ -73,12 +73,16 @@ class RetailcrmExport
*
* @return int
*/
- public static function getOrdersCount()
+ public static function getOrdersCount($skipUploaded = false)
{
$sql = 'SELECT count(o.id_order)
- FROM `' . _DB_PREFIX_ . 'orders` o
+ FROM `' . _DB_PREFIX_ . 'orders` o' . ($skipUploaded ? '
+ LEFT JOIN `' . _DB_PREFIX_ . 'retailcrm_exported_orders` reo ON o.`id_order` = reo.`id_order`
+ ' : '') . '
WHERE 1
- ' . Shop::addSqlRestriction(false, 'o');
+ ' . Shop::addSqlRestriction(false, 'o') . ($skipUploaded ? '
+ AND (reo.`last_uploaded` IS NULL OR reo.`errors` IS NOT NULL)
+ ' : '');
return (int) Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($sql);
}
@@ -93,10 +97,10 @@ class RetailcrmExport
*
* @throws PrestaShopDatabaseException
*/
- public static function getOrdersIds($start = 0, $count = null)
+ public static function getOrdersIds($start = 0, $count = null, $skipUploaded = false)
{
if (null === $count) {
- $to = static::getOrdersCount();
+ $to = static::getOrdersCount($skipUploaded);
$count = $to - $start;
} else {
$to = $start + $count;
@@ -104,9 +108,13 @@ class RetailcrmExport
if (0 < $count) {
$predefinedSql = 'SELECT o.`id_order`
- FROM `' . _DB_PREFIX_ . 'orders` o
+ FROM `' . _DB_PREFIX_ . 'orders` o' . ($skipUploaded ? '
+ LEFT JOIN `' . _DB_PREFIX_ . 'retailcrm_exported_orders` reo ON o.`id_order` = reo.`id_order`
+ ' : '') . '
WHERE 1
- ' . Shop::addSqlRestriction(false, 'o') . '
+ ' . Shop::addSqlRestriction(false, 'o') . ($skipUploaded ? '
+ AND (reo.`last_uploaded` IS NULL OR reo.`errors` IS NOT NULL)
+ ' : '') . '
ORDER BY o.`id_order` ASC';
while ($start < $to) {
@@ -137,14 +145,14 @@ class RetailcrmExport
* @param int $from
* @param int|null $count
*/
- public static function exportOrders($from = 0, $count = null)
+ public static function exportOrders($from = 0, $count = null, $skipUploaded = false)
{
if (!static::validateState()) {
return;
}
$orders = [];
- $orderRecords = static::getOrdersIds($from, $count);
+ $orderRecords = static::getOrdersIds($from, $count, $skipUploaded);
$orderBuilder = new RetailcrmOrderBuilder();
$orderBuilder->defaultLangFromConfiguration()->setApi(static::$api);
@@ -371,7 +379,7 @@ class RetailcrmExport
*
* @return bool
*
- * @throws PrestaShopObjectNotFoundExceptionCore
+ * @throws RetailcrmNotFoundException
* @throws PrestaShopDatabaseException
* @throws PrestaShopException
* @throws Exception
@@ -383,6 +391,11 @@ class RetailcrmExport
}
$object = new Order($id);
+
+ if (!Validate::isLoadedObject($object)) {
+ throw new RetailcrmNotFoundException('Order not found');
+ }
+
$customer = new Customer($object->id_customer);
$apiResponse = static::$api->ordersGet($object->id);
$existingOrder = [];
@@ -391,10 +404,6 @@ class RetailcrmExport
$existingOrder = $apiResponse['order'];
}
- if (!Validate::isLoadedObject($object)) {
- throw new PrestaShopObjectNotFoundExceptionCore('Order not found');
- }
-
$orderBuilder = new RetailcrmOrderBuilder();
$crmOrder = $orderBuilder
->defaultLangFromConfiguration()
@@ -436,6 +445,52 @@ class RetailcrmExport
return $response->isSuccessful();
}
+ /**
+ * @param $orderIds
+ *
+ * @return array
+ *
+ * @throws Exception
+ */
+ public static function uploadOrders($orderIds)
+ {
+ if (!static::$api || !(static::$api instanceof RetailcrmProxy)) {
+ throw new Exception('Set API key and API URL first');
+ }
+
+ $isSuccessful = true;
+ $skippedOrders = [];
+ $uploadedOrders = [];
+ $errors = [];
+
+ foreach ($orderIds as $orderId) {
+ $id_order = (int) $orderId;
+ $response = false;
+
+ try {
+ $response = self::exportOrder($id_order);
+
+ if ($response) {
+ $uploadedOrders[] = $id_order;
+ }
+ } catch (RetailcrmNotFoundException $e) {
+ $skippedOrders[] = $id_order;
+ } catch (Exception $e) {
+ $errors[$id_order][] = $e->getMessage();
+ }
+
+ $isSuccessful = $isSuccessful ? $response : false;
+ time_nanosleep(0, 50000000);
+ }
+
+ return [
+ 'success' => $isSuccessful,
+ 'uploadedOrders' => $uploadedOrders,
+ 'skippedOrders' => $skippedOrders,
+ 'errors' => $errors,
+ ];
+ }
+
/**
* Returns false if inner state is not correct
*
@@ -453,6 +508,35 @@ class RetailcrmExport
return true;
}
+ /**
+ * @param int $step
+ * @param string $entity
+ * @param bool $skipUploaded
+ *
+ * @throws Exception
+ */
+ public static function export($step, $entity = 'order', $skipUploaded = false)
+ {
+ --$step;
+ if (0 > $step) {
+ throw new Exception('Invalid request data');
+ }
+
+ if ('order' === $entity) {
+ $stepSize = RetailcrmExport::RETAILCRM_EXPORT_ORDERS_STEP_SIZE_WEB;
+
+ RetailcrmExport::$ordersOffset = $stepSize;
+ RetailcrmExport::exportOrders($step * $stepSize, $stepSize, $skipUploaded);
+ // todo maybe save current step to database
+ } elseif ('customer' === $entity) {
+ $stepSize = RetailcrmExport::RETAILCRM_EXPORT_CUSTOMERS_STEP_SIZE_WEB;
+
+ RetailcrmExport::$customersOffset = $stepSize;
+ RetailcrmExport::exportCustomers($step * $stepSize, $stepSize);
+ // todo maybe save current step to database
+ }
+ }
+
private static function handleError($entityId, $exception)
{
RetailcrmLogger::writeException('export', $exception, sprintf(
diff --git a/retailcrm/lib/RetailcrmExportOrdersHelper.php b/retailcrm/lib/RetailcrmExportOrdersHelper.php
index 2af1284..49e43b7 100644
--- a/retailcrm/lib/RetailcrmExportOrdersHelper.php
+++ b/retailcrm/lib/RetailcrmExportOrdersHelper.php
@@ -88,23 +88,22 @@ class RetailcrmExportOrdersHelper
return [];
}
- $sqlOrdersInfo = 'SELECT * FROM `' . _DB_PREFIX_ . 'retailcrm_exported_orders` WHERE 1';
- $sqlPagination = 'SELECT COUNT(*) FROM `' . _DB_PREFIX_ . 'retailcrm_exported_orders` WHERE 1';
+ $sqlOrdersInfo = 'FROM `' . _DB_PREFIX_ . 'retailcrm_exported_orders` eo
+ LEFT JOIN `' . _DB_PREFIX_ . 'orders` o on o.`id_order` = eo.`id_order`
+ WHERE 1 ' . Shop::addSqlRestriction(false, 'o')
+ ;
if (0 < count($ordersIds)) {
- $sqlOrdersInfo .= ' AND (`id_order` IN ( ' . pSQL(implode(', ', $ordersIds)) . ')
- OR `id_order_crm` IN ( ' . pSQL(implode(', ', $ordersIds)) . ')
- )';
- $sqlPagination .= ' AND (`id_order` IN ( ' . pSQL(implode(', ', $ordersIds)) . ')
- OR `id_order_crm` IN ( ' . pSQL(implode(', ', $ordersIds)) . ')
+ $sqlOrdersInfo .= ' AND (eo.`id_order` IN ( ' . pSQL(implode(', ', $ordersIds)) . ')
+ OR eo.`id_order_crm` IN ( ' . pSQL(implode(', ', $ordersIds)) . ')
)';
}
if (null !== $withErrors) {
- $sqlOrdersInfo .= ' AND errors IS ' . ($withErrors ? 'NOT' : '') . ' NULL';
- $sqlPagination .= ' AND errors IS ' . ($withErrors ? 'NOT' : '') . ' NULL';
+ $sqlOrdersInfo .= ' AND eo.`errors` IS ' . ($withErrors ? 'NOT' : '') . ' NULL';
}
+ $sqlPagination = 'SELECT COUNT(*) ' . $sqlOrdersInfo;
$totalCount = Db::getInstance()->getValue($sqlPagination);
$pagination = [
@@ -116,7 +115,9 @@ class RetailcrmExportOrdersHelper
if ($page > $pagination['totalPageCount']) {
$orderInfo = [];
} else {
+ $sqlOrdersInfo .= ' ORDER BY eo.`last_uploaded` DESC'; // todo order by function $orderBy argument
$sqlOrdersInfo .= ' LIMIT ' . self::ROWS_PER_PAGE * ($page - 1) . ', ' . self::ROWS_PER_PAGE . ';';
+ $sqlOrdersInfo = 'SELECT eo.* ' . $sqlOrdersInfo;
$orderInfo = Db::getInstance()->executeS($sqlOrdersInfo);
}
diff --git a/retailcrm/lib/RetailcrmHistory.php b/retailcrm/lib/RetailcrmHistory.php
index 82bdfba..532848f 100755
--- a/retailcrm/lib/RetailcrmHistory.php
+++ b/retailcrm/lib/RetailcrmHistory.php
@@ -58,12 +58,12 @@ class RetailcrmHistory
{
self::$receiveOrderNumber = (bool) (Configuration::get(RetailCRM::ENABLE_ORDER_NUMBER_RECEIVING));
self::$sendOrderNumber = (bool) (Configuration::get(RetailCRM::ENABLE_ORDER_NUMBER_SENDING));
- self::$cartStatus = (string) (Configuration::get('RETAILCRM_API_SYNCHRONIZED_CART_STATUS'));
- self::$statuses = array_flip(array_filter(json_decode(Configuration::get('RETAILCRM_API_STATUS'), true)));
- self::$deliveries = array_flip(array_filter(json_decode(Configuration::get('RETAILCRM_API_DELIVERY'), true)));
- self::$payments = array_flip(array_filter(json_decode(Configuration::get('RETAILCRM_API_PAYMENT'), true)));
- self::$deliveryDefault = json_decode(Configuration::get('RETAILCRM_API_DELIVERY_DEFAULT'), true);
- self::$paymentDefault = json_decode(Configuration::get('RETAILCRM_API_PAYMENT_DEFAULT'), true);
+ self::$cartStatus = (string) (Configuration::get(RetailCRM::SYNC_CARTS_STATUS));
+ self::$statuses = array_flip(array_filter(json_decode(Configuration::get(RetailCRM::STATUS), true)));
+ self::$deliveries = array_flip(array_filter(json_decode(Configuration::get(RetailCRM::DELIVERY), true)));
+ self::$payments = array_flip(array_filter(json_decode(Configuration::get(RetailCRM::PAYMENT), true)));
+ self::$deliveryDefault = Configuration::get(RetailCRM::DELIVERY_DEFAULT);
+ self::$paymentDefault = Configuration::get(RetailCRM::PAYMENT_DEFAULT);
}
/**
diff --git a/retailcrm/lib/RetailcrmIcml.php b/retailcrm/lib/RetailcrmIcml.php
index a5f7e99..c5df04c 100644
--- a/retailcrm/lib/RetailcrmIcml.php
+++ b/retailcrm/lib/RetailcrmIcml.php
@@ -86,7 +86,8 @@ class RetailcrmIcml
';
$xml = new SimpleXMLElement(
- $string, LIBXML_NOENT | LIBXML_NOCDATA | LIBXML_COMPACT | LIBXML_PARSEHUGE
+ $string,
+ LIBXML_NOENT | LIBXML_NOCDATA | LIBXML_COMPACT | LIBXML_PARSEHUGE
);
$this->dd = new DOMDocument();
diff --git a/retailcrm/lib/RetailcrmJobManager.php b/retailcrm/lib/RetailcrmJobManager.php
index 7ab89e4..3206a30 100644
--- a/retailcrm/lib/RetailcrmJobManager.php
+++ b/retailcrm/lib/RetailcrmJobManager.php
@@ -412,6 +412,7 @@ class RetailcrmJobManager
*/
private static function setLastRunDetails($lastRuns = [])
{
+ RetailcrmLogger::writeCaller(__METHOD__ . ':before', json_encode($lastRuns));
if (!is_array($lastRuns)) {
$lastRuns = [];
}
@@ -424,6 +425,7 @@ class RetailcrmJobManager
}
}
+ RetailcrmLogger::writeCaller(__METHOD__ . ':after', json_encode($lastRuns));
Configuration::updateGlobalValue(self::LAST_RUN_DETAIL_NAME, (string) json_encode($lastRuns));
}
diff --git a/retailcrm/lib/RetailcrmJsonResponse.php b/retailcrm/lib/RetailcrmJsonResponse.php
index c4de223..1116079 100644
--- a/retailcrm/lib/RetailcrmJsonResponse.php
+++ b/retailcrm/lib/RetailcrmJsonResponse.php
@@ -52,23 +52,17 @@ class RetailcrmJsonResponse
{
private static function jsonResponse($response)
{
- header('Content-Type: application/json');
-
- $result = json_encode($response);
-
- echo $result;
-
- return $result;
+ return json_encode($response);
}
public static function invalidResponse($msg, $status = 404)
{
http_response_code($status);
- return self::jsonResponse([
+ return [
'success' => false,
'errorMsg' => $msg,
- ]);
+ ];
}
public static function successfullResponse($data = null, $key = null)
@@ -91,6 +85,6 @@ class RetailcrmJsonResponse
}
}
- return self::jsonResponse($response);
+ return $response;
}
}
diff --git a/retailcrm/lib/RetailcrmLogger.php b/retailcrm/lib/RetailcrmLogger.php
index e0263e1..4b73a46 100755
--- a/retailcrm/lib/RetailcrmLogger.php
+++ b/retailcrm/lib/RetailcrmLogger.php
@@ -235,7 +235,7 @@ class RetailcrmLogger
*/
public static function clearObsoleteLogs()
{
- $logFiles = self::getLogFiles();
+ $logFiles = RetailcrmLoggerHelper::getLogFiles();
foreach ($logFiles as $logFile) {
if (filemtime($logFile) < strtotime('-30 days')) {
@@ -244,71 +244,6 @@ class RetailcrmLogger
}
}
- /**
- * Retrieves log files basic info for advanced tab
- *
- * @return array
- */
- public static function getLogFilesInfo()
- {
- $fileNames = [];
- $logFiles = self::getLogFiles();
-
- foreach ($logFiles as $logFile) {
- $fileNames[] = [
- 'name' => basename($logFile),
- 'path' => $logFile,
- 'size' => number_format(filesize($logFile), 0, '.', ' ') . ' bytes',
- 'modified' => date('Y-m-d H:i:s', filemtime($logFile)),
- ];
- }
-
- return $fileNames;
- }
-
- /**
- * Retrieves log files paths
- *
- * @return Generator|void
- */
- private static function getLogFiles()
- {
- $logDir = self::getLogDir();
-
- if (!is_dir($logDir)) {
- return;
- }
-
- $handle = opendir($logDir);
- while (($file = readdir($handle)) !== false) {
- if (false !== self::checkFileName($file)) {
- yield "$logDir/$file";
- }
- }
-
- closedir($handle);
- }
-
- /**
- * Checks if given logs filename relates to the module
- *
- * @param string $file
- *
- * @return false|string
- */
- public static function checkFileName($file)
- {
- $logDir = self::getLogDir();
- if (preg_match('/^retailcrm[a-zA-Z0-9-_]+.log$/', $file)) {
- $path = "$logDir/$file";
- if (is_file($path)) {
- return $path;
- }
- }
-
- return false;
- }
-
/**
* Reduces error array into string
*
diff --git a/retailcrm/lib/RetailcrmLoggerHelper.php b/retailcrm/lib/RetailcrmLoggerHelper.php
new file mode 100644
index 0000000..9177c42
--- /dev/null
+++ b/retailcrm/lib/RetailcrmLoggerHelper.php
@@ -0,0 +1,126 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+class RetailcrmLoggerHelper
+{
+ public static function download($name)
+ {
+ if (empty($name)) {
+ return false;
+ }
+ $filePath = self::checkFileName($name);
+
+ if (false === $filePath) {
+ return false;
+ }
+
+ header('Content-Type: application/octet-stream');
+ header('Content-Disposition: attachment; filename=' . basename($filePath));
+ header('Content-Length: ' . filesize($filePath));
+
+ readfile($filePath);
+
+ return true;
+ }
+
+ public static function downloadAll()
+ {
+ $zipname = _PS_DOWNLOAD_DIR_ . '/retailcrm_logs_' . date('Y-m-d H-i-s') . '.zip';
+
+ $zipFile = new ZipArchive();
+ $zipFile->open($zipname, ZipArchive::CREATE);
+
+ foreach (self::getLogFiles() as $logFile) {
+ $zipFile->addFile($logFile, basename($logFile));
+ }
+
+ $zipFile->close();
+
+ header('Content-Type: ' . mime_content_type($zipname));
+ header('Content-disposition: attachment; filename=' . basename($zipname));
+ header('Content-Length: ' . filesize($zipname));
+
+ readfile($zipname);
+ unlink($zipname);
+
+ return true;
+ }
+
+ /**
+ * Checks if given logs filename relates to the module
+ *
+ * @param string $file
+ *
+ * @return false|string
+ */
+ public static function checkFileName($file)
+ {
+ $logDir = RetailcrmLogger::getLogDir();
+ if (preg_match('/^retailcrm[a-zA-Z0-9-_]+.log$/', $file)) {
+ $path = "$logDir/$file";
+ if (is_file($path)) {
+ return $path;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Retrieves log files paths
+ *
+ * @return Generator|void
+ */
+ public static function getLogFiles()
+ {
+ $logDir = RetailcrmLogger::getLogDir();
+
+ if (!is_dir($logDir)) {
+ return;
+ }
+
+ $handle = opendir($logDir);
+ while (($file = readdir($handle)) !== false) {
+ if (false !== self::checkFileName($file)) {
+ yield "$logDir/$file";
+ }
+ }
+
+ closedir($handle);
+ }
+}
diff --git a/retailcrm/lib/RetailcrmOrderBuilder.php b/retailcrm/lib/RetailcrmOrderBuilder.php
index a361e31..44013a5 100644
--- a/retailcrm/lib/RetailcrmOrderBuilder.php
+++ b/retailcrm/lib/RetailcrmOrderBuilder.php
@@ -196,8 +196,7 @@ class RetailcrmOrderBuilder
if (empty($this->apiSite)) {
$response = $this->api->credentials();
- if (
- $response->isSuccessful()
+ if ($response->isSuccessful()
&& $response->offsetExists('sitesAvailable')
&& is_array($response['sitesAvailable'])
&& !empty($response['sitesAvailable'])
@@ -894,7 +893,7 @@ class RetailcrmOrderBuilder
$order,
$customer = null,
$orderCart = null,
- $isStatusExport = false,
+ $isStatusExport = false, // todo always false -> remove unused parameter
$preferCustomerAddress = false,
$dataFromCart = false,
$contactPersonId = '',
@@ -915,7 +914,7 @@ class RetailcrmOrderBuilder
$paymentType = $order->payment;
}
- if (0 == $order->current_state) {
+ if (0 == $order->current_state) { // todo refactor
$order_status = $statusExport;
if (!$isStatusExport) {
@@ -1172,7 +1171,8 @@ class RetailcrmOrderBuilder
'order' => $order,
'customer' => $customer,
'cart' => $cart,
- ]);
+ ]
+ );
}
/**
@@ -1271,7 +1271,8 @@ class RetailcrmOrderBuilder
[
'customer' => $object,
'address' => $address,
- ]);
+ ]
+ );
}
public static function buildCrmCustomerCorporate(
@@ -1359,7 +1360,8 @@ class RetailcrmOrderBuilder
RetailcrmTools::clearArray($customer),
[
'customer' => $object,
- ]);
+ ]
+ );
}
/**
diff --git a/retailcrm/lib/RetailcrmReferences.php b/retailcrm/lib/RetailcrmReferences.php
index c6a8d2f..80a3c13 100644
--- a/retailcrm/lib/RetailcrmReferences.php
+++ b/retailcrm/lib/RetailcrmReferences.php
@@ -67,21 +67,13 @@ class RetailcrmReferences
public function getDeliveryTypes()
{
$deliveryTypes = [];
- $apiDeliveryTypes = $this->getApiDeliveryTypes();
if (!empty($this->carriers)) {
foreach ($this->carriers as $carrier) {
$deliveryTypes[] = [
- 'type' => 'select',
'label' => $carrier['name'],
- 'name' => 'RETAILCRM_API_DELIVERY[' . $carrier['id_carrier'] . ']',
- 'subname' => $carrier['id_carrier'],
+ 'id' => $carrier['id_carrier'],
'required' => false,
- 'options' => [
- 'query' => $apiDeliveryTypes,
- 'id' => 'id_option',
- 'name' => 'name',
- ],
];
}
}
@@ -93,23 +85,14 @@ class RetailcrmReferences
{
$statusTypes = [];
$states = OrderState::getOrderStates($this->default_lang, true);
- $this->apiStatuses = $this->apiStatuses ?: $this->getApiStatuses();
if (!empty($states)) {
foreach ($states as $state) {
if (' ' != $state['name']) {
- $key = $state['id_order_state'];
$statusTypes[] = [
- 'type' => 'select',
'label' => $state['name'],
- 'name' => "RETAILCRM_API_STATUS[$key]",
- 'subname' => $key,
+ 'id' => $state['id_order_state'],
'required' => false,
- 'options' => [
- 'query' => $this->apiStatuses,
- 'id' => 'id_option',
- 'name' => 'name',
- ],
];
}
}
@@ -118,117 +101,6 @@ class RetailcrmReferences
return $statusTypes;
}
- public function getOutOfStockStatuses($arParams)
- {
- $statusTypes = [];
- $this->apiStatuses = $this->apiStatuses ?: $this->getApiStatuses();
-
- foreach ($arParams as $key => $state) {
- $statusTypes[] = [
- 'type' => 'select',
- 'label' => $state,
- 'name' => "RETAILCRM_API_OUT_OF_STOCK_STATUS[$key]",
- 'subname' => $key,
- 'required' => false,
- 'options' => [
- 'query' => $this->apiStatuses,
- 'id' => 'id_option',
- 'name' => 'name',
- ],
- ];
- }
-
- return $statusTypes;
- }
-
- public function getPaymentTypes()
- {
- $payments = $this->getSystemPaymentModules();
- $paymentTypes = [];
- $apiPaymentTypes = $this->getApiPaymentTypes();
-
- if (!empty($payments)) {
- foreach ($payments as $payment) {
- $paymentTypes[] = [
- 'type' => 'select',
- 'label' => $payment['name'],
- 'name' => 'RETAILCRM_API_PAYMENT[' . $payment['code'] . ']',
- 'subname' => $payment['code'],
- 'required' => false,
- 'options' => [
- 'query' => $apiPaymentTypes,
- 'id' => 'id_option',
- 'name' => 'name',
- ],
- ];
- }
- }
-
- return $paymentTypes;
- }
-
- public function getPaymentAndDeliveryForDefault($arParams)
- {
- $paymentTypes = [];
- $deliveryTypes = [];
-
- $paymentDeliveryTypes = [];
-
- if (!empty($this->carriers)) {
- $deliveryTypes[] = [
- 'id_option' => '',
- 'name' => '',
- ];
-
- foreach ($this->carriers as $valCarrier) {
- $deliveryTypes[] = [
- 'id_option' => $valCarrier['id_carrier'],
- 'name' => $valCarrier['name'],
- ];
- }
-
- $paymentDeliveryTypes[] = [
- 'type' => 'select',
- 'label' => $arParams[0],
- 'name' => 'RETAILCRM_API_DELIVERY_DEFAULT',
- 'required' => false,
- 'options' => [
- 'query' => $deliveryTypes,
- 'id' => 'id_option',
- 'name' => 'name',
- ],
- ];
- }
- $paymentModules = $this->getSystemPaymentModules();
- if (!empty($paymentModules)) {
- $paymentTypes[] = [
- 'id_option' => '',
- 'name' => '',
- ];
-
- foreach ($paymentModules as $valPayment) {
- $paymentTypes[$valPayment['id']] = [
- 'id_option' => $valPayment['code'],
- 'name' => $valPayment['name'],
- ];
- }
-
- $paymentDeliveryTypes[] = [
- 'type' => 'select',
- 'label' => $arParams[1],
- 'name' => 'RETAILCRM_API_PAYMENT_DEFAULT',
- 'required' => false,
- 'options' => [
- 'query' => $paymentTypes,
- 'id' => 'id_option',
- 'name' => 'name',
- ],
- ];
- }
-
- return $paymentDeliveryTypes;
- }
-
public function getSystemPaymentModules($active = true)
{
$shop_id = (int) Context::getContext()->shop->id;
@@ -291,59 +163,52 @@ class RetailcrmReferences
return $this->payment_modules;
}
- public function getStatuseDefaultExport()
+ public function getApiStatusesWithGroup()
{
- return $this->getApiStatuses();
- }
-
- public function getApiDeliveryTypes()
- {
- $crmDeliveryTypes = [];
- $request = $this->api->deliveryTypesList();
-
- if ($request) {
- $crmDeliveryTypes[] = [
- 'id_option' => '',
- 'name' => '',
- ];
- foreach ($request->deliveryTypes as $dType) {
- if (!$dType['active']) {
- continue;
- }
-
- $crmDeliveryTypes[] = [
- 'id_option' => $dType['code'],
- 'name' => $dType['name'],
- ];
- }
+ if (!$this->api) {
+ return [];
}
- return $crmDeliveryTypes;
- }
-
- public function getApiStatuses()
- {
- $crmStatusTypes = [];
$request = $this->api->statusesList();
+ $requestGroups = $this->api->statusGroupsList();
- if ($request) {
- $crmStatusTypes[] = [
- 'id_option' => '',
- 'name' => '',
- 'ordering' => '',
- ];
- foreach ($request->statuses as $sType) {
- if (!$sType['active']) {
- continue;
- }
+ if (!$request || !$requestGroups) {
+ return [];
+ }
- $crmStatusTypes[] = [
- 'id_option' => $sType['code'],
- 'name' => $sType['name'],
- 'ordering' => $sType['ordering'],
- ];
+ $crmStatusTypes = [];
+ foreach ($request->statuses as $sType) {
+ if (!$sType['active']) {
+ continue;
}
- usort($crmStatusTypes, function ($a, $b) {
+
+ $crmStatusTypes[$sType['group']]['statuses'][] = [
+ 'code' => $sType['code'],
+ 'name' => $sType['name'],
+ 'ordering' => $sType['ordering'],
+ ];
+ }
+
+ foreach ($requestGroups->statusGroups as $statusGroup) {
+ if (!isset($crmStatusTypes[$statusGroup['code']])) {
+ continue;
+ }
+
+ $crmStatusTypes[$statusGroup['code']]['code'] = $statusGroup['code'];
+ $crmStatusTypes[$statusGroup['code']]['name'] = $statusGroup['name'];
+ $crmStatusTypes[$statusGroup['code']]['ordering'] = $statusGroup['ordering'];
+ }
+
+ usort($crmStatusTypes, function ($a, $b) {
+ if ($a['ordering'] == $b['ordering']) {
+ return 0;
+ } else {
+ return $a['ordering'] < $b['ordering'] ? -1 : 1;
+ }
+ });
+
+ foreach ($crmStatusTypes as &$crmStatusType) {
+ usort($crmStatusType['statuses'], function ($a, $b) {
if ($a['ordering'] == $b['ordering']) {
return 0;
} else {
@@ -355,26 +220,95 @@ class RetailcrmReferences
return $crmStatusTypes;
}
+ public function getApiDeliveryTypes()
+ {
+ if (!$this->api) {
+ return [];
+ }
+
+ $crmDeliveryTypes = [];
+ $request = $this->api->deliveryTypesList();
+
+ if (!$request) {
+ return [];
+ }
+
+ foreach ($request->deliveryTypes as $dType) {
+ if (!$dType['active']) {
+ continue;
+ }
+
+ $crmDeliveryTypes[] = [
+ 'code' => $dType['code'],
+ 'name' => $dType['name'],
+ ];
+ }
+
+ return $crmDeliveryTypes;
+ }
+
+ /**
+ * Used in \RetailcrmSettings::validateStoredSettings to validate api statuses
+ *
+ * @return array
+ */
+ public function getApiStatuses()
+ {
+ if (!$this->api) {
+ return [];
+ }
+
+ $crmStatusTypes = [];
+ $request = $this->api->statusesList();
+
+ if (!$request) {
+ return [];
+ }
+
+ foreach ($request->statuses as $sType) {
+ if (!$sType['active']) {
+ continue;
+ }
+
+ $crmStatusTypes[] = [
+ 'code' => $sType['code'],
+ 'name' => $sType['name'],
+ 'ordering' => $sType['ordering'],
+ ];
+ }
+ usort($crmStatusTypes, function ($a, $b) {
+ if ($a['ordering'] == $b['ordering']) {
+ return 0;
+ } else {
+ return $a['ordering'] < $b['ordering'] ? -1 : 1;
+ }
+ });
+
+ return $crmStatusTypes;
+ }
+
public function getApiPaymentTypes()
{
+ if (!$this->api) {
+ return [];
+ }
+
$crmPaymentTypes = [];
$request = $this->api->paymentTypesList();
- if ($request) {
- $crmPaymentTypes[] = [
- 'id_option' => '',
- 'name' => '',
- ];
- foreach ($request->paymentTypes as $pType) {
- if (!$pType['active']) {
- continue;
- }
+ if (!$request) {
+ return [];
+ }
- $crmPaymentTypes[] = [
- 'id_option' => $pType['code'],
- 'name' => $pType['name'],
- ];
+ foreach ($request->paymentTypes as $pType) {
+ if (!$pType['active']) {
+ continue;
}
+
+ $crmPaymentTypes[] = [
+ 'code' => $pType['code'],
+ 'name' => $pType['name'],
+ ];
}
return $crmPaymentTypes;
@@ -416,61 +350,4 @@ class RetailcrmReferences
return null;
}
-
- public function getStores()
- {
- $storesShop = $this->getShopStores();
- $retailcrmStores = $this->getApiStores();
-
- foreach ($storesShop as $key => $storeShop) {
- $stores[] = [
- 'type' => 'select',
- 'name' => 'RETAILCRM_STORES[' . $key . ']',
- 'label' => $storeShop,
- 'options' => [
- 'query' => $retailcrmStores,
- 'id' => 'id_option',
- 'name' => 'name',
- ],
- ];
- }
-
- return $stores;
- }
-
- protected function getShopStores()
- {
- $stores = [];
- $warehouses = Warehouse::getWarehouses();
-
- foreach ($warehouses as $warehouse) {
- $arrayName = explode('-', $warehouse['name']);
- $warehouseName = trim($arrayName[1]);
- $stores[$warehouse['id_warehouse']] = $warehouseName;
- }
-
- return $stores;
- }
-
- protected function getApiStores()
- {
- $crmStores = [];
- $response = $this->api->storesList();
-
- if ($response) {
- $crmStores[] = [
- 'id_option' => '',
- 'name' => '',
- ];
-
- foreach ($response->stores as $store) {
- $crmStores[] = [
- 'id_option' => $store['code'],
- 'name' => $store['name'],
- ];
- }
- }
-
- return $crmStores;
- }
}
diff --git a/retailcrm/lib/RetailcrmTools.php b/retailcrm/lib/RetailcrmTools.php
index 55da876..5abd10d 100644
--- a/retailcrm/lib/RetailcrmTools.php
+++ b/retailcrm/lib/RetailcrmTools.php
@@ -227,20 +227,20 @@ class RetailcrmTools
$msg = '';
if (null !== $relatedObject) {
- $msg = sprintf('for %s with id %s',
+ $msg = sprintf(
+ 'for %s with id %s',
get_class($relatedObject),
$relatedObject->id
);
}
RetailcrmLogger::writeCaller(__METHOD__, sprintf(
- 'Error validating %s with id %s%s: %s',
- get_class($object),
- $object->id,
- $msg,
- $validate
- )
- );
+ 'Error validating %s with id %s%s: %s',
+ get_class($object),
+ $object->id,
+ $msg,
+ $validate
+ ));
return false;
}
@@ -383,7 +383,7 @@ class RetailcrmTools
public static function validateCrmAddress($address)
{
if (preg_match("/https:\/\/(.*).(retailcrm.(pro|ru|es)|simla.com)/", $address)) {
- return true;
+ return Validate::isGenericName($address);
}
return false;
@@ -619,43 +619,117 @@ class RetailcrmTools
} else {
if (null !== $code) {
switch ($code) {
- case 100: $text = 'Continue'; break;
- case 101: $text = 'Switching Protocols'; break;
- case 200: $text = 'OK'; break;
- case 201: $text = 'Created'; break;
- case 202: $text = 'Accepted'; break;
- case 203: $text = 'Non-Authoritative Information'; break;
- case 204: $text = 'No Content'; break;
- case 205: $text = 'Reset Content'; break;
- case 206: $text = 'Partial Content'; break;
- case 300: $text = 'Multiple Choices'; break;
- case 301: $text = 'Moved Permanently'; break;
- case 302: $text = 'Moved Temporarily'; break;
- case 303: $text = 'See Other'; break;
- case 304: $text = 'Not Modified'; break;
- case 305: $text = 'Use Proxy'; break;
- case 400: $text = 'Bad Request'; break;
- case 401: $text = 'Unauthorized'; break;
- case 402: $text = 'Payment Required'; break;
- case 403: $text = 'Forbidden'; break;
- case 404: $text = 'Not Found'; break;
- case 405: $text = 'Method Not Allowed'; break;
- case 406: $text = 'Not Acceptable'; break;
- case 407: $text = 'Proxy Authentication Required'; break;
- case 408: $text = 'Request Time-out'; break;
- case 409: $text = 'Conflict'; break;
- case 410: $text = 'Gone'; break;
- case 411: $text = 'Length Required'; break;
- case 412: $text = 'Precondition Failed'; break;
- case 413: $text = 'Request Entity Too Large'; break;
- case 414: $text = 'Request-URI Too Large'; break;
- case 415: $text = 'Unsupported Media Type'; break;
- case 500: $text = 'Internal Server Error'; break;
- case 501: $text = 'Not Implemented'; break;
- case 502: $text = 'Bad Gateway'; break;
- case 503: $text = 'Service Unavailable'; break;
- case 504: $text = 'Gateway Time-out'; break;
- case 505: $text = 'HTTP Version not supported'; break;
+ case 100:
+ $text = 'Continue';
+ break;
+ case 101:
+ $text = 'Switching Protocols';
+ break;
+ case 200:
+ $text = 'OK';
+ break;
+ case 201:
+ $text = 'Created';
+ break;
+ case 202:
+ $text = 'Accepted';
+ break;
+ case 203:
+ $text = 'Non-Authoritative Information';
+ break;
+ case 204:
+ $text = 'No Content';
+ break;
+ case 205:
+ $text = 'Reset Content';
+ break;
+ case 206:
+ $text = 'Partial Content';
+ break;
+ case 300:
+ $text = 'Multiple Choices';
+ break;
+ case 301:
+ $text = 'Moved Permanently';
+ break;
+ case 302:
+ $text = 'Moved Temporarily';
+ break;
+ case 303:
+ $text = 'See Other';
+ break;
+ case 304:
+ $text = 'Not Modified';
+ break;
+ case 305:
+ $text = 'Use Proxy';
+ break;
+ case 400:
+ $text = 'Bad Request';
+ break;
+ case 401:
+ $text = 'Unauthorized';
+ break;
+ case 402:
+ $text = 'Payment Required';
+ break;
+ case 403:
+ $text = 'Forbidden';
+ break;
+ case 404:
+ $text = 'Not Found';
+ break;
+ case 405:
+ $text = 'Method Not Allowed';
+ break;
+ case 406:
+ $text = 'Not Acceptable';
+ break;
+ case 407:
+ $text = 'Proxy Authentication Required';
+ break;
+ case 408:
+ $text = 'Request Time-out';
+ break;
+ case 409:
+ $text = 'Conflict';
+ break;
+ case 410:
+ $text = 'Gone';
+ break;
+ case 411:
+ $text = 'Length Required';
+ break;
+ case 412:
+ $text = 'Precondition Failed';
+ break;
+ case 413:
+ $text = 'Request Entity Too Large';
+ break;
+ case 414:
+ $text = 'Request-URI Too Large';
+ break;
+ case 415:
+ $text = 'Unsupported Media Type';
+ break;
+ case 500:
+ $text = 'Internal Server Error';
+ break;
+ case 501:
+ $text = 'Not Implemented';
+ break;
+ case 502:
+ $text = 'Bad Gateway';
+ break;
+ case 503:
+ $text = 'Service Unavailable';
+ break;
+ case 504:
+ $text = 'Gateway Time-out';
+ break;
+ case 505:
+ $text = 'HTTP Version not supported';
+ break;
default:
exit('Unknown http status code "' . htmlentities($code) . '"');
break;
@@ -918,10 +992,12 @@ class RetailcrmTools
{
$controllerName = str_replace('Controller', '', $className);
- return sprintf('%s%s/index.php?controller=%s&token=%s',
+ return sprintf(
+ '%s%s/index.php?controller=%s&token=%s',
Tools::getAdminUrl(),
basename(_PS_ADMIN_DIR_),
$controllerName,
- Tools::getAdminTokenLite($controllerName));
+ Tools::getAdminTokenLite($controllerName)
+ );
}
}
diff --git a/retailcrm/views/templates/admin/module_translates.tpl b/retailcrm/lib/exceptions/RetailcrmNotFoundException.php
similarity index 86%
rename from retailcrm/views/templates/admin/module_translates.tpl
rename to retailcrm/lib/exceptions/RetailcrmNotFoundException.php
index 1d0b41b..4069d82 100644
--- a/retailcrm/views/templates/admin/module_translates.tpl
+++ b/retailcrm/lib/exceptions/RetailcrmNotFoundException.php
@@ -1,4 +1,5 @@
-{**
+
- const retailcrmTranslates = {
- 'orders-table.empty': '{l s='No orders found' mod='retailcrm'}',
- 'orders-table.error': '{l s='An error occured while searching for the orders. Please try again' mod='retailcrm'}'
- };
-
+ */
+
+class RetailcrmNotFoundException extends Exception
+{
+}
diff --git a/retailcrm/lib/settings/RetailcrmSettings.php b/retailcrm/lib/settings/RetailcrmSettings.php
new file mode 100644
index 0000000..c5105de
--- /dev/null
+++ b/retailcrm/lib/settings/RetailcrmSettings.php
@@ -0,0 +1,109 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+class RetailcrmSettings
+{
+ /**
+ * @var RetailcrmSettingsItems
+ */
+ private $settings;
+
+ /**
+ * @var RetailcrmSettingsItemHtml
+ */
+ private $consultantScript;
+
+ /**
+ * @var RetailcrmSettingsValidator
+ */
+ private $validator;
+
+ public function __construct(RetailCRM $module)
+ {
+ $this->settings = new RetailcrmSettingsItems();
+ $this->consultantScript = new RetailcrmSettingsItemHtml('consultantScript', RetailCRM::CONSULTANT_SCRIPT);
+
+ $this->validator = new RetailcrmSettingsValidator($this->settings, $module->reference);
+ }
+
+ /**
+ * Save settings handler
+ *
+ * @return array
+ */
+ public function save()
+ {
+ if ($this->validator->validate()) {
+ $this->settings->updateValueAll();
+ }
+
+ $changed = $this->settings->getChanged();
+
+ if ($this->consultantScript->issetValue()) {
+ $this->updateConsultantCode();
+ $changed['consultantScript'] = $this->consultantScript->getValueStored();
+ }
+
+ return [
+ 'success' => $this->validator->getSuccess(),
+ 'errors' => $this->validator->getErrors(),
+ 'warnings' => $this->validator->getWarnings(),
+ 'changed' => $changed,
+ ];
+ }
+
+ private function updateConsultantCode()
+ {
+ $consultantCode = $this->consultantScript->getValue();
+
+ if (!empty($consultantCode)) {
+ $extractor = new RetailcrmConsultantRcctExtractor();
+ $rcct = $extractor->setConsultantScript($consultantCode)->build()->getDataString();
+
+ if (!empty($rcct)) {
+ $this->consultantScript->updateValue();
+ Configuration::updateValue(RetailCRM::CONSULTANT_RCCT, $rcct);
+ Cache::getInstance()->set(RetailCRM::CONSULTANT_RCCT, $rcct);
+ } else {
+ $this->consultantScript->deleteValue();
+ Configuration::deleteByName(RetailCRM::CONSULTANT_RCCT);
+ Cache::getInstance()->delete(RetailCRM::CONSULTANT_RCCT);
+ }
+ }
+ }
+}
diff --git a/retailcrm/lib/settings/RetailcrmSettingsHelper.php b/retailcrm/lib/settings/RetailcrmSettingsHelper.php
new file mode 100644
index 0000000..179db78
--- /dev/null
+++ b/retailcrm/lib/settings/RetailcrmSettingsHelper.php
@@ -0,0 +1,138 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+class RetailcrmSettingsHelper
+{
+ public static function getCartDelays()
+ {
+ return
+ [
+ '900',
+ '1800',
+ '2700',
+ '3600',
+ ];
+ }
+
+ public static function getJobsInfo()
+ {
+ $jobsInfo = [];
+
+ $lastRunDetails = RetailcrmJobManager::getLastRunDetails();
+ $currentJob = Configuration::get(RetailcrmJobManager::CURRENT_TASK);
+ $currentJobCli = Configuration::get(RetailcrmCli::CURRENT_TASK_CLI);
+
+ foreach ($lastRunDetails as $job => $detail) {
+ $lastRunDetails[$job]['name'] = $job;
+ $lastRunDetails[$job]['running'] = $job === $currentJob || $job === $currentJobCli;
+
+ $jobsInfo[] = $lastRunDetails[$job]; // todo refactor
+ }
+
+ return $jobsInfo;
+ }
+
+ public static function getLogFilesInfo()
+ {
+ $fileNames = [];
+ $logFiles = RetailcrmLoggerHelper::getLogFiles();
+
+ foreach ($logFiles as $logFile) {
+ $fileNames[] = [
+ 'name' => basename($logFile),
+ 'path' => $logFile,
+ 'size' => number_format(filesize($logFile), 0, '.', ' ') . ' bytes',
+ 'modified' => date('Y-m-d H:i:s', filemtime($logFile)),
+ ];
+ }
+
+ return $fileNames;
+ }
+
+ public static function getIcmlFileInfo()
+ {
+ $icmlInfo = json_decode((string) Configuration::get(RetailcrmCatalogHelper::ICML_INFO_NAME), true);
+
+ if (null === $icmlInfo || JSON_ERROR_NONE !== json_last_error()) {
+ $icmlInfo = [];
+ }
+
+ $icmlInfo['isCatalogConnected'] = false;
+ $icmlInfo['isUrlActual'] = false;
+ $icmlInfo['siteId'] = null;
+
+ $lastGenerated = RetailcrmCatalogHelper::getIcmlFileDate();
+
+ if (false === $lastGenerated) {
+ return $icmlInfo;
+ }
+
+ $icmlInfo['isCatalogConnected'] = true;
+
+ $icmlInfo['lastGenerated'] = $lastGenerated;
+ $now = new DateTimeImmutable();
+ /** @var DateInterval $diff */
+ $diff = $lastGenerated->diff($now);
+
+ $icmlInfo['lastGeneratedDiff'] = [
+ 'days' => $diff->days,
+ 'hours' => $diff->h,
+ 'minutes' => $diff->i,
+ ];
+
+ $icmlInfo['isOutdated'] = (
+ 0 < $icmlInfo['lastGeneratedDiff']['days']
+ || 4 < $icmlInfo['lastGeneratedDiff']['hours']
+ );
+
+ $api = RetailcrmTools::getApiClient();
+
+ if (null !== $api) {
+ $reference = new RetailcrmReferences($api);
+
+ $site = $reference->getSite();
+ $icmlInfo['isUrlActual'] = !empty($site['ymlUrl'])
+ && $site['ymlUrl'] === RetailcrmCatalogHelper::getIcmlFileLink();
+ if (!empty($site['catalogId'])) {
+ $icmlInfo['siteId'] = $site['catalogId'];
+ }
+ }
+
+ return $icmlInfo;
+ }
+}
diff --git a/retailcrm/lib/settings/RetailcrmSettingsItem.php b/retailcrm/lib/settings/RetailcrmSettingsItem.php
new file mode 100644
index 0000000..5433b04
--- /dev/null
+++ b/retailcrm/lib/settings/RetailcrmSettingsItem.php
@@ -0,0 +1,94 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+class RetailcrmSettingsItem
+{
+ private $paramKey;
+ protected $configKey;
+
+ public function __construct($paramKey, $configKey)
+ {
+ $this->paramKey = $paramKey;
+ $this->configKey = $configKey;
+ }
+
+ public function updateValue()
+ {
+ if (!$this->issetValue()) {
+ return;
+ }
+
+ $value = $this->getValueForUpdate();
+
+ Configuration::updateValue($this->configKey, $value);
+ }
+
+ public function issetValue()
+ {
+ return Tools::getIsset($this->paramKey);
+ }
+
+ public function deleteValue()
+ {
+ return Configuration::deleteByName($this->configKey);
+ }
+
+ public function getValue()
+ {
+ return Tools::getValue($this->paramKey);
+ }
+
+ public function getValueForUpdate() // todo make protected
+ {
+ return $this->getValue();
+ }
+
+ public function getValueStored()
+ {
+ return Configuration::get($this->configKey, null, null, null, '');
+ }
+
+ public function getValueWithStored()
+ {
+ if ($this->issetValue()) {
+ return $this->getValue();
+ }
+
+ return $this->getValueStored();
+ }
+}
diff --git a/retailcrm/views/fonts/OpenSansBold/index.php b/retailcrm/lib/settings/RetailcrmSettingsItemBool.php
similarity index 78%
rename from retailcrm/views/fonts/OpenSansBold/index.php
rename to retailcrm/lib/settings/RetailcrmSettingsItemBool.php
index 4043a55..f0fb672 100644
--- a/retailcrm/views/fonts/OpenSansBold/index.php
+++ b/retailcrm/lib/settings/RetailcrmSettingsItemBool.php
@@ -36,10 +36,24 @@
* to avoid any conflicts with others containers.
*/
-header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
-header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
-header('Cache-Control: no-store, no-cache, must-revalidate');
-header('Cache-Control: post-check=0, pre-check=0', false);
-header('Pragma: no-cache');
-header('Location: ../');
-exit;
+class RetailcrmSettingsItemBool extends RetailcrmSettingsItem
+{
+ public function getValue()
+ {
+ $value = parent::getValue();
+
+ return false !== $value && 'false' !== $value;
+ }
+
+ public function getValueForUpdate() // todo to protected
+ {
+ $valueForUpdate = parent::getValueForUpdate();
+
+ return $valueForUpdate ? '1' : '0';
+ }
+
+ public function getValueStored()
+ {
+ return '1' === parent::getValueStored();
+ }
+}
diff --git a/retailcrm/views/css/less/index.php b/retailcrm/lib/settings/RetailcrmSettingsItemCache.php
similarity index 77%
rename from retailcrm/views/css/less/index.php
rename to retailcrm/lib/settings/RetailcrmSettingsItemCache.php
index 4043a55..97dafed 100644
--- a/retailcrm/views/css/less/index.php
+++ b/retailcrm/lib/settings/RetailcrmSettingsItemCache.php
@@ -36,10 +36,23 @@
* to avoid any conflicts with others containers.
*/
-header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
-header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
-header('Cache-Control: no-store, no-cache, must-revalidate');
-header('Cache-Control: post-check=0, pre-check=0', false);
-header('Pragma: no-cache');
-header('Location: ../');
-exit;
+class RetailcrmSettingsItemCache extends RetailcrmSettingsItem
+{
+ public function updateValue()
+ {
+ if (!$this->issetValue()) {
+ return;
+ }
+
+ $value = $this->getValueForUpdate();
+
+ Configuration::updateValue($this->configKey, $value);
+ Cache::getInstance()->set($this->configKey, $value);
+ }
+
+ public function deleteValue()
+ {
+ return parent::deleteValue()
+ && Cache::getInstance()->delete($this->configKey);
+ }
+}
diff --git a/retailcrm/views/fonts/OpenSans/index.php b/retailcrm/lib/settings/RetailcrmSettingsItemHtml.php
similarity index 85%
rename from retailcrm/views/fonts/OpenSans/index.php
rename to retailcrm/lib/settings/RetailcrmSettingsItemHtml.php
index 4043a55..b182a96 100644
--- a/retailcrm/views/fonts/OpenSans/index.php
+++ b/retailcrm/lib/settings/RetailcrmSettingsItemHtml.php
@@ -36,10 +36,16 @@
* to avoid any conflicts with others containers.
*/
-header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
-header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
-header('Cache-Control: no-store, no-cache, must-revalidate');
-header('Cache-Control: post-check=0, pre-check=0', false);
-header('Pragma: no-cache');
-header('Location: ../');
-exit;
+class RetailcrmSettingsItemHtml extends RetailcrmSettingsItem
+{
+ public function updateValue()
+ {
+ if (!$this->issetValue()) {
+ return;
+ }
+
+ $value = $this->getValueForUpdate();
+
+ Configuration::updateValue($this->configKey, $value, true);
+ }
+}
diff --git a/retailcrm/lib/settings/RetailcrmSettingsItemJson.php b/retailcrm/lib/settings/RetailcrmSettingsItemJson.php
new file mode 100644
index 0000000..a771114
--- /dev/null
+++ b/retailcrm/lib/settings/RetailcrmSettingsItemJson.php
@@ -0,0 +1,73 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+class RetailcrmSettingsItemJson extends RetailcrmSettingsItem
+{
+ public function getValue()
+ {
+ $value = parent::getValue();
+
+ if (is_string($value)) {
+ return json_decode($value, true);
+ }
+
+ if (is_array($value)) {
+ return $value;
+ }
+
+ return [];
+ }
+
+ public function getValueForUpdate() // todo change to protected
+ {
+ $value = parent::getValue();
+
+ if (is_array($value)) {
+ return json_encode($value);
+ }
+
+ return $value;
+ }
+
+ public function getValueStored()
+ {
+ $valueStored = parent::getValueStored();
+
+ return (array) json_decode($valueStored, true);
+ }
+}
diff --git a/retailcrm/views/fonts/index.php b/retailcrm/lib/settings/RetailcrmSettingsItemUrl.php
similarity index 85%
rename from retailcrm/views/fonts/index.php
rename to retailcrm/lib/settings/RetailcrmSettingsItemUrl.php
index 4043a55..492f536 100644
--- a/retailcrm/views/fonts/index.php
+++ b/retailcrm/lib/settings/RetailcrmSettingsItemUrl.php
@@ -36,10 +36,16 @@
* to avoid any conflicts with others containers.
*/
-header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
-header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
-header('Cache-Control: no-store, no-cache, must-revalidate');
-header('Cache-Control: post-check=0, pre-check=0', false);
-header('Pragma: no-cache');
-header('Location: ../');
-exit;
+class RetailcrmSettingsItemUrl extends RetailcrmSettingsItem
+{
+ public function getValue()
+ {
+ $value = parent::getValue();
+
+ if ('/' !== $value[strlen($value) - 1]) {
+ $value .= '/';
+ }
+
+ return $value;
+ }
+}
diff --git a/retailcrm/lib/settings/RetailcrmSettingsItems.php b/retailcrm/lib/settings/RetailcrmSettingsItems.php
new file mode 100644
index 0000000..ae07e1a
--- /dev/null
+++ b/retailcrm/lib/settings/RetailcrmSettingsItems.php
@@ -0,0 +1,153 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+class RetailcrmSettingsItems
+{
+ /**
+ * @var RetailcrmSettingsItem[]
+ */
+ private $settings;
+
+ public function __construct()
+ {
+ $this->settings = [
+ 'url' => new RetailcrmSettingsItemUrl('url', RetailCRM::API_URL),
+ 'apiKey' => new RetailcrmSettingsItem('apiKey', RetailCRM::API_KEY),
+
+ 'delivery' => new RetailcrmSettingsItemJson('delivery', RetailCRM::DELIVERY),
+ 'payment' => new RetailcrmSettingsItemJson('payment', RetailCRM::PAYMENT),
+ 'status' => new RetailcrmSettingsItemJson('status', RetailCRM::STATUS),
+ 'outOfStockStatus' => new RetailcrmSettingsItemJson('outOfStockStatus', RetailCRM::OUT_OF_STOCK_STATUS),
+
+ 'enableHistoryUploads' => new RetailcrmSettingsItemBool('enableHistoryUploads', RetailCRM::ENABLE_HISTORY_UPLOADS),
+ 'enableBalancesReceiving' => new RetailcrmSettingsItemBool('enableBalancesReceiving', RetailCRM::ENABLE_BALANCES_RECEIVING),
+ 'collectorActive' => new RetailcrmSettingsItemBool('collectorActive', RetailCRM::COLLECTOR_ACTIVE),
+ 'synchronizeCartsActive' => new RetailcrmSettingsItemBool('synchronizeCartsActive', RetailCRM::SYNC_CARTS_ACTIVE),
+ 'enableCorporate' => new RetailcrmSettingsItemBool('enableCorporate', RetailCRM::ENABLE_CORPORATE_CLIENTS),
+ 'enableOrderNumberSending' => new RetailcrmSettingsItemBool('enableOrderNumberSending', RetailCRM::ENABLE_ORDER_NUMBER_SENDING),
+ 'enableOrderNumberReceiving' => new RetailcrmSettingsItemBool('enableOrderNumberReceiving', RetailCRM::ENABLE_ORDER_NUMBER_RECEIVING),
+ 'webJobs' => new RetailcrmSettingsItemBool('webJobs', RetailCRM::ENABLE_WEB_JOBS),
+ 'debugMode' => new RetailcrmSettingsItemBool('debugMode', RetailCRM::ENABLE_DEBUG_MODE),
+
+ 'deliveryDefault' => new RetailcrmSettingsItem('deliveryDefault', RetailCRM::DELIVERY_DEFAULT),
+ 'paymentDefault' => new RetailcrmSettingsItem('paymentDefault', RetailCRM::PAYMENT_DEFAULT),
+ 'synchronizedCartStatus' => new RetailcrmSettingsItem('synchronizedCartStatus', RetailCRM::SYNC_CARTS_STATUS),
+ 'synchronizedCartDelay' => new RetailcrmSettingsItem('synchronizedCartDelay', RetailCRM::SYNC_CARTS_DELAY),
+ 'collectorKey' => new RetailcrmSettingsItem('collectorKey', RetailCRM::COLLECTOR_KEY),
+ ];
+ }
+
+ public function getValue($key)
+ {
+ $this->checkKey($key);
+
+ return $this->settings[$key]->getValue();
+ }
+
+ public function issetValue($key)
+ {
+ $this->checkKey($key);
+
+ return $this->settings[$key]->issetValue();
+ }
+
+ public function updateValue($key)
+ {
+ $this->checkKey($key);
+
+ $this->settings[$key]->updateValue();
+ }
+
+ public function updateValueAll()
+ {
+ foreach ($this->settings as $key => $item) {
+ $item->updateValue();
+ }
+ }
+
+ public function deleteValue($key)
+ {
+ $this->checkKey($key);
+
+ $this->settings[$key]->deleteValue();
+ }
+
+ public function deleteValueAll()
+ {
+ foreach ($this->settings as $item) {
+ $item->deleteValue();
+ }
+ }
+
+ /**
+ * @throws Exception
+ */
+ private function checkKey($key)
+ {
+ if (!array_key_exists($key, $this->settings)) {
+ throw new Exception("Invalid key `$key`!");
+ }
+ }
+
+ public function getValueStored($key)
+ {
+ $this->checkKey($key);
+
+ return $this->settings[$key]->getValueStored();
+ }
+
+ public function getValueWithStored($key)
+ {
+ $this->checkKey($key);
+
+ return $this->settings[$key]->getValueWithStored();
+ }
+
+ public function getChanged()
+ {
+ $changed = [];
+
+ foreach ($this->settings as $key => $setting) {
+ if ($setting->issetValue()) {
+ $changed[$key] = $setting->getValueStored();
+ }
+ }
+
+ return $changed;
+ }
+}
diff --git a/retailcrm/lib/settings/RetailcrmSettingsValidator.php b/retailcrm/lib/settings/RetailcrmSettingsValidator.php
new file mode 100644
index 0000000..6bd7f48
--- /dev/null
+++ b/retailcrm/lib/settings/RetailcrmSettingsValidator.php
@@ -0,0 +1,314 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+class RetailcrmSettingsValidator
+{
+ const LATEST_API_VERSION = '5';
+
+ private $errors;
+ private $warnings;
+
+ /**
+ * @var RetailcrmSettingsItems
+ */
+ private $settings;
+ /**
+ * @var RetailcrmReferences|null
+ */
+ private $reference;
+
+ public function __construct(
+ RetailcrmSettingsItems $settings,
+ RetailcrmReferences $reference = null
+ ) {
+ $this->settings = $settings;
+ $this->reference = $reference;
+ $this->errors = [];
+ $this->warnings = [];
+ }
+
+ public function getErrors()
+ {
+ return $this->errors;
+ }
+
+ public function getWarnings()
+ {
+ return $this->warnings;
+ }
+
+ public function getSuccess()
+ {
+ return 0 === count($this->errors);
+ }
+
+ /**
+ * Settings form validator
+ */
+ public function validate()
+ {
+ // check url and apiKey
+ $urlAndApiKeyValidated = true;
+ if ($this->settings->issetValue('url') && !RetailcrmTools::validateCrmAddress($this->settings->getValue('url'))) {
+ $this->addError('errors.url');
+ $urlAndApiKeyValidated = false;
+ }
+
+ if ($this->settings->issetValue('apiKey') && !$this->settings->getValue('apiKey')) {
+ $this->addError('errors.key');
+ $urlAndApiKeyValidated = false;
+ }
+
+ if ($urlAndApiKeyValidated && ($this->settings->issetValue('url') || $this->settings->issetValue('apiKey'))) {
+ if (!$this->validateApiVersion(
+ $this->settings->getValueWithStored('url'),
+ $this->settings->getValueWithStored('apiKey')
+ )
+ ) {
+ $this->addError('errors.version');
+ }
+ }
+
+ // check abandoned carts status
+ if ($this->settings->issetValue('status') || $this->settings->issetValue('synchronizedCartStatus')) {
+ if (!$this->validateCartStatus(
+ $this->settings->getValueWithStored('status'),
+ $this->settings->getValueWithStored('synchronizedCartStatus')
+ )
+ ) {
+ $this->addError('errors.carts'); // todo check if it works
+ }
+ }
+
+ // check mapping statuses
+ if ($this->settings->issetValue('status')) {
+ if (!$this->validateMappingOneToOne($this->settings->getValue('status'))) {
+ $this->addError('errors.status');
+ }
+ }
+
+ // check mapping delivery
+ if ($this->settings->issetValue('delivery')) {
+ if (!$this->validateMappingOneToOne($this->settings->getValue('delivery'))) {
+ $this->addError('errors.delivery');
+ }
+ }
+
+ // check mapping payment
+ if ($this->settings->issetValue('payment')) {
+ if (!$this->validateMappingOneToOne($this->settings->getValue('payment'))) {
+ $this->addError('errors.payment');
+ }
+ }
+
+ // check collector identifier
+ if ($this->settings->issetValue('collectorActive') || $this->settings->issetValue('collectorKey')) {
+ if (!$this->validateCollector(
+ $this->settings->getValueWithStored('collectorActive'),
+ $this->settings->getValueWithStored('collectorKey')
+ )) {
+ $this->addError('errors.collector');
+ }
+ }
+
+ $errorTabs = $this->validateStoredSettings(); // todo maybe refactor
+
+ if (in_array('delivery', $errorTabs)) {
+ $this->addWarning('warnings.delivery');
+ }
+ if (in_array('status', $errorTabs)) {
+ $this->addWarning('warnings.status');
+ }
+ if (in_array('payment', $errorTabs)) {
+ $this->addWarning('warnings.payment');
+ }
+ if (in_array('deliveryDefault', $errorTabs) || in_array('paymentDefault', $errorTabs)) {
+ $this->addWarning('warnings.default');
+ }
+
+ return $this->getSuccess();
+ }
+
+ /**
+ * Cart status must be present and must be unique to cartsIds only
+ *
+ * @param string $statuses
+ * @param string $cartStatus
+ *
+ * @return bool
+ */
+ private function validateCartStatus($statuses, $cartStatus)
+ {
+ if (!is_array($statuses)) {
+ return true;
+ }
+
+ $statusesList = array_filter(array_values($statuses));
+
+ if (0 === count($statusesList)) {
+ return true;
+ }
+
+ if ('' !== $cartStatus && in_array($cartStatus, $statusesList)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns false if mapping is not valid in one-to-one relation
+ *
+ * @param string $statuses
+ *
+ * @return bool
+ */
+ private function validateMappingOneToOne($statuses)
+ {
+ if (!is_array($statuses)) {
+ return true;
+ }
+
+ $statusesList = array_filter(array_values($statuses));
+
+ if (count($statusesList) != count(array_unique($statusesList))) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public function validateStoredSettings() // todo also uses in settings template to show errors on page load
+ {
+ $tabsWithWarnings = [];
+ $tabsNamesAndCheckApiMethods = [
+ 'delivery' => 'getApiDeliveryTypes', // todo check and replace with new functions
+ 'status' => 'getApiStatuses',
+ 'payment' => 'getApiPaymentTypes',
+ 'deliveryDefault' => null,
+ 'paymentDefault' => null,
+ ];
+
+ foreach ($tabsNamesAndCheckApiMethods as $tabName => $checkApiMethod) {
+ if (!$this->settings->issetValue($tabName)) { // todo remove
+ continue;
+ }
+
+ $storedValues = $this->settings->getValueWithStored($tabName); // todo get encoded value from Tools::
+
+ if (false === $storedValues || null === $storedValues) {
+ continue;
+ }
+
+ if (!$this->validateMappingSelected($storedValues)) {
+ $tabsWithWarnings[] = $tabName;
+
+ continue;
+ }
+
+ if (null !== $checkApiMethod) {
+ $crmValues = call_user_func([$this->reference, $checkApiMethod]); // todo use class own reference
+ $crmCodes = array_column($crmValues, 'code');
+
+ if (!empty(array_diff($storedValues, $crmCodes))) {
+ $tabsWithWarnings[] = $tabName;
+ }
+ }
+ }
+
+ return $tabsWithWarnings;
+ }
+
+ private function validateMappingSelected($values)
+ {
+ if (is_array($values)) {
+ foreach ($values as $item) {
+ if (empty($item)) {
+ return false;
+ }
+ }
+ } elseif (empty($values)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns true if provided connection supports API v5
+ *
+ * @return bool
+ */
+ private function validateApiVersion($url, $apiKey)
+ {
+ /** @var RetailcrmProxy|RetailcrmApiClientV5 $api */
+ $api = new RetailcrmProxy(
+ $url,
+ $apiKey
+ );
+
+ $response = $api->apiVersions();
+
+ if (false !== $response && isset($response['versions']) && !empty($response['versions'])) {
+ foreach ($response['versions'] as $version) {
+ if ($version == static::LATEST_API_VERSION
+ || Tools::substr($version, 0, 1) == static::LATEST_API_VERSION
+ ) {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+
+ private function validateCollector($collectorActive, $collectorKey)
+ {
+ return !$collectorActive || '' !== $collectorKey;
+ }
+
+ private function addError($message)
+ {
+ $this->errors[] = $message;
+ }
+
+ private function addWarning($message)
+ {
+ $this->warnings[] = $message;
+ }
+}
diff --git a/retailcrm/views/css/index.php b/retailcrm/lib/settings/index.php
similarity index 100%
rename from retailcrm/views/css/index.php
rename to retailcrm/lib/settings/index.php
diff --git a/retailcrm/lib/templates/RetailcrmAbstractTemplate.php b/retailcrm/lib/templates/RetailcrmAbstractTemplate.php
index 69f35a9..4f17d20 100644
--- a/retailcrm/lib/templates/RetailcrmAbstractTemplate.php
+++ b/retailcrm/lib/templates/RetailcrmAbstractTemplate.php
@@ -48,18 +48,6 @@ abstract class RetailcrmAbstractTemplate
/** @var array */
protected $data;
- /** @var array */
- private $errors;
-
- /** @var array */
- private $warnings;
-
- /** @var array */
- private $informations;
-
- /** @var array */
- private $confirmations;
-
/** @var Context */
protected $context;
@@ -75,10 +63,6 @@ abstract class RetailcrmAbstractTemplate
$this->module = $module;
$this->smarty = $smarty;
$this->assets = $assets;
- $this->errors = [];
- $this->warnings = [];
- $this->informations = [];
- $this->confirmations = [];
}
/**
@@ -125,72 +109,11 @@ abstract class RetailcrmAbstractTemplate
. '&token=' . $this->smarty->getTemplateVars('token');
}
- $this->smarty->assign(\array_merge($this->data, [
- 'moduleErrors' => $this->errors,
- 'moduleWarnings' => $this->warnings,
- 'moduleConfirmations' => $this->confirmations,
- 'moduleInfos' => $this->informations,
- ]));
+ $this->smarty->assign($this->data);
return $this->module->display($file, "views/templates/admin/$this->template");
}
- /**
- * @param $messages
- *
- * @return self
- */
- public function setErrors($messages)
- {
- if (!empty($messages)) {
- $this->errors = $messages;
- }
-
- return $this;
- }
-
- /**
- * @param $messages
- *
- * @return self
- */
- public function setWarnings($messages)
- {
- if (!empty($messages)) {
- $this->warnings = $messages;
- }
-
- return $this;
- }
-
- /**
- * @param $messages
- *
- * @return self
- */
- public function setInformations($messages)
- {
- if (!empty($messages)) {
- $this->informations = $messages;
- }
-
- return $this;
- }
-
- /**
- * @param $messages
- *
- * @return self
- */
- public function setConfirmations($messages)
- {
- if (!empty($messages)) {
- $this->confirmations = $messages;
- }
-
- return $this;
- }
-
/**
* @param $context
*
diff --git a/retailcrm/lib/templates/RetailcrmSettingsTemplate.php b/retailcrm/lib/templates/RetailcrmSettingsTemplate.php
index be4fce0..8fb0a48 100644
--- a/retailcrm/lib/templates/RetailcrmSettingsTemplate.php
+++ b/retailcrm/lib/templates/RetailcrmSettingsTemplate.php
@@ -38,8 +38,15 @@
class RetailcrmSettingsTemplate extends RetailcrmAbstractTemplate
{
- protected $settings;
- protected $settingsNames;
+ /**
+ * @var RetailcrmSettingsItems
+ */
+ private $settings;
+
+ /**
+ * @var RetailcrmSettingsItemHtml
+ */
+ private $consultantScript;
/**
* RetailcrmSettingsTemplate constructor.
@@ -47,15 +54,21 @@ class RetailcrmSettingsTemplate extends RetailcrmAbstractTemplate
* @param \Module $module
* @param $smarty
* @param $assets
- * @param $settings
- * @param $settingsNames
*/
- public function __construct(Module $module, $smarty, $assets, $settings, $settingsNames)
+ public function __construct(Module $module, $smarty, $assets)
{
parent::__construct($module, $smarty, $assets);
- $this->settings = $settings;
- $this->settingsNames = $settingsNames;
+ $this->settings = new RetailcrmSettingsItems();
+ $this->consultantScript = new RetailcrmSettingsItemHtml('consultantScript', RetailCRM::CONSULTANT_SCRIPT);
+ }
+
+ protected function buildParams()
+ {
+ $this->data = [
+ 'assets' => $this->assets,
+ 'appData' => $this->getParams(),
+ ];
}
/**
@@ -65,63 +78,89 @@ class RetailcrmSettingsTemplate extends RetailcrmAbstractTemplate
*/
protected function getParams()
{
- $params = [];
+ $deliveryTypesCMS = $this->module->reference->getDeliveryTypes();
+ $paymentTypesCMS = $this->module->reference->getSystemPaymentModules();
+ $statusesCMS = $this->module->reference->getStatuses();
- if ($this->module->api) {
- $params['statusesDefaultExport'] = $this->module->reference->getStatuseDefaultExport();
- $params['deliveryTypes'] = $this->module->reference->getDeliveryTypes();
- $params['orderStatuses'] = $this->module->reference->getStatuses();
- $params['outOfStockStatuses'] = $this->module->reference->getOutOfStockStatuses(
- [
- 'out_of_stock_paid' => $this->module->translate('If order paid'),
- 'out_of_stock_not_paid' => $this->module->translate('If order not paid'),
- ]
- );
- $params['paymentTypes'] = $this->module->reference->getPaymentTypes();
- $params['methodsForDefault'] = $this->module->reference->getPaymentAndDeliveryForDefault(
- [
- $this->module->translate('Delivery method'),
- $this->module->translate('Payment type'),
- ]
- );
- $params['ordersCount'] = RetailcrmExport::getOrdersCount();
- $params['customersCount'] = RetailcrmExport::getCustomersCount();
- $params['exportCustomersCount'] = RetailcrmExport::getCustomersCount(false);
- $params['exportOrdersStepSize'] = RetailcrmExport::RETAILCRM_EXPORT_ORDERS_STEP_SIZE_WEB;
- $params['exportCustomersStepSize'] = RetailcrmExport::RETAILCRM_EXPORT_CUSTOMERS_STEP_SIZE_WEB;
- $params['lastRunDetails'] = RetailcrmJobManager::getLastRunDetails(true);
- $params['currentJob'] = Configuration::get(RetailcrmJobManager::CURRENT_TASK);
- $params['currentJobCli'] = Configuration::get(RetailcrmCli::CURRENT_TASK_CLI);
- $params['retailcrmLogsInfo'] = RetailcrmLogger::getLogFilesInfo();
- $params['catalogInfoMultistore'] = RetailcrmCatalogHelper::getIcmlFileInfoMultistore();
- $params['shopsInfo'] = RetailcrmContextSwitcher::getShops();
- $params['errorTabs'] = $this->module->validateStoredSettings();
+ $deliveryTypesCRM = $this->module->reference->getApiDeliveryTypes();
+ $paymentTypesCRM = $this->module->reference->getApiPaymentTypes();
+ $statusesCRM = $this->module->reference->getApiStatusesWithGroup();
- $params['retailControllerOrders'] = RetailcrmTools::getAdminControllerUrl(
- RetailcrmOrdersController::class
- );
- $params['retailControllerOrdersUpload'] = RetailcrmTools::getAdminControllerUrl(
- RetailcrmOrdersUploadController::class
- );
- $params['adminControllerOrders'] = RetailcrmTools::getAdminControllerUrl(
- AdminOrdersController::class
- );
- }
-
- return $params;
- }
-
- protected function buildParams()
- {
- $this->data = array_merge(
- [
- 'assets' => $this->assets,
- 'cartsDelays' => $this->module->getSynchronizedCartsTimeSelect(),
+ return [
+ 'locale' => $this->getCurrentLanguageISO(),
+ 'controller' => [
+ 'settings' => RetailcrmTools::getAdminControllerUrl(RetailcrmSettingsController::class),
+ 'payments' => RetailcrmTools::getAdminControllerUrl(AdminPaymentPreferencesController::class),
+ 'orders' => RetailcrmTools::getAdminControllerUrl(RetailcrmOrdersController::class),
+ 'export' => RetailcrmTools::getAdminControllerUrl(RetailcrmExportController::class),
+ 'link' => RetailcrmTools::getAdminControllerUrl(AdminOrdersController::class),
+ 'jobs' => RetailcrmTools::getAdminControllerUrl(RetailcrmJobsController::class),
+ 'logs' => RetailcrmTools::getAdminControllerUrl(RetailcrmLogsController::class),
],
- $this->getParams(),
- $this->settingsNames,
- $this->settings
- );
+ 'main' => [
+ 'connection' => [
+ 'url' => $this->settings->getValueStored('url'),
+ 'apiKey' => $this->settings->getValueStored('apiKey'),
+ ],
+ 'delivery' => [
+ 'setting' => $this->settings->getValueStored('delivery'),
+ 'cms' => $deliveryTypesCMS,
+ 'crm' => $deliveryTypesCRM,
+ ],
+ 'payment' => [
+ 'setting' => $this->settings->getValueStored('payment'),
+ 'cms' => $paymentTypesCMS,
+ 'crm' => $paymentTypesCRM,
+ ],
+ 'status' => [
+ 'setting' => $this->settings->getValueStored('status'),
+ 'cms' => $statusesCMS,
+ 'crm' => $statusesCRM,
+ ],
+ ],
+ 'additional' => [
+ 'settings' => [
+ 'corporate' => $this->settings->getValueStored('enableCorporate'),
+ 'numberSend' => $this->settings->getValueStored('enableOrderNumberSending'),
+ 'numberReceive' => $this->settings->getValueStored('enableOrderNumberReceiving'),
+ 'webJobs' => $this->settings->getValueStored('webJobs'),
+ 'debug' => $this->settings->getValueStored('debugMode'),
+ ],
+ 'history' => [
+ 'enabled' => $this->settings->getValueStored('enableHistoryUploads'),
+ 'deliveryDefault' => $this->settings->getValueStored('deliveryDefault'),
+ 'paymentDefault' => $this->settings->getValueStored('paymentDefault'),
+ 'delivery' => $deliveryTypesCMS,
+ 'payment' => $paymentTypesCMS,
+ ],
+ 'stocks' => [
+ 'enabled' => $this->settings->getValueStored('enableBalancesReceiving'),
+ 'statuses' => $this->settings->getValueStored('outOfStockStatus'),
+ ],
+ 'carts' => [
+ 'synchronizeCartsActive' => $this->settings->getValueStored('synchronizeCartsActive'),
+ 'synchronizedCartStatus' => $this->settings->getValueStored('synchronizedCartStatus'),
+ 'synchronizedCartDelay' => $this->settings->getValueStored('synchronizedCartDelay'),
+ 'delays' => RetailcrmSettingsHelper::getCartDelays(),
+ ],
+ 'collector' => [
+ 'collectorActive' => $this->settings->getValueStored('collectorActive'),
+ 'collectorKey' => $this->settings->getValueStored('collectorKey'),
+ ],
+ 'consultant' => [
+ 'consultantScript' => $this->consultantScript->getValueStored(),
+ ],
+ ],
+ 'catalog' => [
+ 'info' => RetailcrmSettingsHelper::getIcmlFileInfo(),
+ 'generateName' => RetailcrmIcmlEvent::class,
+ 'updateURLName' => RetailcrmIcmlUpdateUrlEvent::class,
+ ],
+ 'advanced' => [
+ 'jobs' => RetailcrmSettingsHelper::getJobsInfo(),
+ 'logs' => RetailcrmSettingsHelper::getLogFilesInfo(),
+ ],
+ ];
}
/**
@@ -129,6 +168,6 @@ class RetailcrmSettingsTemplate extends RetailcrmAbstractTemplate
*/
protected function setTemplate()
{
- $this->template = 'settings.tpl';
+ $this->template = 'index.tpl';
}
}
diff --git a/retailcrm/lib/templates/RetailcrmTemplateFactory.php b/retailcrm/lib/templates/RetailcrmTemplateFactory.php
index 77ce412..eb8fc2d 100644
--- a/retailcrm/lib/templates/RetailcrmTemplateFactory.php
+++ b/retailcrm/lib/templates/RetailcrmTemplateFactory.php
@@ -60,12 +60,6 @@ class RetailcrmTemplateFactory
*/
public function createTemplate(Module $module)
{
- $settings = RetailCRM::getSettings();
-
- if (empty($settings['url']) && empty($settings['apiKey'])) {
- return new RetailcrmBaseTemplate($module, $this->smarty, $this->assets);
- } else {
- return new RetailcrmSettingsTemplate($module, $this->smarty, $this->assets, $settings, RetailCRM::getSettingsNames());
- }
+ return new RetailcrmSettingsTemplate($module, $this->smarty, $this->assets);
}
}
diff --git a/retailcrm/retailcrm.php b/retailcrm/retailcrm.php
index fcf3922..9ee2700 100644
--- a/retailcrm/retailcrm.php
+++ b/retailcrm/retailcrm.php
@@ -64,12 +64,6 @@ class RetailCRM extends Module
const SYNC_CARTS_STATUS = 'RETAILCRM_API_SYNCHRONIZED_CART_STATUS';
const SYNC_CARTS_DELAY = 'RETAILCRM_API_SYNCHRONIZED_CART_DELAY';
const UPLOAD_ORDERS = 'RETAILCRM_UPLOAD_ORDERS_ID';
- const RUN_JOB = 'RETAILCRM_RUN_JOB';
- const EXPORT_ORDERS = 'RETAILCRM_EXPORT_ORDERS_STEP';
- const EXPORT_CUSTOMERS = 'RETAILCRM_EXPORT_CUSTOMERS_STEP';
- const UPDATE_SINCE_ID = 'RETAILCRM_UPDATE_SINCE_ID';
- const DOWNLOAD_LOGS_NAME = 'RETAILCRM_DOWNLOAD_LOGS_NAME';
- const DOWNLOAD_LOGS = 'RETAILCRM_DOWNLOAD_LOGS';
const MODULE_LIST_CACHE_CHECKSUM = 'RETAILCRM_MODULE_LIST_CACHE_CHECKSUM';
const ENABLE_CORPORATE_CLIENTS = 'RETAILCRM_ENABLE_CORPORATE_CLIENTS';
const ENABLE_HISTORY_UPLOADS = 'RETAILCRM_ENABLE_HISTORY_UPLOADS';
@@ -78,54 +72,20 @@ class RetailCRM extends Module
const ENABLE_ORDER_NUMBER_RECEIVING = 'RETAILCRM_ENABLE_ORDER_NUMBER_RECEIVING';
const ENABLE_DEBUG_MODE = 'RETAILCRM_ENABLE_DEBUG_MODE';
- const LATEST_API_VERSION = '5';
const CONSULTANT_SCRIPT = 'RETAILCRM_CONSULTANT_SCRIPT';
const CONSULTANT_RCCT = 'RETAILCRM_CONSULTANT_RCCT';
const ENABLE_WEB_JOBS = 'RETAILCRM_ENABLE_WEB_JOBS';
- const RESET_JOBS = 'RETAILCRM_RESET_JOBS';
- const JOBS_NAMES = [
- 'RetailcrmAbandonedCartsEvent' => 'Abandoned Carts',
- 'RetailcrmIcmlEvent' => 'Icml generation',
- 'RetailcrmIcmlUpdateUrlEvent' => 'Icml update URL',
- 'RetailcrmSyncEvent' => 'History synchronization',
- 'RetailcrmInventoriesEvent' => 'Inventories uploads',
- 'RetailcrmClearLogsEvent' => 'Clearing logs',
- ];
-
- const TABS_TO_VALIDATE = [
- 'delivery' => self::DELIVERY,
- 'statuses' => self::STATUS,
- 'payment' => self::PAYMENT,
- 'deliveryDefault' => self::DELIVERY_DEFAULT,
- 'paymentDefault' => self::PAYMENT_DEFAULT,
- ];
// todo dynamically define controller classes
- const ADMIN_CONTROLLERS = [
- RetailcrmSettingsController::class,
- RetailcrmOrdersController::class,
- RetailcrmOrdersUploadController::class,
- ];
-
- /**
- * @var array
- */
- private $templateErrors;
-
- /**
- * @var array
- */
- private $templateWarnings;
-
- /**
- * @var array
- */
- private $templateConfirms;
-
- /**
- * @var array
- */
- private $templateInfos;
+ const ADMIN_CONTROLLERS
+ = [
+ RetailcrmSettingsLinkController::class,
+ RetailcrmSettingsController::class,
+ RetailcrmJobsController::class,
+ RetailcrmLogsController::class,
+ RetailcrmOrdersController::class,
+ RetailcrmExportController::class,
+ ];
/** @var bool|\RetailcrmApiClientV5 */
public $api = false;
@@ -151,7 +111,7 @@ class RetailCRM extends Module
{
$this->name = 'retailcrm';
$this->tab = 'export';
- $this->version = '3.3.5';
+ $this->version = '3.4.0';
$this->author = 'DIGITAL RETAIL TECHNOLOGIES SL';
$this->displayName = $this->l('Simla.com');
$this->description = $this->l('Integration module for Simla.com');
@@ -178,7 +138,7 @@ class RetailCRM extends Module
}
if ($this->apiUrl && $this->apiKey) {
- $this->api = new RetailcrmProxy($this->apiUrl, $this->apiKey, $this->log);
+ $this->api = new RetailcrmProxy($this->apiUrl, $this->apiKey);
$this->reference = new RetailcrmReferences($this->api);
}
@@ -259,6 +219,34 @@ class RetailCRM extends Module
return true;
}
+ /**
+ * @return bool
+ */
+ public function uninstallOldTabs()
+ {
+ $moduleTabs = Tab::getCollectionFromModule($this->name);
+
+ /** @var Tab $tab */
+ foreach ($moduleTabs as $tab) {
+ $tabClassName = $tab->class_name . 'Controller';
+
+ if (!in_array($tabClassName, self::ADMIN_CONTROLLERS)) {
+ try {
+ $tab->delete();
+ } catch (PrestaShopException $e) {
+ RetailcrmLogger::writeCaller(
+ __METHOD__, sprintf('Error while deleting old tabs: %s', $e->getMessage())
+ );
+ RetailcrmLogger::writeDebug(__METHOD__, $e->getTraceAsString());
+
+ return false;
+ }
+ }
+ }
+
+ return true;
+ }
+
public function hookHeader()
{
if (!empty($this->context) && !empty($this->context->controller)) {
@@ -275,18 +263,14 @@ class RetailCRM extends Module
$apiKey = Configuration::get(static::API_KEY);
if (!empty($apiUrl) && !empty($apiKey)) {
- $api = new RetailcrmProxy(
- $apiUrl,
- $apiKey,
- RetailcrmLogger::getLogFile()
- );
+ $api = new RetailcrmProxy($apiUrl, $apiKey);
$clientId = Configuration::get(static::CLIENT_ID);
$this->integrationModule($api, $clientId, false);
}
return parent::uninstall()
- && Configuration::deleteByName(static::API_URL)
+ && Configuration::deleteByName(static::API_URL) // todo delete with SettingsItems class
&& Configuration::deleteByName(static::API_KEY)
&& Configuration::deleteByName(static::DELIVERY)
&& Configuration::deleteByName(static::STATUS)
@@ -415,296 +399,23 @@ class RetailCRM extends Module
public function getContent()
{
- $output = null;
$address = Configuration::get(static::API_URL);
$token = Configuration::get(static::API_KEY);
-
- if (Tools::isSubmit('submit' . $this->name)) {
- // todo all those vars & ifs to one $command var and check in switch
- $jobName = (string) (Tools::getValue(static::RUN_JOB));
- $ordersIds = (string) (Tools::getValue(static::UPLOAD_ORDERS));
- $exportOrders = (int) (Tools::getValue(static::EXPORT_ORDERS));
- $exportCustomers = (int) (Tools::getValue(static::EXPORT_CUSTOMERS));
- $updateSinceId = (bool) (Tools::getValue(static::UPDATE_SINCE_ID));
- $downloadLogs = (bool) (Tools::getValue(static::DOWNLOAD_LOGS));
- $resetJobs = (bool) (Tools::getValue(static::RESET_JOBS));
-
- if (!empty($ordersIds)) {
- $output .= $this->uploadOrders(RetailcrmTools::partitionId($ordersIds));
- } elseif (!empty($jobName)) {
- $this->runJobMultistore($jobName);
- } elseif (!empty($exportOrders)) {
- return $this->export($exportOrders);
- } elseif (!empty($exportCustomers)) {
- return $this->export($exportCustomers, 'customer');
- } elseif ($updateSinceId) {
- return $this->updateSinceId();
- } elseif ($downloadLogs) {
- return $this->downloadLogs();
- } elseif ($resetJobs) {
- return $this->resetJobs();
- } else {
- $output .= $this->saveSettings();
- }
- }
-
if ($address && $token) {
- $this->api = new RetailcrmProxy($address, $token, $this->log);
- $this->reference = new RetailcrmReferences($this->api);
+ $this->api = new RetailcrmProxy($address, $token);
}
+ $this->reference = new RetailcrmReferences($this->api);
+
$templateFactory = new RetailcrmTemplateFactory($this->context->smarty, $this->assetsBase);
return $templateFactory
->createTemplate($this)
->setContext($this->context)
- ->setErrors($this->getErrorMessages())
- ->setWarnings($this->getWarningMessage())
- ->setInformations($this->getInformationMessages())
- ->setConfirmations($this->getConfirmationMessages())
->render(__FILE__)
;
}
- public function uploadOrders($orderIds)
- {
- if (10 < count($orderIds)) {
- return $this->displayError($this->l("Can't upload more than 10 orders per request"));
- }
-
- if (1 > count($orderIds)) {
- return $this->displayError($this->l('At least one order ID should be specified'));
- }
-
- if (!($this->api instanceof RetailcrmProxy)) {
- $this->api = RetailcrmTools::getApiClient();
-
- if (!($this->api instanceof RetailcrmProxy)) {
- return $this->displayError($this->l("Can't upload orders - set API key and API URL first!"));
- }
- }
-
- $result = '';
- $isSuccessful = true;
- $skippedOrders = [];
- RetailcrmExport::$api = $this->api;
-
- foreach ($orderIds as $orderId) {
- $response = false;
-
- try {
- $response = RetailcrmExport::exportOrder($orderId);
- } catch (PrestaShopObjectNotFoundExceptionCore $e) {
- $skippedOrders[] = $orderId;
- } catch (Exception $e) {
- $this->displayError($e->getMessage());
- RetailcrmLogger::writeCaller(__METHOD__, $e->getTraceAsString());
- } catch (Error $e) {
- $this->displayError($e->getMessage());
- RetailcrmLogger::writeCaller(__METHOD__, $e->getTraceAsString());
- }
-
- $isSuccessful = $isSuccessful ? $response : false;
- time_nanosleep(0, 50000000);
- }
-
- if ($isSuccessful && empty($skippedOrders)) {
- return $this->displayConfirmation($this->l('All orders were uploaded successfully'));
- } else {
- $result .= $this->displayWarning($this->l('Not all orders were uploaded successfully'));
-
- if ($errors = RetailcrmApiErrors::getErrors()) {
- foreach ($errors as $error) {
- $result .= $this->displayError($error);
- }
- }
-
- if (!empty($skippedOrders)) {
- $result .= $this->displayWarning(sprintf(
- $this->l('Orders skipped due to non-existence: %s', 'retailcrm'),
- implode(', ', $skippedOrders)
- ));
- }
-
- return $result;
- }
- }
-
- /**
- * @param string $jobName
- *
- * @return string
- */
- public function runJob($jobName)
- {
- $jobNameFront = (empty(static::JOBS_NAMES[$jobName]) ? $jobName : static::JOBS_NAMES[$jobName]);
-
- try {
- if (RetailcrmJobManager::execManualJob($jobName)) {
- return $this->displayConfirmation(sprintf(
- '%s %s',
- $this->l($jobNameFront),
- $this->l('was completed successfully')
- ));
- } else {
- return $this->displayError(sprintf(
- '%s %s',
- $this->l($jobNameFront),
- $this->l('was not executed')
- ));
- }
- } catch (Exception $e) {
- return $this->displayError(sprintf(
- '%s %s: %s',
- $this->l($jobNameFront),
- $this->l('was completed with errors'),
- $e->getMessage()
- ));
- } catch (Error $e) {
- return $this->displayError(sprintf(
- '%s %s: %s',
- $this->l($jobNameFront),
- $this->l('was completed with errors'),
- $e->getMessage()
- ));
- }
- }
-
- public function runJobMultistore($jobName)
- {
- RetailcrmContextSwitcher::runInContext([$this, 'runJob'], [$jobName]);
- }
-
- /**
- * @param int $step
- * @param string $entity
- *
- * @return bool
- */
- public function export($step, $entity = 'order')
- {
- if (!Tools::getValue('ajax')) {
- return RetailcrmJsonResponse::invalidResponse('This method allow only in ajax mode');
- }
-
- --$step;
- if (0 > $step) {
- return RetailcrmJsonResponse::invalidResponse('Invalid request data');
- }
-
- $api = RetailcrmTools::getApiClient();
-
- if (empty($api)) {
- return RetailcrmJsonResponse::invalidResponse('Set API key & URL first');
- }
-
- RetailcrmExport::init();
- RetailcrmExport::$api = $api;
-
- if ('order' === $entity) {
- $stepSize = RetailcrmExport::RETAILCRM_EXPORT_ORDERS_STEP_SIZE_WEB;
-
- RetailcrmExport::$ordersOffset = $stepSize;
- RetailcrmExport::exportOrders($step * $stepSize, $stepSize);
- // todo maybe save current step to database
- } elseif ('customer' === $entity) {
- $stepSize = RetailcrmExport::RETAILCRM_EXPORT_CUSTOMERS_STEP_SIZE_WEB;
-
- RetailcrmExport::$customersOffset = $stepSize;
- RetailcrmExport::exportCustomers($step * $stepSize, $stepSize);
- // todo maybe save current step to database
- }
-
- return RetailcrmJsonResponse::successfullResponse();
- }
-
- public function updateSinceId()
- {
- if (!Tools::getValue('ajax')) {
- return RetailcrmJsonResponse::invalidResponse('This method allow only in ajax mode');
- }
-
- $api = RetailcrmTools::getApiClient();
-
- if (empty($api)) {
- return RetailcrmJsonResponse::invalidResponse('Set API key & URL first');
- }
-
- RetailcrmHistory::$api = $api;
- RetailcrmHistory::updateSinceId('customers');
- RetailcrmHistory::updateSinceId('orders');
-
- return RetailcrmJsonResponse::successfullResponse();
- }
-
- public function downloadLogs()
- {
- if (!Tools::getValue('ajax')) {
- return false;
- }
-
- $name = (string) (Tools::getValue(static::DOWNLOAD_LOGS_NAME));
- if (!empty($name)) {
- if (false === ($filePath = RetailcrmLogger::checkFileName($name))) {
- return false;
- }
-
- header('Content-Description: File Transfer');
- header('Content-Type: application/octet-stream');
- header('Content-Disposition: attachment; filename="' . basename($filePath) . '"');
- header('Expires: 0');
- header('Cache-Control: must-revalidate');
- header('Pragma: public');
- header('Content-Length: ' . filesize($filePath));
- readfile($filePath);
- } else {
- $zipname = _PS_DOWNLOAD_DIR_ . '/retailcrm_logs_' . date('Y-m-d H-i-s') . '.zip';
-
- $zipFile = new ZipArchive();
- $zipFile->open($zipname, ZipArchive::CREATE);
-
- foreach (RetailcrmLogger::getLogFilesInfo() as $logFile) {
- $zipFile->addFile($logFile['path'], $logFile['name']);
- }
-
- $zipFile->close();
-
- header('Content-Type: application/zip');
- header('Content-disposition: attachment; filename=' . basename($zipname));
- header('Content-Length: ' . filesize($zipname));
- readfile($zipname);
- unlink($zipname);
- }
-
- return true;
- }
-
- /**
- * Resets JobManager and cli internal lock
- */
- public function resetJobs()
- {
- $errors = [];
- try {
- if (!RetailcrmJobManager::reset()) {
- $errors[] = 'Job manager internal state was NOT cleared.';
- }
- if (!RetailcrmCli::clearCurrentJob(null)) {
- $errors[] = 'CLI job was NOT cleared';
- }
-
- if (!empty($errors)) {
- return RetailcrmJsonResponse::invalidResponse(implode(' ', $errors));
- }
-
- return RetailcrmJsonResponse::successfullResponse();
- } catch (Exception $exception) {
- return RetailcrmJsonResponse::invalidResponse($exception->getMessage());
- } catch (Error $exception) {
- return RetailcrmJsonResponse::invalidResponse($exception->getMessage());
- }
- }
-
public function hookActionCustomerAccountAdd($params)
{
if ($this->api) {
@@ -841,10 +552,10 @@ class RetailCRM extends Module
}
$delivery = json_decode(Configuration::get(RetailCRM::DELIVERY), true);
- $deliveryDefault = json_decode(Configuration::get(static::DELIVERY_DEFAULT), true);
+ $deliveryDefault = Configuration::get(static::DELIVERY_DEFAULT);
if ($oldCarrierId == $deliveryDefault) {
- Configuration::updateValue(static::DELIVERY_DEFAULT, json_encode($newCarrier->id));
+ Configuration::updateValue(static::DELIVERY_DEFAULT, $newCarrier->id);
}
if (is_array($delivery) && array_key_exists($oldCarrierId, $delivery)) {
@@ -856,6 +567,7 @@ class RetailCRM extends Module
public function hookActionOrderEdited($params)
{
+ // todo refactor it to call hookActionOrderStatusPostUpdate
if (!$this->api) {
return false;
}
@@ -922,6 +634,8 @@ class RetailCRM extends Module
public function hookActionPaymentCCAdd($params)
{
+ // todo add checks that module configured correctly
+
$payments = array_filter(json_decode(Configuration::get(static::PAYMENT), true));
$paymentType = false;
$externalId = false;
@@ -1005,102 +719,6 @@ class RetailCRM extends Module
return true;
}
- /**
- * Save settings handler
- *
- * @return string
- */
- private function saveSettings()
- {
- $output = '';
- $url = (string) Tools::getValue(static::API_URL);
- $apiKey = (string) Tools::getValue(static::API_KEY);
- $consultantCode = (string) Tools::getValue(static::CONSULTANT_SCRIPT);
-
- if (!empty($url) && !empty($apiKey)) {
- $settings = [
- 'url' => rtrim($url, '/'),
- 'apiKey' => $apiKey,
- 'address' => (string) (Tools::getValue(static::API_URL)),
- 'delivery' => json_encode(Tools::getValue(static::DELIVERY)),
- 'status' => json_encode(Tools::getValue(static::STATUS)),
- 'outOfStockStatus' => json_encode(Tools::getValue(static::OUT_OF_STOCK_STATUS)),
- 'payment' => json_encode(Tools::getValue(static::PAYMENT)),
- 'deliveryDefault' => json_encode(Tools::getValue(static::DELIVERY_DEFAULT)),
- 'paymentDefault' => json_encode(Tools::getValue(static::PAYMENT_DEFAULT)),
- 'statusExport' => (string) (Tools::getValue(static::STATUS_EXPORT)),
- 'enableCorporate' => (false !== Tools::getValue(static::ENABLE_CORPORATE_CLIENTS)),
- 'enableHistoryUploads' => (false !== Tools::getValue(static::ENABLE_HISTORY_UPLOADS)),
- 'enableBalancesReceiving' => (false !== Tools::getValue(static::ENABLE_BALANCES_RECEIVING)),
- 'enableOrderNumberSending' => (false !== Tools::getValue(static::ENABLE_ORDER_NUMBER_SENDING)),
- 'enableOrderNumberReceiving' => (false !== Tools::getValue(static::ENABLE_ORDER_NUMBER_RECEIVING)),
- 'debugMode' => (false !== Tools::getValue(static::ENABLE_DEBUG_MODE)),
- 'webJobs' => (false !== Tools::getValue(static::ENABLE_WEB_JOBS) ? '1' : '0'),
- 'collectorActive' => (false !== Tools::getValue(static::COLLECTOR_ACTIVE)),
- 'collectorKey' => (string) (Tools::getValue(static::COLLECTOR_KEY)),
- 'clientId' => Configuration::get(static::CLIENT_ID),
- 'synchronizeCartsActive' => (false !== Tools::getValue(static::SYNC_CARTS_ACTIVE)),
- 'synchronizedCartStatus' => (string) (Tools::getValue(static::SYNC_CARTS_STATUS)),
- 'synchronizedCartDelay' => (string) (Tools::getValue(static::SYNC_CARTS_DELAY)),
- ];
-
- $output .= $this->validateForm($settings, $output);
-
- if ('' === $output) {
- Configuration::updateValue(static::API_URL, $settings['url']);
- Configuration::updateValue(static::API_KEY, $settings['apiKey']);
- Configuration::updateValue(static::DELIVERY, $settings['delivery']);
- Configuration::updateValue(static::STATUS, $settings['status']);
- Configuration::updateValue(static::OUT_OF_STOCK_STATUS, $settings['outOfStockStatus']);
- Configuration::updateValue(static::PAYMENT, $settings['payment']);
- Configuration::updateValue(static::DELIVERY_DEFAULT, $settings['deliveryDefault']);
- Configuration::updateValue(static::PAYMENT_DEFAULT, $settings['paymentDefault']);
- Configuration::updateValue(static::STATUS_EXPORT, $settings['statusExport']);
- Configuration::updateValue(static::ENABLE_CORPORATE_CLIENTS, $settings['enableCorporate']);
- Configuration::updateValue(static::ENABLE_HISTORY_UPLOADS, $settings['enableHistoryUploads']);
- Configuration::updateValue(static::ENABLE_BALANCES_RECEIVING, $settings['enableBalancesReceiving']);
- Configuration::updateValue(static::ENABLE_ORDER_NUMBER_SENDING, $settings['enableOrderNumberSending']);
- Configuration::updateValue(
- static::ENABLE_ORDER_NUMBER_RECEIVING,
- $settings['enableOrderNumberReceiving']
- );
- Configuration::updateValue(static::COLLECTOR_ACTIVE, $settings['collectorActive']);
- Configuration::updateValue(static::COLLECTOR_KEY, $settings['collectorKey']);
- Configuration::updateValue(static::SYNC_CARTS_ACTIVE, $settings['synchronizeCartsActive']);
- Configuration::updateValue(static::SYNC_CARTS_STATUS, $settings['synchronizedCartStatus']);
- Configuration::updateValue(static::SYNC_CARTS_DELAY, $settings['synchronizedCartDelay']);
- Configuration::updateValue(static::ENABLE_DEBUG_MODE, $settings['debugMode']);
- Configuration::updateValue(static::ENABLE_WEB_JOBS, $settings['webJobs']);
-
- $this->apiUrl = $settings['url'];
- $this->apiKey = $settings['apiKey'];
- $this->api = new RetailcrmProxy($this->apiUrl, $this->apiKey, $this->log);
- $this->reference = new RetailcrmReferences($this->api);
-
- if (0 == $this->isRegisteredInHook('actionPaymentCCAdd')) {
- $this->registerHook('actionPaymentCCAdd');
- }
- }
- }
-
- if (!empty($consultantCode)) {
- $extractor = new RetailcrmConsultantRcctExtractor();
- $rcct = $extractor->setConsultantScript($consultantCode)->build()->getDataString();
-
- if (!empty($rcct)) {
- Configuration::updateValue(static::CONSULTANT_SCRIPT, $consultantCode, true);
- Configuration::updateValue(static::CONSULTANT_RCCT, $rcct);
- Cache::getInstance()->set(static::CONSULTANT_RCCT, $rcct);
- } else {
- Configuration::deleteByName(static::CONSULTANT_SCRIPT);
- Configuration::deleteByName(static::CONSULTANT_RCCT);
- Cache::getInstance()->delete(static::CONSULTANT_RCCT);
- }
- }
-
- return $output;
- }
-
/**
* Activate/deactivate module in marketplace retailCRM
*
@@ -1139,244 +757,6 @@ class RetailCRM extends Module
return false;
}
- /**
- * Returns true if provided connection supports API v5
- *
- * @param $settings
- *
- * @return bool
- */
- private function validateApiVersion($settings)
- {
- /** @var \RetailcrmProxy|\RetailcrmApiClientV5 $api */
- $api = new RetailcrmProxy(
- $settings['url'],
- $settings['apiKey'],
- $this->log
- );
-
- $response = $api->apiVersions();
-
- if (false !== $response && isset($response['versions']) && !empty($response['versions'])) {
- foreach ($response['versions'] as $version) {
- if ($version == static::LATEST_API_VERSION
- || Tools::substr($version, 0, 1) == static::LATEST_API_VERSION
- ) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Workaround to pass translate method into another classes
- *
- * @param $text
- *
- * @return mixed
- */
- public function translate($text)
- {
- return $this->l($text);
- }
-
- /**
- * Cart status must be present and must be unique to cartsIds only
- *
- * @param string $statuses
- * @param string $statusExport
- * @param string $cartStatus
- *
- * @return bool
- */
- private function validateCartStatus($statuses, $statusExport, $cartStatus)
- {
- if ('' != $cartStatus && ($cartStatus == $statusExport || stripos($statuses, $cartStatus))) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Returns false if mapping is not valid in one-to-one relation
- *
- * @param string $statuses
- *
- * @return bool
- */
- private function validateMappingOneToOne($statuses)
- {
- $data = json_decode($statuses, true);
-
- if (JSON_ERROR_NONE != json_last_error() || !is_array($data)) {
- return true;
- }
-
- $statusesList = array_filter(array_values($data));
-
- if (count($statusesList) != count(array_unique($statusesList))) {
- return false;
- }
-
- return true;
- }
-
- public function validateStoredSettings()
- {
- $output = [];
- $checkApiMethods = [
- 'delivery' => 'getApiDeliveryTypes',
- 'statuses' => 'getApiStatuses',
- 'payment' => 'getApiPaymentTypes',
- ];
-
- foreach (self::TABS_TO_VALIDATE as $tabName => $settingName) {
- $storedValues = Tools::getIsset($settingName)
- ? Tools::getValue($settingName)
- : json_decode(Configuration::get($settingName), true);
-
- if (false !== $storedValues && null !== $storedValues) {
- if (!$this->validateMappingSelected($storedValues)) {
- $output[] = $tabName;
- } else {
- if (array_key_exists($tabName, $checkApiMethods)) {
- $crmValues = call_user_func([$this->reference, $checkApiMethods[$tabName]]);
- $crmCodes = array_column($crmValues, 'id_option');
-
- if (!empty(array_diff($storedValues, $crmCodes))) {
- $output[] = $tabName;
- }
- }
- }
- }
- }
-
- if (!$this->validateCatalogMultistore()) {
- $output[] = 'catalog';
- }
-
- return $output;
- }
-
- private function validateMappingSelected($values)
- {
- if (is_array($values)) {
- foreach ($values as $item) {
- if (empty($item)) {
- return false;
- }
- }
- } else {
- if (empty($values)) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Catalog info validator
- *
- * @return bool
- */
- public function validateCatalog()
- {
- $icmlInfo = RetailcrmCatalogHelper::getIcmlFileInfo();
-
- if (!$icmlInfo || !isset($icmlInfo['lastGenerated'])) {
- $urlConfiguredAt = RetailcrmTools::getConfigurationCreatedAtByName(self::API_KEY);
-
- if ($urlConfiguredAt instanceof DateTimeImmutable) {
- $now = new DateTimeImmutable();
- /** @var DateInterval $diff */
- $diff = $urlConfiguredAt->diff($now);
-
- if (($diff->days * 24 + $diff->h) > 4) {
- return false;
- }
- }
- } elseif ($icmlInfo['isOutdated'] || !$icmlInfo['isUrlActual']) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Catalog info validator for multistore
- *
- * @return bool
- */
- private function validateCatalogMultistore()
- {
- $results = RetailcrmContextSwitcher::runInContext([$this, 'validateCatalog']);
- $results = array_filter($results, function ($item) {
- return !$item;
- });
-
- return empty($results);
- }
-
- /**
- * Settings form validator
- *
- * @param $settings
- * @param $output
- *
- * @return string
- */
- private function validateForm($settings, $output)
- {
- if (!RetailcrmTools::validateCrmAddress($settings['url']) || !Validate::isGenericName($settings['url'])) {
- $output .= $this->displayError($this->l('Invalid or empty crm address'));
- } elseif (!$settings['apiKey'] || '' == $settings['apiKey']) {
- $output .= $this->displayError($this->l('Invalid or empty crm api token'));
- } elseif (!$this->validateApiVersion($settings)) {
- $output .= $this->displayError($this->l('The selected version of the API is unavailable'));
- } elseif (!$this->validateCartStatus(
- $settings['status'],
- $settings['statusExport'],
- $settings['synchronizedCartStatus']
- )) {
- $output .= $this->displayError(
- $this->l('Order status for abandoned carts should not be used in other settings')
- );
- } elseif (!$this->validateMappingOneToOne($settings['status'])) {
- $output .= $this->displayError(
- $this->l('Order statuses should not repeat in statuses matrix')
- );
- } elseif (!$this->validateMappingOneToOne($settings['delivery'])) {
- $output .= $this->displayError(
- $this->l('Delivery types should not repeat in delivery matrix')
- );
- } elseif (!$this->validateMappingOneToOne($settings['payment'])) {
- $output .= $this->displayError(
- $this->l('Payment types should not repeat in payment matrix')
- );
- }
-
- $errorTabs = $this->validateStoredSettings();
-
- if (in_array('delivery', $errorTabs)) {
- $this->displayWarning($this->l('Select values for all delivery types'));
- }
- if (in_array('statuses', $errorTabs)) {
- $this->displayWarning($this->l('Select values for all order statuses'));
- }
- if (in_array('payment', $errorTabs)) {
- $this->displayWarning($this->l('Select values for all payment types'));
- }
- if (in_array('deliveryDefault', $errorTabs) || in_array('paymentDefault', $errorTabs)) {
- $this->displayWarning($this->l('Select values for all default parameters'));
- }
-
- return $output;
- }
-
/**
* Loads data from modules list cache
*
@@ -1415,84 +795,6 @@ class RetailCRM extends Module
return _PS_ROOT_DIR_ . '/retailcrm_modules_cache.php';
}
- /**
- * Returns all module settings
- *
- * @return array
- */
- public static function getSettings()
- {
- $syncCartsDelay = (string) (Configuration::get(static::SYNC_CARTS_DELAY));
-
- // Use 15 minutes as default interval but don't change immediate interval to it if user already made decision
- if (empty($syncCartsDelay) && '0' !== $syncCartsDelay) {
- $syncCartsDelay = '900';
- }
-
- return [
- 'url' => (string) (Configuration::get(static::API_URL)),
- 'apiKey' => (string) (Configuration::get(static::API_KEY)),
- 'delivery' => json_decode(Configuration::get(static::DELIVERY), true),
- 'status' => json_decode(Configuration::get(static::STATUS), true),
- 'outOfStockStatus' => json_decode(Configuration::get(static::OUT_OF_STOCK_STATUS), true),
- 'payment' => json_decode(Configuration::get(static::PAYMENT), true),
- 'deliveryDefault' => json_decode(Configuration::get(static::DELIVERY_DEFAULT), true),
- 'paymentDefault' => json_decode(Configuration::get(static::PAYMENT_DEFAULT), true),
- 'statusExport' => (string) (Configuration::get(static::STATUS_EXPORT)),
- 'collectorActive' => (Configuration::get(static::COLLECTOR_ACTIVE)),
- 'collectorKey' => (string) (Configuration::get(static::COLLECTOR_KEY)),
- 'clientId' => Configuration::get(static::CLIENT_ID),
- 'synchronizeCartsActive' => (Configuration::get(static::SYNC_CARTS_ACTIVE)),
- 'synchronizedCartStatus' => (string) (Configuration::get(static::SYNC_CARTS_STATUS)),
- 'synchronizedCartDelay' => $syncCartsDelay,
- 'consultantScript' => (string) (Configuration::get(static::CONSULTANT_SCRIPT)),
- 'enableCorporate' => (bool) (Configuration::get(static::ENABLE_CORPORATE_CLIENTS)),
- 'enableHistoryUploads' => (bool) (Configuration::get(static::ENABLE_HISTORY_UPLOADS)),
- 'enableBalancesReceiving' => (bool) (Configuration::get(static::ENABLE_BALANCES_RECEIVING)),
- 'enableOrderNumberSending' => (bool) (Configuration::get(static::ENABLE_ORDER_NUMBER_SENDING)),
- 'enableOrderNumberReceiving' => (bool) (Configuration::get(static::ENABLE_ORDER_NUMBER_RECEIVING)),
- 'debugMode' => RetailcrmTools::isDebug(),
- 'webJobs' => RetailcrmTools::isWebJobsEnabled(),
- ];
- }
-
- /**
- * Returns all settings names in DB
- *
- * @return array
- */
- public static function getSettingsNames()
- {
- return [
- 'urlName' => static::API_URL,
- 'apiKeyName' => static::API_KEY,
- 'deliveryName' => static::DELIVERY,
- 'statusName' => static::STATUS,
- 'outOfStockStatusName' => static::OUT_OF_STOCK_STATUS,
- 'paymentName' => static::PAYMENT,
- 'deliveryDefaultName' => static::DELIVERY_DEFAULT,
- 'paymentDefaultName' => static::PAYMENT_DEFAULT,
- 'statusExportName' => static::STATUS_EXPORT,
- 'collectorActiveName' => static::COLLECTOR_ACTIVE,
- 'collectorKeyName' => static::COLLECTOR_KEY,
- 'clientIdName' => static::CLIENT_ID,
- 'synchronizeCartsActiveName' => static::SYNC_CARTS_ACTIVE,
- 'synchronizedCartStatusName' => static::SYNC_CARTS_STATUS,
- 'synchronizedCartDelayName' => static::SYNC_CARTS_DELAY,
- 'uploadOrders' => static::UPLOAD_ORDERS,
- 'runJobName' => static::RUN_JOB,
- 'consultantScriptName' => static::CONSULTANT_SCRIPT,
- 'enableCorporateName' => static::ENABLE_CORPORATE_CLIENTS,
- 'enableHistoryUploadsName' => static::ENABLE_HISTORY_UPLOADS,
- 'enableBalancesReceivingName' => static::ENABLE_BALANCES_RECEIVING,
- 'enableOrderNumberSendingName' => static::ENABLE_ORDER_NUMBER_SENDING,
- 'enableOrderNumberReceivingName' => static::ENABLE_ORDER_NUMBER_RECEIVING,
- 'debugModeName' => static::ENABLE_DEBUG_MODE,
- 'webJobsName' => static::ENABLE_WEB_JOBS,
- 'jobsNames' => static::JOBS_NAMES,
- ];
- }
-
/**
* Returns modules list, caches result. Recreates cache when needed.
* Activity indicator in cache will be rewrited by current state.
@@ -1539,9 +841,9 @@ class RetailCRM extends Module
$deserialized = json_decode($serializedModule);
if ($deserialized instanceof stdClass
- && property_exists($deserialized, 'name')
- && property_exists($deserialized, 'active')
- ) {
+ && property_exists($deserialized, 'name')
+ && property_exists($deserialized, 'active')
+ ) {
$deserialized->active = Module::isEnabled($deserialized->name);
static::$moduleListCache[] = $deserialized;
}
@@ -1582,169 +884,4 @@ class RetailCRM extends Module
fclose($file);
}
}
-
- /**
- * Synchronized cartsIds time choice
- *
- * @return array
- */
- public function getSynchronizedCartsTimeSelect()
- {
- return [
- [
- 'id_option' => '900',
- 'name' => $this->l('After 15 minutes'),
- ],
- [
- 'id_option' => '1800',
- 'name' => $this->l('After 30 minutes'),
- ],
- [
- 'id_option' => '2700',
- 'name' => $this->l('After 45 minute'),
- ],
- [
- 'id_option' => '3600',
- 'name' => $this->l('After 1 hour'),
- ],
- ];
- }
-
- /**
- * Initializes arrays of messages
- */
- private function initializeTemplateMessages()
- {
- if (null === $this->templateErrors) {
- $this->templateErrors = [];
- }
-
- if (null === $this->templateWarnings) {
- $this->templateWarnings = [];
- }
-
- if (null === $this->templateConfirms) {
- $this->templateConfirms = [];
- }
-
- if (null === $this->templateErrors) {
- $this->templateInfos = [];
- }
- }
-
- /**
- * Returns error messages
- *
- * @return array
- */
- protected function getErrorMessages()
- {
- if (empty($this->templateErrors)) {
- return [];
- }
-
- return $this->templateErrors;
- }
-
- /**
- * Returns warning messages
- *
- * @return array
- */
- protected function getWarningMessage()
- {
- if (empty($this->templateWarnings)) {
- return [];
- }
-
- return $this->templateWarnings;
- }
-
- /**
- * Returns information messages
- *
- * @return array
- */
- protected function getInformationMessages()
- {
- if (empty($this->templateInfos)) {
- return [];
- }
-
- return $this->templateInfos;
- }
-
- /**
- * Returns confirmation messages
- *
- * @return array
- */
- protected function getConfirmationMessages()
- {
- if (empty($this->templateConfirms)) {
- return [];
- }
-
- return $this->templateConfirms;
- }
-
- /**
- * Replacement for default error message helper
- *
- * @param string|array $message
- *
- * @return string
- */
- public function displayError($message)
- {
- $this->initializeTemplateMessages();
- $this->templateErrors[] = $message;
-
- return ' ';
- }
-
- /**
- * Replacement for default warning message helper
- *
- * @param string|array $message
- *
- * @return string
- */
- public function displayWarning($message)
- {
- $this->initializeTemplateMessages();
- $this->templateWarnings[] = $message;
-
- return ' ';
- }
-
- /**
- * Replacement for default warning message helper
- *
- * @param string|array $message
- *
- * @return string
- */
- public function displayConfirmation($message)
- {
- $this->initializeTemplateMessages();
- $this->templateConfirms[] = $message;
-
- return ' ';
- }
-
- /**
- * Replacement for default warning message helper
- *
- * @param string|array $message
- *
- * @return string
- */
- public function displayInformation($message)
- {
- $this->initializeTemplateMessages();
- $this->templateInfos[] = $message;
-
- return ' ';
- }
}
diff --git a/retailcrm/translations/es.php b/retailcrm/translations/es.php
index 8c3ff2e..a94a337 100644
--- a/retailcrm/translations/es.php
+++ b/retailcrm/translations/es.php
@@ -41,171 +41,3 @@ $_MODULE = [];
$_MODULE['<{retailcrm}prestashop>retailcrm_9b1e2d4b35252401dbdab3cbad2735c4'] = 'Simla.com';
$_MODULE['<{retailcrm}prestashop>retailcrm_5e36a81536959d8cde52246dd15a6fca'] = 'Módulo de integración para Simla.com';
$_MODULE['<{retailcrm}prestashop>retailcrm_876f23178c29dc2552c0b48bf23cd9bd'] = '¿Está seguro de que desea eliminar el módulo?';
-$_MODULE['<{retailcrm}prestashop>retailcrm_5e66ee98e79567f8daf9454b5517f819'] = 'Se debe especificar al menos un ID de pedido';
-$_MODULE['<{retailcrm}prestashop>retailcrm_6bd461d1fc51b3294c6513cecc24758d'] = 'Los pedidos han sido cargados con éxito';
-$_MODULE['<{retailcrm}prestashop>retailcrm_9a7fc06b4b2359f1f26f75fbbe27a3e8'] = 'No todos los pedidos se han cargado con existo';
-$_MODULE['<{retailcrm}prestashop>retailcrm_e7244a5e543ba692ebc495aee934ee9b'] = 'Orden omitida por inexistencia: %s';
-$_MODULE['<{retailcrm}prestashop>retailcrm_474b50f70e008454f1f2bf0d63f5262a'] = 'se completó con éxito';
-$_MODULE['<{retailcrm}prestashop>retailcrm_7f3df1b66ce2d61ae3d31c97ac08b065'] = 'no fue ejecutado';
-$_MODULE['<{retailcrm}prestashop>retailcrm_8bc2706bb353ba02b05135127122e406'] = 'se completó con errores ';
-$_MODULE['<{retailcrm}prestashop>retailcrm_b9b2d9f66d0112f3aae7dbdbd4e22a43'] = 'La dirección del CRM es incorrecta o está vacía';
-$_MODULE['<{retailcrm}prestashop>retailcrm_942010ef43f3fec28741f62a0d9ff29c'] = 'La clave CRM es incorrecta o está vacía';
-$_MODULE['<{retailcrm}prestashop>retailcrm_1bd340aeb42a5ee0318784c2cffed8a9'] = 'La versión seleccionada de la API no está disponible';
-$_MODULE['<{retailcrm}prestashop>retailcrm_b9c4e8fe56eabcc4c7913ebb2f8eb388'] = 'Estado del pedido para carritos abandonados no debe ser utilizado en otros ajustes';
-$_MODULE['<{retailcrm}prestashop>retailcrm_39e90036af004a005ccbccbe9a9c19c2'] = 'Los estados de orden no deben repetirse en la matriz de estados';
-$_MODULE['<{retailcrm}prestashop>retailcrm_a52213fa61ecf700d1a6091d9769c9a8'] = 'Los tipos de entrega no deben repetirse en la matriz de entrega';
-$_MODULE['<{retailcrm}prestashop>retailcrm_f08acd4b354f4d5f4e531ca1972e4504'] = 'Los tipos de pago no deben repetirse en la matriz de pagos';
-$_MODULE['<{retailcrm}prestashop>retailcrm_49910de3587b1c6141c03f65ef26b334'] = 'Seleccionar valores para todos los tipos de envío';
-$_MODULE['<{retailcrm}prestashop>retailcrm_220b6b5418e80a7f86b0ce9fbdd96bb0'] = 'Seleccionar valores para todos los estados de los pedidos';
-$_MODULE['<{retailcrm}prestashop>retailcrm_10f66d6041a2b944b446b6ca02f7f4f3'] = 'Seleccionar valores para todos los tipos de pago';
-$_MODULE['<{retailcrm}prestashop>retailcrm_1bf0b3775f120ff1991773064903e8b1'] = 'Seleccionar valores para todos los parámetros predeterminados';
-$_MODULE['<{retailcrm}prestashop>retailcrm_d5bb7c2cb1565fb1568924b01847b330'] = 'Tras 15 minutos';
-$_MODULE['<{retailcrm}prestashop>retailcrm_9d3095e54f694bb41ef4a3e62ed90e7a'] = 'Tras 30 minutos';
-$_MODULE['<{retailcrm}prestashop>retailcrm_dfb403fd86851c7d9f97706dff5a2327'] = 'Tras 45 minutos';
-$_MODULE['<{retailcrm}prestashop>retailcrm_4b5e6470d5d85448fcd89c828352d25e'] = 'Tras 1 hora';
-$_MODULE['<{retailcrm}prestashop>index_dd259436b3f29f0ba1778d220b343ec9'] = 'Simla.com es un servicio para tiendas online, el cual ayuda a dejar de perder pedidos y así mejorar las ganancias de tu comercio online en todas las etapas del embudo de ventas.';
-$_MODULE['<{retailcrm}prestashop>index_c7476a92e20715b855d72b1786a71017'] = 'Tengo una cuenta en Simla.com';
-$_MODULE['<{retailcrm}prestashop>index_e81c4e4f2b7b93b481e13a8553c2ae1b'] = 'o';
-$_MODULE['<{retailcrm}prestashop>index_560cb0d630a0067860713ce68126e777'] = 'Obtenga Simla.com gratis';
-$_MODULE['<{retailcrm}prestashop>index_061b368c43f85d3fe2c7ccc842883a40'] = 'Configuración de la conexión';
-$_MODULE['<{retailcrm}prestashop>index_22a65bd0ef1919aa4e6dee849a7a2925'] = 'URL de Simla.com';
-$_MODULE['<{retailcrm}prestashop>index_656a6828d7ef1bb791e42087c4b5ee6e'] = 'Accesos API Simla.com';
-$_MODULE['<{retailcrm}prestashop>index_c9cc8cce247e49bae79f15173ce97354'] = 'Guardar';
-$_MODULE['<{retailcrm}prestashop>index_b5a7adde1af5c87d7fd797b6245c2a39'] = 'Descripción';
-$_MODULE['<{retailcrm}prestashop>index_9aa698f602b1e5694855cee73a683488'] = 'Contactos';
-$_MODULE['<{retailcrm}prestashop>index_764fa884e3fba8a3f40422aa1eadde23'] = 'Deja de perder pedidos';
-$_MODULE['<{retailcrm}prestashop>index_070f41773a46ce08231e11316603a099'] = 'Livechat es una forma activa de incitar al diálogo que inmediatamente te ayuda a recibir más pedidos en la tienda online.';
-$_MODULE['<{retailcrm}prestashop>index_87ef6941837db5b2370eb2c04a2f9e73'] = 'Chatbot, Facebook Messenger y WhatsApp en una misma ventana, te ayudan a no perder leads “frescos” que están a punto de hacer su pedido.';
-$_MODULE['<{retailcrm}prestashop>index_0e307da9d0c9ee16b47ef71c39f236a3'] = 'Emails de bienvenida te ayudarán a motivar a los clientes a realizar su primer pedido.';
-$_MODULE['<{retailcrm}prestashop>index_e83c1eb5df794bf22e69eb893e80fdd6'] = 'Motivar a concretar la compra';
-$_MODULE['<{retailcrm}prestashop>index_456329795d41ba012fc4fb3ed063d1fe'] = 'Upsells es la mejor opción para mejorar el ticket medio de manera automática.';
-$_MODULE['<{retailcrm}prestashop>index_4ab044d4168a44dbe50ecc01181e81ad'] = 'La gestión de carritos abandonados incrementa la cantidad de pedidos completados en la tienda online.';
-$_MODULE['<{retailcrm}prestashop>index_0f93ca5bf76e978aa9162e7fc53897ea'] = 'Gestiona los pedidos';
-$_MODULE['<{retailcrm}prestashop>index_3efd2720a5c93a8fe785084d925024ce'] = 'Con ayuda del CRM podrás recibir pedidos, distribuirlos entre tus empleados, controlar los estados y cerrarlos.';
-$_MODULE['<{retailcrm}prestashop>index_8823fb21e79cd316df376e80bb635329'] = 'Las notificaciones sobre el cambio de estado de cada pedido te ayuda a mantener a los clientes informados sobre sus pedidos.';
-$_MODULE['<{retailcrm}prestashop>index_2280ad04ce9fc872f86e839265f170a2'] = 'SalesApp es una aplicación para puntos de venta, la cual te ayudará a mejorar las ventas offline y a crear una base de clientes en un mismo sistema.';
-$_MODULE['<{retailcrm}prestashop>index_9f1ddb1081aee21a39383a5be24e6c78'] = 'La integración con el catálogo permite controlar el stock de tus productos, los precios y sus movimientos.';
-$_MODULE['<{retailcrm}prestashop>index_94d467d04e7d7b0c92df78f3de00fb20'] = 'Retén a tus actuales clientes';
-$_MODULE['<{retailcrm}prestashop>index_7f5875d2c134ba80d0ae9a5b51b2a805'] = 'CDP (Customer Data Platform) agrupa toda la información de tus clientes desde distintos canales y crea un perfil 360° de cada uno de ellos.';
-$_MODULE['<{retailcrm}prestashop>index_2708fc15917156fafb712217dcebdab5'] = 'La segmentación de la base de clientes te ayuda a hacer la comunicación con tus clientes más relevante y precisa.';
-$_MODULE['<{retailcrm}prestashop>index_d2d8dd2103f64290845f5635ce185270'] = 'Las campañas de mailing, SMS, WhatsApp y Facebook Messenger incrementarán la frecuencia de compra de tus clientes actuales.';
-$_MODULE['<{retailcrm}prestashop>index_b0e12648f812bedb79fe86c8f66cec8a'] = 'La regla “Productos de consumo regular” te ayuda a recordarle a tus clientes para que vuelvan a hacer la compra antes de que se les agoten sus productos.';
-$_MODULE['<{retailcrm}prestashop>index_02f67e7fb237e6fa9eb746fa0f721e96'] = 'Reanima a clientes inactivos';
-$_MODULE['<{retailcrm}prestashop>index_68cd6fde983ce8c8eb0966bed76e7062'] = 'Con ayuda de retargeting en el Simla.com podrás iniciar campañas utilizando los segmentos de tu base de clientes.';
-$_MODULE['<{retailcrm}prestashop>index_9f8f75ffd4d9e4f326576dfdc5570739'] = 'Las visitas con abandono te permiten registrar los productos que el cliente estaba viendo, así podrás proponerle completar su pedido.';
-$_MODULE['<{retailcrm}prestashop>index_f78799eda5746aebce16dfbc6c824b71'] = 'Las campañas para reactivar clientes te ayudarán a recuperar a aquellos que se habían perdido y así lograr que vuelvan a tu tienda online.';
-$_MODULE['<{retailcrm}prestashop>index_7ac9b002ef2ce5608af086be3ad5f64f'] = 'Simla.com mejorará la efectividad de todos tus canales de marketing';
-$_MODULE['<{retailcrm}prestashop>index_17b39a0118f63cf041abfb9d92d12414'] = 'LiveChat';
-$_MODULE['<{retailcrm}prestashop>index_ce8ae9da5b7cd6c3df2929543a9af92d'] = 'Email';
-$_MODULE['<{retailcrm}prestashop>index_31f803c0e3b881bf2fc62b248c8aaace'] = 'Facebook Messenger';
-$_MODULE['<{retailcrm}prestashop>index_4cecb21b44628b17c436739bf6301af2'] = 'SMS';
-$_MODULE['<{retailcrm}prestashop>index_2ca3885b024c5983c60a69c6af0ecd28'] = 'Retargeting';
-$_MODULE['<{retailcrm}prestashop>index_9d4f613c288a9cf21d59cc45f1d3dc2c'] = '¿Hay un trial del módulo?';
-$_MODULE['<{retailcrm}prestashop>index_cb3df13bcaec7d592664184af4e7ced0'] = 'El módulo cuenta con una versión trial de 14 días en los cuales podrás trabajar con ayuda del módulo de Simla.com.';
-$_MODULE['<{retailcrm}prestashop>index_3b15dabe24b3ea13a55b08ca7abf1a94'] = '¿Qué es un usuario?';
-$_MODULE['<{retailcrm}prestashop>index_374f84fbbde8e4a44f7e14ec12674ca7'] = 'Un usuario es la persona que trabajará con el módulo de Simla.com es como el representante de tu negocio o tu web. Cada usuario puede crear un perfil personal y tener su propio acceso al panel de la herramienta.';
-$_MODULE['<{retailcrm}prestashop>index_65991f2dd292e02d64d248906dfe0f40'] = '¿En qué idiomas está disponible el módulo?';
-$_MODULE['<{retailcrm}prestashop>index_541564ed7677523fa5c81aa6fdcc02b8'] = 'El módulo de Simla.com está disponible en los siguientes idiomas:';
-$_MODULE['<{retailcrm}prestashop>index_cb5480c32e71778852b08ae1e8712775'] = 'Español';
-$_MODULE['<{retailcrm}prestashop>index_78463a384a5aa4fad5fa73e2f506ecfc'] = 'Inglés';
-$_MODULE['<{retailcrm}prestashop>index_deba6920e70615401385fe1fb5a379ec'] = 'Ruso';
-$_MODULE['<{retailcrm}prestashop>index_59064b34ae482528c8dbeb1b0214ee12'] = '¿Cuánto tiempo dura el trial?';
-$_MODULE['<{retailcrm}prestashop>index_bcb8d16b6e37b22faead6f49af88f26c'] = 'El tiempo de duración de la versión trial del módulo de Simla.com es de 14 días.';
-$_MODULE['<{retailcrm}prestashop>index_d8ff508a2fce371d8c36bd2bedbaecf6'] = '¿Se paga por usuario o se paga por cuenta?';
-$_MODULE['<{retailcrm}prestashop>index_83289ea1e091eba31c6b9d152381b285'] = 'El pago se realiza por usuario, si se agrega a otro usuario dentro del sistema de Simla.com se realizaría el pago por dos usuarios. Cada usuario tiene derecho a una cuenta (web-chat y redes sociales). En caso de que un usuario necesite trabajar con más de una cuenta, es necesario ponerse en contacto con el equipo de Simla.com.';
-$_MODULE['<{retailcrm}prestashop>index_a833bd40df33cff491112eb9316fb050'] = '¿Cómo puedo realizar el pago?';
-$_MODULE['<{retailcrm}prestashop>index_4889fefd090fe608a9b5403d02e2e97f'] = 'Los métodos para realizar el pago son:';
-$_MODULE['<{retailcrm}prestashop>index_95428f32e5c696cf71baccb776bc5c15'] = 'Transferencia bancaria';
-$_MODULE['<{retailcrm}prestashop>index_e7f9e382dc50889098cbe56f2554c77b'] = 'Tarjeta bancaria';
-$_MODULE['<{retailcrm}prestashop>index_7088f1d1d9c91d8b75e9882ffd78540c'] = 'Datos de contacto';
-$_MODULE['<{retailcrm}prestashop>index_50f158e2507321f1a5b6f8fb9e350818'] = 'Escríbenos en caso de preguntas o dudas';
-$_MODULE['<{retailcrm}prestashop>module_translates_2207b29a762b5d7798e9794cad24f518'] = 'No se encontraron pedidos';
-$_MODULE['<{retailcrm}prestashop>module_translates_79b5ffb5b4868e9fc8b6c6e3efafd416'] = 'Ocurrió un error al buscar los pedidos. Inténtalo de nuevo';
-$_MODULE['<{retailcrm}prestashop>settings_2b65c584b7b4d7bd19d36f7d2b690c6a'] = 'Catálogo Icml';
-$_MODULE['<{retailcrm}prestashop>settings_c2cc7082a89c1ad6631a2f66af5f00c0'] = 'Conexión';
-$_MODULE['<{retailcrm}prestashop>settings_065ab3a28ca4f16f55f103adc7d0226f'] = 'Los métodos del envío';
-$_MODULE['<{retailcrm}prestashop>settings_33af8066d3c83110d4bd897f687cedd2'] = 'Los estados de pedidos';
-$_MODULE['<{retailcrm}prestashop>settings_bab959acc06bb03897b294fbb892be6b'] = 'Los métodos de pago';
-$_MODULE['<{retailcrm}prestashop>settings_7a1920d61156abc05a60135aefe8bc67'] = 'Por defecto';
-$_MODULE['<{retailcrm}prestashop>settings_27ce7f8b5623b2e2df568d64cf051607'] = 'Existencias';
-$_MODULE['<{retailcrm}prestashop>settings_20cacc01d0de8bc6e9c9846f477e886b'] = 'Subir pedidos';
-$_MODULE['<{retailcrm}prestashop>settings_6bcde6286f8d1b76063ee52104a240cf'] = 'Carritos abandonados';
-$_MODULE['<{retailcrm}prestashop>settings_52a13123e134b8b72b6299bc14a36aad'] = 'Daemon Collector';
-$_MODULE['<{retailcrm}prestashop>settings_71098155ccc0a0d6e0b501fbee37e7a9'] = 'LiveChat';
-$_MODULE['<{retailcrm}prestashop>settings_9b6545e4cea9b4ad4979d41bb9170e2b'] = 'Avanzado';
-$_MODULE['<{retailcrm}prestashop>settings_061b368c43f85d3fe2c7ccc842883a40'] = 'La configuración de la conexión';
-$_MODULE['<{retailcrm}prestashop>settings_22a65bd0ef1919aa4e6dee849a7a2925'] = 'Simla.com URL';
-$_MODULE['<{retailcrm}prestashop>settings_656a6828d7ef1bb791e42087c4b5ee6e'] = 'API key';
-$_MODULE['<{retailcrm}prestashop>settings_8ffa3281a35a0d80fef2cac0fa680523'] = 'Habilitar la carga del historial';
-$_MODULE['<{retailcrm}prestashop>settings_4049d979b8e6b7d78194e96c3208a5a5'] = 'Número de orden';
-$_MODULE['<{retailcrm}prestashop>settings_c95783013e3707fd4f0fd316133fdd1f'] = 'Envíe el número de pedido a Simla.com';
-$_MODULE['<{retailcrm}prestashop>settings_4b60f9716ab3c3fb83260caafd46c55d'] = 'Reciba el número de pedido de Simla.com';
-$_MODULE['<{retailcrm}prestashop>settings_6b49e7ceb026c3d16264e01b9b919ce3'] = 'Clientes corporativos';
-$_MODULE['<{retailcrm}prestashop>settings_f8d7c52aa84f358caedb96fda86809da'] = 'Permitir el soporte a clientes corporativos';
-$_MODULE['<{retailcrm}prestashop>settings_6c3c1845e109a9ef67378effea0c0503'] = 'Activar solo si está habilitada la opción \"Clientes corporativos\" en Simla.com';
-$_MODULE['<{retailcrm}prestashop>settings_917afe348e09163269225a89a825e634'] = 'Sincronización de carritos de compradores';
-$_MODULE['<{retailcrm}prestashop>settings_d8e002d770b6f98af7b7ae9a0e5acfe9'] = 'Crear pedidos para carritos abandonados de compradores';
-$_MODULE['<{retailcrm}prestashop>settings_35b5a9139a54caeb925556ceb2c38086'] = 'Estado del pedido para carritos abandonados de compradores';
-$_MODULE['<{retailcrm}prestashop>settings_9b9cf9f8778f69b4c6cf37e66f886be8'] = 'Elige el estado';
-$_MODULE['<{retailcrm}prestashop>settings_a0d135501a738c3c98de385dc28cda61'] = 'Cargar carritos abandonados';
-$_MODULE['<{retailcrm}prestashop>settings_27096e1243f98e1b3300f57ff1c76456'] = 'Elige la demora';
-$_MODULE['<{retailcrm}prestashop>settings_f0135b33ac1799cfcb7dbe03265a8aa8'] = 'Administrar configuración de las tiendas';
-$_MODULE['<{retailcrm}prestashop>settings_1f8246b1e6ada8897902eff8d8cd8f35'] = 'está desactualizado';
-$_MODULE['<{retailcrm}prestashop>settings_5b55e5aeb08a372d36f7e4b7b35d1cd1'] = 'URL del catalogo Icml en Prestashop y en %s no coinciden';
-$_MODULE['<{retailcrm}prestashop>settings_06aa6fa8bdc2078e7e1bd903e70c8f6a'] = 'esta conectado';
-$_MODULE['<{retailcrm}prestashop>settings_7892a1894478824c07b62af2df839291'] = 'Más de 7 días';
-$_MODULE['<{retailcrm}prestashop>settings_8277e0910d750195b448797616e091ad'] = 'd';
-$_MODULE['<{retailcrm}prestashop>settings_2510c39011c5be704182423e3a695e91'] = 'h';
-$_MODULE['<{retailcrm}prestashop>settings_d8bd79cc131920d5de426f914d17405a'] = 'min';
-$_MODULE['<{retailcrm}prestashop>settings_3baa7e02e09dba2ba2a188a7c9a055cb'] = 'pasado desde la última ejecución';
-$_MODULE['<{retailcrm}prestashop>settings_068f80c7519d0528fb08e82137a72131'] = 'Productos';
-$_MODULE['<{retailcrm}prestashop>settings_9461bed8b71377318436990e57106729'] = 'Ofertas';
-$_MODULE['<{retailcrm}prestashop>settings_64ef97a8fe9db8b672287a53c5d836f2'] = 'aún no se generó';
-$_MODULE['<{retailcrm}prestashop>settings_79c07dbacf542d283944685e1538a1bb'] = 'Presione el botón de abajo para generar el %s';
-$_MODULE['<{retailcrm}prestashop>settings_4a15f35e8d386dd1d96faa83c1e44a22'] = 'Actualizar URL';
-$_MODULE['<{retailcrm}prestashop>settings_cc84d5b49b62c0959f1af64bffaec3b7'] = 'Generar ahora';
-$_MODULE['<{retailcrm}prestashop>settings_4e537de8dd108eafec4c37603c8ab7fb'] = 'Administrar tipos de entrega';
-$_MODULE['<{retailcrm}prestashop>settings_5b385947acf10ac0c5521161ce96aaa7'] = 'Elige la entrega';
-$_MODULE['<{retailcrm}prestashop>settings_c0fd6d31d096a5845f1d1abb4c132b7d'] = 'Administrar estados de pedidos';
-$_MODULE['<{retailcrm}prestashop>settings_dd53d9b3603b3279b25c74f6f3f189a4'] = 'Administrar tipos de pago';
-$_MODULE['<{retailcrm}prestashop>settings_7dcc1208fa03381346955c6732d9ea85'] = 'Elige el tipo';
-$_MODULE['<{retailcrm}prestashop>settings_a54a0e8a7a80b58ce5f8e2ef344bbf95'] = 'Configuración de existencias';
-$_MODULE['<{retailcrm}prestashop>settings_65dd9f6e8bf4eaf54c3dc96f011dade1'] = 'Recibir las existencias del Simla.com';
-$_MODULE['<{retailcrm}prestashop>settings_b55197a49e8c4cd8c314bc2aa39d6feb'] = 'Agotado';
-$_MODULE['<{retailcrm}prestashop>settings_4c271a7beaf103049443085ccab1f03f'] = 'Cambio de estado del pedido si el producto está agotado y se deniega su pedido con stock cero.';
-$_MODULE['<{retailcrm}prestashop>settings_4d3d769b812b6faa6b76e1a8abaece2d'] = 'Active';
-$_MODULE['<{retailcrm}prestashop>settings_f75d8fa5c89351544d372cf90528ccf2'] = 'Clave de la página web';
-$_MODULE['<{retailcrm}prestashop>settings_c9cc8cce247e49bae79f15173ce97354'] = 'Guardar';
-$_MODULE['<{retailcrm}prestashop>settings_6f1f9a3e435963417d08849fbef139c1'] = 'Ingrese los ID de los pedidos para cargar en Simla.com, divididos por una coma. También puede especificar rangos, como \"1-10\". Se permite subir hasta 10 pedidos a la vez.';
-$_MODULE['<{retailcrm}prestashop>settings_acfa058ec9e6e4745eddc0cae3f0f881'] = 'Identificador del pedido';
-$_MODULE['<{retailcrm}prestashop>settings_91412465ea9169dfd901dd5e7c96dd99'] = 'Subir';
-$_MODULE['<{retailcrm}prestashop>settings_418faff1c9df0d297ff586ac3230be97'] = 'Puede exportar todos los pedidos y clientes de CMS a Simla.com presionando el botón \"Exportar\". Este proceso puede llevar mucho tiempo y es necesario que mantenga la pestaña abierta hasta que termine.';
-$_MODULE['<{retailcrm}prestashop>settings_7442e29d7d53e549b78d93c46b8cdcfc'] = 'Pedidos';
-$_MODULE['<{retailcrm}prestashop>settings_e6d0e1c8fc6a4fcf47869df87e04cd88'] = 'Clientes';
-$_MODULE['<{retailcrm}prestashop>settings_f8f36c02fa6f370808135c66cfc788aa'] = 'Clientes sin pedidos';
-$_MODULE['<{retailcrm}prestashop>settings_0095a9fa74d1713e43e370a7d7846224'] = 'Exportar';
-$_MODULE['<{retailcrm}prestashop>settings_51348d86bbb5ef9d37b0cc340bcafd2d'] = 'Pedidos cargados';
-$_MODULE['<{retailcrm}prestashop>settings_7db8c329e031289c4bee5dc9628fbef7'] = 'En esta sección puede comprobar los resultados de exportación de pedidos y el pedido de carga manual a';
-$_MODULE['<{retailcrm}prestashop>settings_13348442cc6a27032d2b4aa28b75a5d3'] = 'Buscar';
-$_MODULE['<{retailcrm}prestashop>settings_b1c94ca2fbc3e78fc30069c8d0f01680'] = 'Todo';
-$_MODULE['<{retailcrm}prestashop>settings_fe8d588f340d7507265417633ccff16e'] = 'Subido';
-$_MODULE['<{retailcrm}prestashop>settings_902b0d55fddef6f8d651fe1035b7d4bd'] = 'Error';
-$_MODULE['<{retailcrm}prestashop>settings_da9c83250288c94613605b535c26c648'] = 'Fecha y Hora';
-$_MODULE['<{retailcrm}prestashop>settings_0b7fa7fc169b7d50df4dbe2303bfd201'] = 'ID en';
-$_MODULE['<{retailcrm}prestashop>settings_ec53a8c4f07baed5d8825072c89799be'] = 'Estado';
-$_MODULE['<{retailcrm}prestashop>settings_4f18e3f1c9941a6ec5a38bc716c521b4'] = 'Código que necesita insertar en la web';
-$_MODULE['<{retailcrm}prestashop>settings_ec3028a12402ab7f43962a6f3a667b6e'] = 'Modo de depuración';
-$_MODULE['<{retailcrm}prestashop>settings_5465108dc7fdda5c9ee8f00136bbaa61'] = 'Web Jobs';
-$_MODULE['<{retailcrm}prestashop>settings_9082f68bc90113d8950e4ed7fe8fa0a4'] = 'Administrador de tareas';
-$_MODULE['<{retailcrm}prestashop>settings_9194de58ce560c095f02cefc1c1c61e6'] = 'Nombre de la tarea';
-$_MODULE['<{retailcrm}prestashop>settings_05a3a24340b7b9cc8d4e08f0ef4f4dd9'] = 'Última ejecución';
-$_MODULE['<{retailcrm}prestashop>settings_0be8406951cdfda82f00f79328cf4efc'] = 'Comentario';
-$_MODULE['<{retailcrm}prestashop>settings_fe5b6cd4d7a31615bbec8d1505089d87'] = 'StackTrace';
-$_MODULE['<{retailcrm}prestashop>settings_48b516cc37de64527a42da11c35d3ddc'] = 'Reset jobs';
-$_MODULE['<{retailcrm}prestashop>settings_b2d37ae1cedf42ff874289b721860af2'] = 'Registros';
-$_MODULE['<{retailcrm}prestashop>settings_34082694d21dbdcfc31e6e32d9fb2b9f'] = 'Nombre del archivo';
-$_MODULE['<{retailcrm}prestashop>settings_a4b7f1864cfdb47cd05b54eb10337506'] = 'Fecha de modificación';
-$_MODULE['<{retailcrm}prestashop>settings_6f6cb72d544962fa333e2e34ce64f719'] = 'Tamaño';
-$_MODULE['<{retailcrm}prestashop>settings_06df33001c1d7187fdd81ea1f5b277aa'] = 'Comportamiento';
-$_MODULE['<{retailcrm}prestashop>settings_801ab24683a4a8c433c6eb40c48bcd9d'] = 'Descargar';
-$_MODULE['<{retailcrm}prestashop>settings_61b0ada67b7f40bf3d40dcc88ae4f3e6'] = 'Descargar todo';
diff --git a/retailcrm/translations/ru.php b/retailcrm/translations/ru.php
index 68a3006..3d53414 100644
--- a/retailcrm/translations/ru.php
+++ b/retailcrm/translations/ru.php
@@ -41,171 +41,3 @@ $_MODULE = [];
$_MODULE['<{retailcrm}prestashop>retailcrm_9b1e2d4b35252401dbdab3cbad2735c4'] = 'Simla.com';
$_MODULE['<{retailcrm}prestashop>retailcrm_5e36a81536959d8cde52246dd15a6fca'] = 'Интеграционный модуль для Simla.com';
$_MODULE['<{retailcrm}prestashop>retailcrm_876f23178c29dc2552c0b48bf23cd9bd'] = 'Вы уверены, что хотите удалить модуль?';
-$_MODULE['<{retailcrm}prestashop>retailcrm_5e66ee98e79567f8daf9454b5517f819'] = 'Укажите хотя бы один идентификатор заказа';
-$_MODULE['<{retailcrm}prestashop>retailcrm_6bd461d1fc51b3294c6513cecc24758d'] = 'Все заказы успешно загружены';
-$_MODULE['<{retailcrm}prestashop>retailcrm_9a7fc06b4b2359f1f26f75fbbe27a3e8'] = 'Не все заказы загружены успешно';
-$_MODULE['<{retailcrm}prestashop>retailcrm_e7244a5e543ba692ebc495aee934ee9b'] = 'Заказы не найдены и пропущены: %s';
-$_MODULE['<{retailcrm}prestashop>retailcrm_474b50f70e008454f1f2bf0d63f5262a'] = 'завершена успешно';
-$_MODULE['<{retailcrm}prestashop>retailcrm_7f3df1b66ce2d61ae3d31c97ac08b065'] = 'не была запущена';
-$_MODULE['<{retailcrm}prestashop>retailcrm_8bc2706bb353ba02b05135127122e406'] = 'завершена с ошибками';
-$_MODULE['<{retailcrm}prestashop>retailcrm_b9b2d9f66d0112f3aae7dbdbd4e22a43'] = 'Некорректный или пустой адрес CRM';
-$_MODULE['<{retailcrm}prestashop>retailcrm_942010ef43f3fec28741f62a0d9ff29c'] = 'Некорректный или пустой ключ CRM';
-$_MODULE['<{retailcrm}prestashop>retailcrm_1bd340aeb42a5ee0318784c2cffed8a9'] = 'Выбранная версия API недоступна';
-$_MODULE['<{retailcrm}prestashop>retailcrm_b9c4e8fe56eabcc4c7913ebb2f8eb388'] = 'Статус заказа для брошенных корзин не должен использоваться в других настройках';
-$_MODULE['<{retailcrm}prestashop>retailcrm_39e90036af004a005ccbccbe9a9c19c2'] = 'Статусы заказов не должны повторяться в матрице соответствий статусов';
-$_MODULE['<{retailcrm}prestashop>retailcrm_a52213fa61ecf700d1a6091d9769c9a8'] = 'Типы доставок не должны повторяться в матрице соответствий типов доставок';
-$_MODULE['<{retailcrm}prestashop>retailcrm_f08acd4b354f4d5f4e531ca1972e4504'] = 'Способы оплат не должны повторяться в матрице соответствий способов оплат';
-$_MODULE['<{retailcrm}prestashop>retailcrm_49910de3587b1c6141c03f65ef26b334'] = 'Выберите соответствия для всех типов доставки';
-$_MODULE['<{retailcrm}prestashop>retailcrm_220b6b5418e80a7f86b0ce9fbdd96bb0'] = 'Выберите соответствия для всех статусов заказов';
-$_MODULE['<{retailcrm}prestashop>retailcrm_10f66d6041a2b944b446b6ca02f7f4f3'] = 'Выберите соответствия для всех типов оплаты';
-$_MODULE['<{retailcrm}prestashop>retailcrm_1bf0b3775f120ff1991773064903e8b1'] = 'Выберите соответствия для всех параметров по умолчанию';
-$_MODULE['<{retailcrm}prestashop>retailcrm_d5bb7c2cb1565fb1568924b01847b330'] = 'Через 15 минут';
-$_MODULE['<{retailcrm}prestashop>retailcrm_9d3095e54f694bb41ef4a3e62ed90e7a'] = 'Через 30 минут';
-$_MODULE['<{retailcrm}prestashop>retailcrm_dfb403fd86851c7d9f97706dff5a2327'] = 'Через 45 минут';
-$_MODULE['<{retailcrm}prestashop>retailcrm_4b5e6470d5d85448fcd89c828352d25e'] = 'Через 1 час';
-$_MODULE['<{retailcrm}prestashop>index_dd259436b3f29f0ba1778d220b343ec9'] = 'Simla.com — сервис для интернет магазинов, который поможет перестать терять заказы и увеличить доход на всех этапах воронки.';
-$_MODULE['<{retailcrm}prestashop>index_c7476a92e20715b855d72b1786a71017'] = 'У меня уже есть аккаунт Simla.com';
-$_MODULE['<{retailcrm}prestashop>index_e81c4e4f2b7b93b481e13a8553c2ae1b'] = 'или';
-$_MODULE['<{retailcrm}prestashop>index_560cb0d630a0067860713ce68126e777'] = 'Получить Simla.com бесплатно';
-$_MODULE['<{retailcrm}prestashop>index_061b368c43f85d3fe2c7ccc842883a40'] = 'Настройка соединения';
-$_MODULE['<{retailcrm}prestashop>index_22a65bd0ef1919aa4e6dee849a7a2925'] = 'URL адрес Simla.com';
-$_MODULE['<{retailcrm}prestashop>index_656a6828d7ef1bb791e42087c4b5ee6e'] = 'API ключ Simla.com';
-$_MODULE['<{retailcrm}prestashop>index_c9cc8cce247e49bae79f15173ce97354'] = 'Сохранить';
-$_MODULE['<{retailcrm}prestashop>index_b5a7adde1af5c87d7fd797b6245c2a39'] = 'Описание';
-$_MODULE['<{retailcrm}prestashop>index_9aa698f602b1e5694855cee73a683488'] = 'Контакты';
-$_MODULE['<{retailcrm}prestashop>index_764fa884e3fba8a3f40422aa1eadde23'] = 'Перестаньте терять лиды:';
-$_MODULE['<{retailcrm}prestashop>index_070f41773a46ce08231e11316603a099'] = 'LiveChat с активным вовлечением, поможет получить больше заказов с сайта';
-$_MODULE['<{retailcrm}prestashop>index_87ef6941837db5b2370eb2c04a2f9e73'] = 'Чат-боты и единый Inbox для Facebook Messengers и WhatsApp помогут перестать терять горячих лидов, готовых вот-вот купить';
-$_MODULE['<{retailcrm}prestashop>index_0e307da9d0c9ee16b47ef71c39f236a3'] = 'Welcome-цепочки прогреют ваши лиды и подтолкнут их к первой покупке.';
-$_MODULE['<{retailcrm}prestashop>index_e83c1eb5df794bf22e69eb893e80fdd6'] = 'Доводите заказы до оплаты:';
-$_MODULE['<{retailcrm}prestashop>index_456329795d41ba012fc4fb3ed063d1fe'] = 'Допродажи увеличат средний чек ваших заказов в автоматическом режиме';
-$_MODULE['<{retailcrm}prestashop>index_4ab044d4168a44dbe50ecc01181e81ad'] = 'Сценарий Брошенная корзина повысит количество оплаченных заказов';
-$_MODULE['<{retailcrm}prestashop>index_0f93ca5bf76e978aa9162e7fc53897ea'] = 'Управляйте выполнением заказа:';
-$_MODULE['<{retailcrm}prestashop>index_3efd2720a5c93a8fe785084d925024ce'] = 'CRM-система поможет получать заказы, распределять их между сотрудниками, управлять их статусами и выполнять их';
-$_MODULE['<{retailcrm}prestashop>index_8823fb21e79cd316df376e80bb635329'] = 'Уведомления о статусе заказа помогут автоматически информировать клиента о том, что происходит с его заказом';
-$_MODULE['<{retailcrm}prestashop>index_2280ad04ce9fc872f86e839265f170a2'] = 'SalesApp — приложение для розничных точек, которое поможет повысить продажи в офлайне и собрать клиенсткую базу в единой системе';
-$_MODULE['<{retailcrm}prestashop>index_9f1ddb1081aee21a39383a5be24e6c78'] = 'Интеграция с каталогом поможет учитывать остатки, цены и местонахождение товаров';
-$_MODULE['<{retailcrm}prestashop>index_94d467d04e7d7b0c92df78f3de00fb20'] = 'Удерживайте ваших текущих клиентов:';
-$_MODULE['<{retailcrm}prestashop>index_7f5875d2c134ba80d0ae9a5b51b2a805'] = 'CDP объединит данные ваших клиентов из разных источников и построит профиль 360°';
-$_MODULE['<{retailcrm}prestashop>index_2708fc15917156fafb712217dcebdab5'] = 'Сегменты помогут разделить вашу базу на небольшие группы, чтобы сделать ваши коммуникации релевантнее';
-$_MODULE['<{retailcrm}prestashop>index_d2d8dd2103f64290845f5635ce185270'] = 'Рассылки в Email, SMS, WhatsApp и Facebook Messenger увеличат частоту покупок вашей клиентской базы';
-$_MODULE['<{retailcrm}prestashop>index_b0e12648f812bedb79fe86c8f66cec8a'] = 'Сценарий \"Товары расходники\" поможет автоматически напоминать о необходимости пополнить запасы';
-$_MODULE['<{retailcrm}prestashop>index_02f67e7fb237e6fa9eb746fa0f721e96'] = 'Возвращайте ушедших клиентов:';
-$_MODULE['<{retailcrm}prestashop>index_68cd6fde983ce8c8eb0966bed76e7062'] = 'CRM-ремаркетинг поможет запускать рекламу, используя сегменты из Simla.com';
-$_MODULE['<{retailcrm}prestashop>index_9f8f75ffd4d9e4f326576dfdc5570739'] = 'Брошенный просмотр сохранит товары, которые клиент смотрел на сайте и предложит оплатить их';
-$_MODULE['<{retailcrm}prestashop>index_f78799eda5746aebce16dfbc6c824b71'] = 'Реактивационные кампании будут возвращать потерянных клиентов обратно в ваш магазин';
-$_MODULE['<{retailcrm}prestashop>index_7ac9b002ef2ce5608af086be3ad5f64f'] = 'Simla.com повысит эффективность всех ваших маркетинговых каналов:';
-$_MODULE['<{retailcrm}prestashop>index_17b39a0118f63cf041abfb9d92d12414'] = 'LiveChat';
-$_MODULE['<{retailcrm}prestashop>index_ce8ae9da5b7cd6c3df2929543a9af92d'] = 'Email';
-$_MODULE['<{retailcrm}prestashop>index_31f803c0e3b881bf2fc62b248c8aaace'] = 'Facebook Messenger';
-$_MODULE['<{retailcrm}prestashop>index_4cecb21b44628b17c436739bf6301af2'] = 'SMS';
-$_MODULE['<{retailcrm}prestashop>index_2ca3885b024c5983c60a69c6af0ecd28'] = 'Ретаргетинг';
-$_MODULE['<{retailcrm}prestashop>index_9d4f613c288a9cf21d59cc45f1d3dc2c'] = 'Существует ли ознакомительный период?';
-$_MODULE['<{retailcrm}prestashop>index_cb3df13bcaec7d592664184af4e7ced0'] = 'Да. Существует 14-дневный ознакомительный период в рамках которого Вы можете ознакомиться с возможностями Simla.com.';
-$_MODULE['<{retailcrm}prestashop>index_3b15dabe24b3ea13a55b08ca7abf1a94'] = 'Кто такой пользователь?';
-$_MODULE['<{retailcrm}prestashop>index_374f84fbbde8e4a44f7e14ec12674ca7'] = 'Пользователь - это сотрудник, который имеет доступ к Simla.com в качестве представителя Вашего бизнеса или в качестве пользователя Вашего веб-сайта. Каждый пользователь имеет свой доступ к аккаунту Simla.com.';
-$_MODULE['<{retailcrm}prestashop>index_65991f2dd292e02d64d248906dfe0f40'] = 'Какие языки доступны в модуле?';
-$_MODULE['<{retailcrm}prestashop>index_541564ed7677523fa5c81aa6fdcc02b8'] = 'Модуль Simla.com переведён на следующие языки:';
-$_MODULE['<{retailcrm}prestashop>index_cb5480c32e71778852b08ae1e8712775'] = 'Испанский';
-$_MODULE['<{retailcrm}prestashop>index_78463a384a5aa4fad5fa73e2f506ecfc'] = 'Английский';
-$_MODULE['<{retailcrm}prestashop>index_deba6920e70615401385fe1fb5a379ec'] = 'Русский';
-$_MODULE['<{retailcrm}prestashop>index_59064b34ae482528c8dbeb1b0214ee12'] = 'Как долго длится ознакомительный режим?';
-$_MODULE['<{retailcrm}prestashop>index_bcb8d16b6e37b22faead6f49af88f26c'] = 'Длительность пробного режима составляет 14 дней.';
-$_MODULE['<{retailcrm}prestashop>index_d8ff508a2fce371d8c36bd2bedbaecf6'] = 'Оплата производится за пользователя или за аккаунт?';
-$_MODULE['<{retailcrm}prestashop>index_83289ea1e091eba31c6b9d152381b285'] = 'Оплата осуществляется за каждого пользователя. Если в систему будет добавлен новый пользователь за него так же будет взыматься оплата. Каждый пользователь имеет доступ к функциям онлайн-чата и социальных сетей. Если Вам нужен дополнительный аккаунт обратитесь к команде Simla.com.';
-$_MODULE['<{retailcrm}prestashop>index_a833bd40df33cff491112eb9316fb050'] = 'Как я могу оплатить?';
-$_MODULE['<{retailcrm}prestashop>index_4889fefd090fe608a9b5403d02e2e97f'] = 'Оплатить можно следующими способами:';
-$_MODULE['<{retailcrm}prestashop>index_95428f32e5c696cf71baccb776bc5c15'] = 'Банковским переводом';
-$_MODULE['<{retailcrm}prestashop>index_e7f9e382dc50889098cbe56f2554c77b'] = 'Кредитной картой';
-$_MODULE['<{retailcrm}prestashop>index_7088f1d1d9c91d8b75e9882ffd78540c'] = 'Наши контакты';
-$_MODULE['<{retailcrm}prestashop>index_50f158e2507321f1a5b6f8fb9e350818'] = 'Пишите нам если у Вас есть вопросы';
-$_MODULE['<{retailcrm}prestashop>module_translates_2207b29a762b5d7798e9794cad24f518'] = 'Заказы не найдены';
-$_MODULE['<{retailcrm}prestashop>module_translates_79b5ffb5b4868e9fc8b6c6e3efafd416'] = 'Возникла ошибка при попытке поиска заказов. Попробуйте еще раз';
-$_MODULE['<{retailcrm}prestashop>settings_2b65c584b7b4d7bd19d36f7d2b690c6a'] = 'Каталог Icml';
-$_MODULE['<{retailcrm}prestashop>settings_c2cc7082a89c1ad6631a2f66af5f00c0'] = 'Соединение';
-$_MODULE['<{retailcrm}prestashop>settings_065ab3a28ca4f16f55f103adc7d0226f'] = 'Способы доставки';
-$_MODULE['<{retailcrm}prestashop>settings_33af8066d3c83110d4bd897f687cedd2'] = 'Статусы заказов';
-$_MODULE['<{retailcrm}prestashop>settings_bab959acc06bb03897b294fbb892be6b'] = 'Способы оплаты';
-$_MODULE['<{retailcrm}prestashop>settings_7a1920d61156abc05a60135aefe8bc67'] = 'По умолчанию';
-$_MODULE['<{retailcrm}prestashop>settings_27ce7f8b5623b2e2df568d64cf051607'] = 'Остатки';
-$_MODULE['<{retailcrm}prestashop>settings_20cacc01d0de8bc6e9c9846f477e886b'] = 'Выгрузка заказов';
-$_MODULE['<{retailcrm}prestashop>settings_6bcde6286f8d1b76063ee52104a240cf'] = 'Брошенные корзины';
-$_MODULE['<{retailcrm}prestashop>settings_52a13123e134b8b72b6299bc14a36aad'] = 'Daemon Collector';
-$_MODULE['<{retailcrm}prestashop>settings_71098155ccc0a0d6e0b501fbee37e7a9'] = 'Онлайн-консультант';
-$_MODULE['<{retailcrm}prestashop>settings_9b6545e4cea9b4ad4979d41bb9170e2b'] = 'Дополнительно';
-$_MODULE['<{retailcrm}prestashop>settings_061b368c43f85d3fe2c7ccc842883a40'] = 'Настройка соединения';
-$_MODULE['<{retailcrm}prestashop>settings_22a65bd0ef1919aa4e6dee849a7a2925'] = 'URL адрес Simla.com';
-$_MODULE['<{retailcrm}prestashop>settings_656a6828d7ef1bb791e42087c4b5ee6e'] = 'API-ключ';
-$_MODULE['<{retailcrm}prestashop>settings_8ffa3281a35a0d80fef2cac0fa680523'] = 'Включить выгрузку истории';
-$_MODULE['<{retailcrm}prestashop>settings_4049d979b8e6b7d78194e96c3208a5a5'] = 'Номер заказа';
-$_MODULE['<{retailcrm}prestashop>settings_c95783013e3707fd4f0fd316133fdd1f'] = 'Передавать номер заказа в Simla.com';
-$_MODULE['<{retailcrm}prestashop>settings_4b60f9716ab3c3fb83260caafd46c55d'] = 'Получать номер заказа из Simla.com';
-$_MODULE['<{retailcrm}prestashop>settings_6b49e7ceb026c3d16264e01b9b919ce3'] = 'Корпоративные клиенты';
-$_MODULE['<{retailcrm}prestashop>settings_f8d7c52aa84f358caedb96fda86809da'] = 'Включить поддержку корпоративных клиентов';
-$_MODULE['<{retailcrm}prestashop>settings_6c3c1845e109a9ef67378effea0c0503'] = 'Активировать только при включенной опции \"Корпоративные клиенты\" в Simla.com';
-$_MODULE['<{retailcrm}prestashop>settings_917afe348e09163269225a89a825e634'] = 'Синхронизация корзин покупателей';
-$_MODULE['<{retailcrm}prestashop>settings_d8e002d770b6f98af7b7ae9a0e5acfe9'] = 'Создавать заказы для брошенных корзин покупателей';
-$_MODULE['<{retailcrm}prestashop>settings_35b5a9139a54caeb925556ceb2c38086'] = 'Статус заказа для брошенных корзин покупателей';
-$_MODULE['<{retailcrm}prestashop>settings_9b9cf9f8778f69b4c6cf37e66f886be8'] = 'Выберите статус';
-$_MODULE['<{retailcrm}prestashop>settings_a0d135501a738c3c98de385dc28cda61'] = 'Выгружать брошенные корзины';
-$_MODULE['<{retailcrm}prestashop>settings_27096e1243f98e1b3300f57ff1c76456'] = 'Выберите задержку';
-$_MODULE['<{retailcrm}prestashop>settings_f0135b33ac1799cfcb7dbe03265a8aa8'] = 'Настройки магазинов';
-$_MODULE['<{retailcrm}prestashop>settings_1f8246b1e6ada8897902eff8d8cd8f35'] = 'устарел';
-$_MODULE['<{retailcrm}prestashop>settings_5b55e5aeb08a372d36f7e4b7b35d1cd1'] = 'URL для ICML каталога в Prestashop и в %s не совпадают';
-$_MODULE['<{retailcrm}prestashop>settings_06aa6fa8bdc2078e7e1bd903e70c8f6a'] = 'подключен';
-$_MODULE['<{retailcrm}prestashop>settings_7892a1894478824c07b62af2df839291'] = 'Более 7 дней';
-$_MODULE['<{retailcrm}prestashop>settings_8277e0910d750195b448797616e091ad'] = 'д';
-$_MODULE['<{retailcrm}prestashop>settings_2510c39011c5be704182423e3a695e91'] = 'ч';
-$_MODULE['<{retailcrm}prestashop>settings_d8bd79cc131920d5de426f914d17405a'] = 'мин';
-$_MODULE['<{retailcrm}prestashop>settings_3baa7e02e09dba2ba2a188a7c9a055cb'] = 'прошло с момента последнего запуска';
-$_MODULE['<{retailcrm}prestashop>settings_068f80c7519d0528fb08e82137a72131'] = 'Продукты';
-$_MODULE['<{retailcrm}prestashop>settings_9461bed8b71377318436990e57106729'] = 'Торговые предложения';
-$_MODULE['<{retailcrm}prestashop>settings_64ef97a8fe9db8b672287a53c5d836f2'] = 'еще не был сгенерирован';
-$_MODULE['<{retailcrm}prestashop>settings_79c07dbacf542d283944685e1538a1bb'] = 'Нажмите кнопку ниже чтобы сгенерировать %s';
-$_MODULE['<{retailcrm}prestashop>settings_4a15f35e8d386dd1d96faa83c1e44a22'] = 'Обновить URL';
-$_MODULE['<{retailcrm}prestashop>settings_cc84d5b49b62c0959f1af64bffaec3b7'] = 'Генерировать сейчас';
-$_MODULE['<{retailcrm}prestashop>settings_4e537de8dd108eafec4c37603c8ab7fb'] = 'Управление типами доставки';
-$_MODULE['<{retailcrm}prestashop>settings_5b385947acf10ac0c5521161ce96aaa7'] = 'Выберите доставку';
-$_MODULE['<{retailcrm}prestashop>settings_c0fd6d31d096a5845f1d1abb4c132b7d'] = 'Управление статусами заказов';
-$_MODULE['<{retailcrm}prestashop>settings_dd53d9b3603b3279b25c74f6f3f189a4'] = 'Управление типами оплаты';
-$_MODULE['<{retailcrm}prestashop>settings_7dcc1208fa03381346955c6732d9ea85'] = 'Выберите тип';
-$_MODULE['<{retailcrm}prestashop>settings_a54a0e8a7a80b58ce5f8e2ef344bbf95'] = 'Остатки';
-$_MODULE['<{retailcrm}prestashop>settings_65dd9f6e8bf4eaf54c3dc96f011dade1'] = 'Получать остатки из Simla.com';
-$_MODULE['<{retailcrm}prestashop>settings_b55197a49e8c4cd8c314bc2aa39d6feb'] = 'Нет в наличии';
-$_MODULE['<{retailcrm}prestashop>settings_4c271a7beaf103049443085ccab1f03f'] = 'Изменять статус заказа, если товара нет в наличии и запрещена его покупка с нулевым остатком на складе.';
-$_MODULE['<{retailcrm}prestashop>settings_4d3d769b812b6faa6b76e1a8abaece2d'] = 'Активно';
-$_MODULE['<{retailcrm}prestashop>settings_f75d8fa5c89351544d372cf90528ccf2'] = 'Ключ сайта';
-$_MODULE['<{retailcrm}prestashop>settings_c9cc8cce247e49bae79f15173ce97354'] = 'Сохранить';
-$_MODULE['<{retailcrm}prestashop>settings_6f1f9a3e435963417d08849fbef139c1'] = 'Введите идентификаторы заказов для загрузки в Simla.com, разделив их запятыми. Вы также можете указать диапазоны, например \"1-10\". Одновременно можно загружать до 10 заказов.';
-$_MODULE['<{retailcrm}prestashop>settings_acfa058ec9e6e4745eddc0cae3f0f881'] = 'ID заказов';
-$_MODULE['<{retailcrm}prestashop>settings_91412465ea9169dfd901dd5e7c96dd99'] = 'Выгрузить';
-$_MODULE['<{retailcrm}prestashop>settings_418faff1c9df0d297ff586ac3230be97'] = 'Вы можете экспортировать все заказы и клиентов из CMS в Simla.com, нажав кнопку «Экспорт». Этот процесс может занять много времени, и до его завершения необходимо держать вкладку открытой.';
-$_MODULE['<{retailcrm}prestashop>settings_7442e29d7d53e549b78d93c46b8cdcfc'] = 'Заказы';
-$_MODULE['<{retailcrm}prestashop>settings_e6d0e1c8fc6a4fcf47869df87e04cd88'] = 'Клиенты';
-$_MODULE['<{retailcrm}prestashop>settings_f8f36c02fa6f370808135c66cfc788aa'] = 'Клиенты без заказов';
-$_MODULE['<{retailcrm}prestashop>settings_0095a9fa74d1713e43e370a7d7846224'] = 'Экспортировать';
-$_MODULE['<{retailcrm}prestashop>settings_51348d86bbb5ef9d37b0cc340bcafd2d'] = 'Выгруженные заказы';
-$_MODULE['<{retailcrm}prestashop>settings_7db8c329e031289c4bee5dc9628fbef7'] = 'В этом разделе вы можете проверить результат выгрузки заказов, а также вручную выгрузить заказы в';
-$_MODULE['<{retailcrm}prestashop>settings_13348442cc6a27032d2b4aa28b75a5d3'] = 'Искать';
-$_MODULE['<{retailcrm}prestashop>settings_b1c94ca2fbc3e78fc30069c8d0f01680'] = 'Все';
-$_MODULE['<{retailcrm}prestashop>settings_fe8d588f340d7507265417633ccff16e'] = 'Выгружен';
-$_MODULE['<{retailcrm}prestashop>settings_902b0d55fddef6f8d651fe1035b7d4bd'] = 'Ошибка';
-$_MODULE['<{retailcrm}prestashop>settings_da9c83250288c94613605b535c26c648'] = 'Дата и Время';
-$_MODULE['<{retailcrm}prestashop>settings_0b7fa7fc169b7d50df4dbe2303bfd201'] = 'ID в';
-$_MODULE['<{retailcrm}prestashop>settings_ec53a8c4f07baed5d8825072c89799be'] = 'Статус';
-$_MODULE['<{retailcrm}prestashop>settings_4f18e3f1c9941a6ec5a38bc716c521b4'] = 'Код для вставки на сайт';
-$_MODULE['<{retailcrm}prestashop>settings_ec3028a12402ab7f43962a6f3a667b6e'] = 'Режим отладки';
-$_MODULE['<{retailcrm}prestashop>settings_5465108dc7fdda5c9ee8f00136bbaa61'] = 'Web Jobs';
-$_MODULE['<{retailcrm}prestashop>settings_9082f68bc90113d8950e4ed7fe8fa0a4'] = 'Менеджер задач';
-$_MODULE['<{retailcrm}prestashop>settings_9194de58ce560c095f02cefc1c1c61e6'] = 'Имя задачи';
-$_MODULE['<{retailcrm}prestashop>settings_05a3a24340b7b9cc8d4e08f0ef4f4dd9'] = 'Последний запуск';
-$_MODULE['<{retailcrm}prestashop>settings_0be8406951cdfda82f00f79328cf4efc'] = 'Комментарий';
-$_MODULE['<{retailcrm}prestashop>settings_fe5b6cd4d7a31615bbec8d1505089d87'] = 'StackTrace';
-$_MODULE['<{retailcrm}prestashop>settings_48b516cc37de64527a42da11c35d3ddc'] = 'Сброс Jobs';
-$_MODULE['<{retailcrm}prestashop>settings_b2d37ae1cedf42ff874289b721860af2'] = 'Лог-файлы';
-$_MODULE['<{retailcrm}prestashop>settings_34082694d21dbdcfc31e6e32d9fb2b9f'] = 'Имя файла';
-$_MODULE['<{retailcrm}prestashop>settings_a4b7f1864cfdb47cd05b54eb10337506'] = 'Дата изменения';
-$_MODULE['<{retailcrm}prestashop>settings_6f6cb72d544962fa333e2e34ce64f719'] = 'Размер';
-$_MODULE['<{retailcrm}prestashop>settings_06df33001c1d7187fdd81ea1f5b277aa'] = 'Действия';
-$_MODULE['<{retailcrm}prestashop>settings_801ab24683a4a8c433c6eb40c48bcd9d'] = 'Скачать';
-$_MODULE['<{retailcrm}prestashop>settings_61b0ada67b7f40bf3d40dcc88ae4f3e6'] = 'Скачать все';
diff --git a/retailcrm/upgrade/upgrade-3.3.6.php b/retailcrm/upgrade/upgrade-3.3.6.php
deleted file mode 100644
index 6914a9e..0000000
--- a/retailcrm/upgrade/upgrade-3.3.6.php
+++ /dev/null
@@ -1,84 +0,0 @@
-
- * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
- * @license https://opensource.org/licenses/MIT The MIT License
- *
- * Don't forget to prefix your containers with your own identifier
- * to avoid any conflicts with others containers.
- */
-
-if (!defined('_PS_VERSION_')) {
- exit;
-}
-
-/**
- * Upgrade module to version 3.3.6
- *
- * @param \RetailCRM $module
- *
- * @return bool
- */
-function upgrade_module_3_3_6($module)
-{
- if ('retailcrm' != $module->name) {
- return false;
- }
-
- return $module->removeOldFiles([
- 'retailcrm/job/abandonedCarts.php',
- 'retailcrm/job/export.php',
- 'retailcrm/job/icml.php',
- 'retailcrm/job/index.php',
- 'retailcrm/job/inventories.php',
- 'retailcrm/job/jobs.php',
- 'retailcrm/job/missing.php',
- 'retailcrm/job/sync.php',
- 'retailcrm/lib/CurlException.php',
- 'retailcrm/lib/InvalidJsonException.php',
- 'retailcrm/lib/JobManager.php',
- 'retailcrm/lib/RetailcrmApiClient.php',
- 'retailcrm/lib/RetailcrmApiClientV4.php',
- 'retailcrm/lib/RetailcrmApiClientV5.php',
- 'retailcrm/lib/RetailcrmApiErrors.php',
- 'retailcrm/lib/RetailcrmApiResponse.php',
- 'retailcrm/lib/RetailcrmDaemonCollector.php',
- 'retailcrm/lib/RetailcrmHttpClient.php',
- 'retailcrm/lib/RetailcrmInventories.php',
- 'retailcrm/lib/RetailcrmProxy.php',
- 'retailcrm/lib/RetailcrmService.php',
- 'retailcrm/public/css/.gitignore',
- 'retailcrm/public/css/retailcrm-upload.css',
- 'retailcrm/public/js/.gitignore',
- 'retailcrm/public/js/exec-jobs.js',
- 'retailcrm/public/js/retailcrm-upload.js',
- ]);
-}
diff --git a/retailcrm/upgrade/upgrade-3.4.0.php b/retailcrm/upgrade/upgrade-3.4.0.php
new file mode 100644
index 0000000..8174b7b
--- /dev/null
+++ b/retailcrm/upgrade/upgrade-3.4.0.php
@@ -0,0 +1,185 @@
+
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don't forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ */
+
+if (!defined('_PS_VERSION_')) {
+ exit;
+}
+
+/**
+ * Upgrade module to version 3.4.0
+ *
+ * @param \RetailCRM $module
+ *
+ * @return bool
+ */
+function upgrade_module_3_4_0($module)
+{
+ if ('retailcrm' != $module->name) {
+ return false;
+ }
+
+ retailcrm_convert_old_default_values_format();
+
+ return $module->removeOldFiles([
+ // old files from 2.x versions
+ 'retailcrm/job/abandonedCarts.php',
+ 'retailcrm/job/export.php',
+ 'retailcrm/job/icml.php',
+ 'retailcrm/job/index.php',
+ 'retailcrm/job/inventories.php',
+ 'retailcrm/job/jobs.php',
+ 'retailcrm/job/missing.php',
+ 'retailcrm/job/sync.php',
+ 'retailcrm/lib/CurlException.php',
+ 'retailcrm/lib/InvalidJsonException.php',
+ 'retailcrm/lib/JobManager.php',
+ 'retailcrm/lib/RetailcrmApiClient.php',
+ 'retailcrm/lib/RetailcrmApiClientV4.php',
+ 'retailcrm/lib/RetailcrmApiClientV5.php',
+ 'retailcrm/lib/RetailcrmApiErrors.php',
+ 'retailcrm/lib/RetailcrmApiResponse.php',
+ 'retailcrm/lib/RetailcrmDaemonCollector.php',
+ 'retailcrm/lib/RetailcrmHttpClient.php',
+ 'retailcrm/lib/RetailcrmProxy.php',
+ 'retailcrm/lib/RetailcrmService.php',
+ 'retailcrm/public/css/.gitignore',
+ 'retailcrm/public/css/retailcrm-upload.css',
+ 'retailcrm/public/js/.gitignore',
+ 'retailcrm/public/js/exec-jobs.js',
+ 'retailcrm/public/js/retailcrm-upload.js',
+
+ // old files after Vue implementation
+ 'retailcrm/lib/templates/RetailcrmBaseTemplate.php',
+ 'retailcrm/controllers/admin/RetailcrmOrdersUploadController.php',
+ 'retailcrm/views/templates/admin/module_translates.tpl',
+ 'retailcrm/views/css/less/index.php',
+ 'retailcrm/views/fonts/OpenSans/index.php',
+ 'retailcrm/views/fonts/OpenSansBold/index.php',
+ 'retailcrm/views/fonts/index.php',
+ 'retailcrm/views/css/index.php',
+ 'retailcrm/views/css/fonts.min.css',
+ 'retailcrm/views/css/less/fonts.less',
+ 'retailcrm/views/css/less/retailcrm-export.less',
+ 'retailcrm/views/css/less/retailcrm-orders.less',
+ 'retailcrm/views/css/less/retailcrm-upload.less',
+ 'retailcrm/views/css/less/styles.less',
+ 'retailcrm/views/css/less/sumoselect-custom.less',
+ 'retailcrm/views/css/retailcrm-export.min.css',
+ 'retailcrm/views/css/retailcrm-orders.min.css',
+ 'retailcrm/views/css/retailcrm-upload.min.css',
+ 'retailcrm/views/css/styles.min.css',
+ 'retailcrm/views/css/sumoselect-custom.min.css',
+ 'retailcrm/views/css/vendor/index.php',
+ 'retailcrm/views/css/vendor/sumoselect.min.css',
+ 'retailcrm/views/fonts/OpenSans/opensans-regular.eot',
+ 'retailcrm/views/fonts/OpenSans/opensans-regular.svg',
+ 'retailcrm/views/fonts/OpenSans/opensans-regular.ttf',
+ 'retailcrm/views/fonts/OpenSans/opensans-regular.woff',
+ 'retailcrm/views/fonts/OpenSans/opensans-regular.woff2',
+ 'retailcrm/views/fonts/OpenSansBold/opensans-bold.eot',
+ 'retailcrm/views/fonts/OpenSansBold/opensans-bold.svg',
+ 'retailcrm/views/fonts/OpenSansBold/opensans-bold.ttf',
+ 'retailcrm/views/fonts/OpenSansBold/opensans-bold.woff',
+ 'retailcrm/views/fonts/OpenSansBold/opensans-bold.woff2',
+ 'retailcrm/views/img/simla.png',
+ 'retailcrm/views/js/retailcrm-advanced.js',
+ 'retailcrm/views/js/retailcrm-advanced.min.js',
+ 'retailcrm/views/js/retailcrm-collector.js',
+ 'retailcrm/views/js/retailcrm-collector.min.js',
+ 'retailcrm/views/js/retailcrm-compat.js',
+ 'retailcrm/views/js/retailcrm-compat.min.js',
+ 'retailcrm/views/js/retailcrm-consultant.js',
+ 'retailcrm/views/js/retailcrm-consultant.min.js',
+ 'retailcrm/views/js/retailcrm-export.js',
+ 'retailcrm/views/js/retailcrm-export.min.js',
+ 'retailcrm/views/js/retailcrm-icml.js',
+ 'retailcrm/views/js/retailcrm-icml.min.js',
+ 'retailcrm/views/js/retailcrm-jobs.js',
+ 'retailcrm/views/js/retailcrm-jobs.min.js',
+ 'retailcrm/views/js/retailcrm-orders.js',
+ 'retailcrm/views/js/retailcrm-orders.min.js',
+ 'retailcrm/views/js/retailcrm-tabs.js',
+ 'retailcrm/views/js/retailcrm-tabs.min.js',
+ 'retailcrm/views/js/retailcrm-upload.js',
+ 'retailcrm/views/js/retailcrm-upload.min.js',
+ 'retailcrm/views/js/retailcrm.js',
+ 'retailcrm/views/js/retailcrm.min.js',
+ 'retailcrm/views/js/vendor/index.php',
+ 'retailcrm/views/js/vendor/jquery-3.4.0.min.js',
+ 'retailcrm/views/js/vendor/jquery.sumoselect.min.js',
+ 'retailcrm/views/templates/admin/module_messages.tpl',
+ 'retailcrm/views/templates/admin/settings.tpl',
+ ])
+ && $module->uninstallOldTabs()
+ && $module->installTab()
+ ;
+}
+
+function retailcrm_convert_old_default_values_format()
+{
+ $configs = [
+ 'RETAILCRM_API_DELIVERY_DEFAULT',
+ 'RETAILCRM_API_PAYMENT_DEFAULT',
+ ];
+
+ $isMultiStoreActive = Shop::isFeatureActive();
+
+ if ($isMultiStoreActive) {
+ $shops = Shop::getShops();
+ } else {
+ $shops[] = Shop::getContext();
+ }
+
+ foreach ($shops as $shop) {
+ $idShop = (int) $shop['id_shop'];
+
+ foreach ($configs as $configKey) {
+ if (!Configuration::hasKey($configKey, null, null, $idShop)) {
+ continue;
+ }
+
+ $configValue = Configuration::get($configKey, null, null, $idShop, '');
+
+ if ('' === $configValue) {
+ continue;
+ }
+
+ Configuration::updateValue($configKey, str_replace('"', '', $configValue), false, null, $idShop);
+ }
+ }
+}
diff --git a/retailcrm/views/css/fonts.min.css b/retailcrm/views/css/fonts.min.css
deleted file mode 100644
index 864431c..0000000
--- a/retailcrm/views/css/fonts.min.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:'OpenSans';src:url('../fonts/OpenSans/opensans-regular.eot');src:url('../fonts/OpenSans/opensans-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/OpenSans/opensans-regular.woff2') format('woff2'),url('../fonts/OpenSans/opensans-regular.woff') format('woff'),url('../fonts/OpenSans/opensans-regular.ttf') format('truetype'),url('../fonts/OpenSans/opensans-regular.svg#open_sansregular') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'OpenSans';src:url('../fonts/OpenSansBold/opensans-bold.eot');src:url('../fonts/OpenSansBold/opensans-bold.eot?#iefix') format('embedded-opentype'),url('../fonts/OpenSansBold/opensans-bold.woff2') format('woff2'),url('../fonts/OpenSansBold/opensans-bold.woff') format('woff'),url('../fonts/OpenSansBold/opensans-bold.ttf') format('truetype'),url('../fonts/OpenSansBold/opensans-bold.svg#open_sansbold') format('svg');font-weight:600;font-style:normal}
\ No newline at end of file
diff --git a/retailcrm/views/css/less/fonts.less b/retailcrm/views/css/less/fonts.less
deleted file mode 100644
index 8517fb4..0000000
--- a/retailcrm/views/css/less/fonts.less
+++ /dev/null
@@ -1,23 +0,0 @@
-@font-face {
- font-family: 'OpenSans';
- src: url('../fonts/OpenSans/opensans-regular.eot');
- src: url('../fonts/OpenSans/opensans-regular.eot?#iefix') format('embedded-opentype'),
- url('../fonts/OpenSans/opensans-regular.woff2') format('woff2'),
- url('../fonts/OpenSans/opensans-regular.woff') format('woff'),
- url('../fonts/OpenSans/opensans-regular.ttf') format('truetype'),
- url('../fonts/OpenSans/opensans-regular.svg#open_sansregular') format('svg');
- font-weight: normal;
- font-style: normal;
-}
-
-@font-face {
- font-family: 'OpenSans';
- src: url('../fonts/OpenSansBold/opensans-bold.eot');
- src: url('../fonts/OpenSansBold/opensans-bold.eot?#iefix') format('embedded-opentype'),
- url('../fonts/OpenSansBold/opensans-bold.woff2') format('woff2'),
- url('../fonts/OpenSansBold/opensans-bold.woff') format('woff'),
- url('../fonts/OpenSansBold/opensans-bold.ttf') format('truetype'),
- url('../fonts/OpenSansBold/opensans-bold.svg#open_sansbold') format('svg');
- font-weight: 600;
- font-style: normal;
-}
\ No newline at end of file
diff --git a/retailcrm/views/css/less/retailcrm-export.less b/retailcrm/views/css/less/retailcrm-export.less
deleted file mode 100644
index 3adb52c..0000000
--- a/retailcrm/views/css/less/retailcrm-export.less
+++ /dev/null
@@ -1,54 +0,0 @@
-.retail {
- &-circle {
- float: left;
- width: 50%;
- text-align: center;
- padding: 20px;
- margin: 20px 0;
-
- &__title {
- font-size: 18px;
- margin-bottom: 20px;
- }
-
- &__content,
- .retail input&__content,
- .retail input[type="text"] &__content,
- .retail input[readonly][type="text"] &__content {
- width: 120px;
- height: 120px;
- border-radius: 120px;
- text-align: center;
- font-size: 20px;
- line-height: 60px;
- display: inline-block;
- }
- }
-
- &-progress {
- border-radius: 60px;
- border: 1px solid rgba(122, 122, 122, 0.15);
- width: 100%;
- height: 60px;
- overflow: hidden;
- transition: height 0.25s ease;
-
- &__loader {
- width: 0;
- border-radius: 60px;
- background: #0068FF;
- color: white;
- text-align: center;
- padding: 0 30px;
- font-size: 18px;
- font-weight: 600;
- transition: width 0.4s ease-in;
- line-height: 60px;
- }
- }
-
- &-hidden {
- visibility: hidden;
- height: 0 !important;
- }
-}
diff --git a/retailcrm/views/css/less/retailcrm-orders.less b/retailcrm/views/css/less/retailcrm-orders.less
deleted file mode 100644
index cce604e..0000000
--- a/retailcrm/views/css/less/retailcrm-orders.less
+++ /dev/null
@@ -1,192 +0,0 @@
-#retail-search-orders-form {
- .retail-form__area {
- width: 30% !important;
- }
-
- #search-orders-submit {
- width: 15%;
- }
-
- .retail-row__content {
- width: 100%;
- }
-
- .retail-table-filter {
- display: inline-block;
- vertical-align: top;
- background: rgba(122, 122, 122, 0.1);
- border-radius: 58px;
- height: 60px;
- line-height: 60px;
- padding: 0;
- font-size: 18px;
- font-weight: 600;
- text-align: center;
- color: #0068FF;
- text-decoration: none;
- cursor: pointer;
- appearance: none;
- border: none;
- box-shadow: none;
- transition: .25s ease;
- width: 45%;
- margin-left: 9%;
-
- label.retail-table-filter-btn {
- width: 33.333333%;
- height: 60px;
- margin: 0;
- padding: 0;
- display: block;
- float: left;
- text-align: center;
- font-size: 16px;
- text-shadow: none;
- cursor: pointer;
- transition-property: color, background-color;
- transition-duration: .3s;
-
- &.active, &:hover {
- color: white;
- }
-
- &.active {
- background: #0068FF;
- }
-
- &:hover:not(.active) {
- color: white;
- background: #005add !important;
- }
-
- &:first-child {
- border-right: 1px solid gray;
- border-bottom-left-radius: 58px;
- border-top-left-radius: 58px;
- }
-
- &:last-child {
- border-left: 1px solid gray;
- border-bottom-right-radius: 58px;
- border-top-right-radius: 58px;
- }
- }
- }
-
- input.search-orders-filter {
- display: none;
- }
-}
-
-.retail-controller-link {
- display: none;
-}
-
-.retail-table-pagination {
- &__item {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- vertical-align: top;
- min-width: 40px;
- height: 40px;
- background: rgba(122, 122, 122, 0.1);
- font-weight: bold;
- font-size: 16px;
- color: #363A41;
- text-decoration: none;
- border: 0;
- border-radius: 5px;
- text-align: center;
- transition: .25s ease;
- padding: 10px;
- margin: 10px;
-
- &.active, &:hover {
- color: white;
- }
-
- &.active {
- background: #0068FF;
- }
-
- &:hover {
- background: #005add;
- }
-
- &--divider {
- background: transparent;
- pointer-events: none;
- }
- }
-}
-
-#retail-orders-table {
- .retail-orders-table__status {
- &:not(.error) .retail-orders-table__status--error {
-
- display: none;
- }
-
- &.error .retail-orders-table__status--success {
- display: none;
- }
- }
-
- .retail-orders-table__upload {
- cursor: pointer;
-
- &:hover {
- color: #0068ff;
- fill: #0068ff;
- }
- }
-}
-
-.retail-row {
- &--foldable {
- border-radius: 8px;
- margin: 20px 0;
- padding: 0 3%;
- transition: .25s ease;
- box-shadow: 0 2px 4px rgba(30, 34, 72, .16);
- border: 2px solid #fff;
- -webkit-box-shadow: 0 2px 4px rgba(30, 34, 72, .16);
-
- &:hover, &.active {
- box-shadow: 0 8px 16px rgba(30, 34, 72, .16);
- }
-
- &.active {
- border-color: #005eeb;
-
- .retail-row__title {
- cursor: initial;
- }
-
- .retail-row__content {
- display: block;
- height: auto;
- padding-bottom: 40px;
- }
- }
- }
-
- &--foldable &__title,
- &--foldable &__content {
- margin: 0 !important;
- }
-
- &--foldable &__title {
- padding: 22px 0;
- cursor: pointer;
- }
-
- &--foldable &__content {
- display: none;
- height: 0;
- overflow: hidden;
- padding: 0;
- transition: .25s ease;
- }
-}
diff --git a/retailcrm/views/css/less/retailcrm-upload.less b/retailcrm/views/css/less/retailcrm-upload.less
deleted file mode 100644
index 79c7f6c..0000000
--- a/retailcrm/views/css/less/retailcrm-upload.less
+++ /dev/null
@@ -1,29 +0,0 @@
-#retailcrm-loading-fade {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- background: #000;
- position: fixed;
- left: 0;
- right: 0;
- bottom: 0;
- top: 0;
- z-index: 9999;
- opacity: .5;
- filter: alpha(opacity=50);
-}
-
-#retailcrm-loader {
- width: 50px;
- height: 50px;
- border: 10px solid white;
- animation: retailcrm-loader 2s linear infinite;
- border-top: 10px solid #0c0c0c;
- border-radius: 50%;
-}
-
-@keyframes retailcrm-loader {
- from { transform: rotate(0deg); }
- to { transform: rotate(360deg); }
-}
diff --git a/retailcrm/views/css/less/styles.less b/retailcrm/views/css/less/styles.less
deleted file mode 100644
index 1bd5e8a..0000000
--- a/retailcrm/views/css/less/styles.less
+++ /dev/null
@@ -1,890 +0,0 @@
-@import "fonts.less";
-
-@red: #ff553b;
-@redHover: #da4932;
-@redActive: darken(@redHover, 10%);
-@blue: #0068FF;
-@blueHover: #005add;
-@blueActive: darken(@blueHover, 10%);
-@gray: #7A7A7A;
-@grayBg: #EAEBEC;
-@grayBtn: rgba(122, 122, 122, 0.1);
-@grayBtnHover: rgba(122, 122, 122, 0.15);
-@grayBtnActive: fadein(@grayBtnHover, 10%);
-@darkGray: #363A41;
-@yellow: #fcc94f;
-@yellowActive: #edbe4c;
-@lightYellow: #fcf3b5;
-@shadowGray: #fdd0d0;
-@bord: #DFDFDF;
-@green: #33D16B;
-@greenHover: #22CA5D;
-
-
-body, html {
- margin: 0;
- padding: 0;
- height: 100%;
-}
-
-.hidden {
- visibility: hidden;
-}
-
-.icon-RetailcrmSettings:before {
- content: "\f07a";
-}
-
-.retail {
- &-wrap {
- font-family: OpenSans, Arial, sans-serif;
- padding: 0 15px;
- height: 100%;
- background: white;
-
- *, *::before, *::after {
- box-sizing: border-box;
- }
- }
-
- input[type=file], input[type=password], input[type=text], input[readonly][type=text], textarea {
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .1) inset;
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
- background-color: #fff;
- border: 1px solid #ccc;
- padding: 2px 4px;
- }
-
- &-container {
- margin: 0 auto;
- width: 100%;
- max-width: 950px;
- }
-
- &-title {
- margin: 60px 0 0;
- font-weight: 400;
- text-align: center;
- font-size: 28px;
- line-height: 38px;
-
- &_content {
- text-align: left;
- margin-top: 40px;
- }
- }
-
- &-txt {
- color: @gray;
- font-size: 18px;
- line-height: 26px;
- }
-
- &-descript {
- margin-top: 45px;
- text-align: center;
- }
-
- &-tab {
- &__enabled {
- display: block;
- }
-
- &__disabled {
- display: none !important;
- }
- }
-
- &-video {
- margin: 30px auto 0;
- text-align: center;
- position: relative;
-
- &-trigger {
- position: absolute;
- top: 0;
- bottom: 0;
- right: 0;
- left: 0;
- width: 100%;
- height: 100%;
- cursor: pointer;
- }
-
- & iframe {
- pointer-events: none;
- }
-
- &__btn {
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- margin: auto;
- width: 100px;
- height: 100px;
- cursor: pointer;
- opacity: .4;
- transition: .25s ease;
-
- svg {
- width: 100%;
- }
-
- &:hover {
- opacity: .6;
- }
- }
- }
-
- &-btns {
- margin: 56px auto 0;
- display: flex;
- justify-content: space-between;
- max-width: 815px;
- transition: .05s ease;
-
- &__separate {
- padding: 0 20px;
- display: flex;
- align-items: center;
- color: @gray;
- font-size: 16px;
- }
-
- &_hide {
- opacity: 0;
- }
- }
-
- &-form {
- &__spacer {
-
- }
-
- margin-top: 60px;
-
- &__title {
- font-size: 16px;
- font-weight: 600;
- line-height: 24px;
- margin-bottom: 22px;
-
- &_link {
- color: @blue;
- transition: .25s ease;
- float: right;
-
- &:hover {
- color: @blueHover;
- }
- }
- }
-
- &__label {
- width: 100% !important;
- text-align: left !important;
- margin: 15px 12px;
- font-size: 15px;
- }
-
- &__row {
- margin-top: 15px;
-
- &_submit {
- margin-top: 23px;
- }
- }
-
- &__message-warning {
- padding: 13px 18px;
- margin: 1px 13px;
- border-radius: 8px;
- border: 1px solid @lightYellow;
- font-size: 1rem;
- box-shadow: 0px 0px 6px 0px @shadowGray;
- }
-
- &__checkbox {
- display: flex;
- flex-direction: row;
- align-items: center;
- padding: 4px 12px;
-
- input[type=checkbox] {
- width: 24px;
- height: 24px;
- }
-
- label {
- width: auto;
- margin-left: 8px;
- font-size: 16px;
- }
- }
-
- &__area {
- display: inline-block !important;
- vertical-align: top;
- width: 430px !important;
- height: 60px !important;
- border: 1px solid @grayBtnHover !important;
- box-shadow: none !important;
- border-radius: 58px !important;
- padding: 0 28px !important;
- line-height: normal;
- color: @gray !important;
- background-color: white!important;
- font-size: 16px !important;
- appearance: none;
-
- &:focus {
- color: @darkGray;
-
- &::-webkit-input-placeholder {
- color: @darkGray;
- }
-
- &::-moz-placeholder {
- color: @darkGray;
- }
-
- &:-moz-placeholder {
- color: @darkGray;
- }
-
- &:-ms-input-placeholder {
- color: @darkGray;
- }
- }
-
- &_txt {
- padding: 20px 28px !important;
- line-height: 24px !important;
- height: 487px !important;
- border-radius: 20px !important;
- resize: none !important;
- font-family: OpenSans, Arial, sans-serif !important;
- }
- }
-
- input, textarea {
- &:focus {
- outline: none !important;
- }
- }
-
- &_main {
- margin-top: 34px;
- max-width: 900px;
- width: 100%;
-
- .retail-form__area {
- width: 100% !important;
- }
- }
- }
-
- &-tabs {
- margin-top: 60px;
-
- &__btn {
- display: inline-block;
- vertical-align: top;
- padding: 19px 30px;
- font-size: 16px;
- font-weight: 600;
- line-height: 22px;
- color: @gray;
- text-align: center;
- min-width: 152px;
- text-decoration: none !important;
- position: relative;
- transition: .25s ease;
-
- &:hover {
- color: @darkGray;
- }
-
- &::after {
- content: "";
- height: 3px;
- width: 100%;
- position: absolute;
- bottom: -1px;
- left: 0;
- right: 0;
- opacity: 0;
- visibility: hidden;
- background: @blue;
- transition: .25s ease;
- }
-
- &_active {
- color: @darkGray;
-
- &::after {
- opacity: 1;
- visibility: visible;
- }
- }
- }
-
- &__head {
- display: flex;
- justify-content: space-between;
- border-bottom: 1px solid @bord;
- }
-
- &__body {
- padding-top: 18px;
-
- p {
- margin-top: 23px;
- margin-bottom: 0;
- color: @gray;
- font-size: 16px;
- line-height: 24px;
- }
- }
-
- &__item {
- display: none;
- }
- }
-
- &-list {
- margin: 0;
- padding: 0;
- list-style: none;
-
- &__item {
- padding-left: 2px;
- position: relative;
- color: @gray;
- font-size: 16px;
- line-height: 24px;
-
- &::before {
- content: "-";
- display: inline-block;
- vertical-align: top;
- color: @gray;
- font-size: 16px;
- line-height: 24px;
- margin-right: 3px;
- }
- }
- }
-
- &-tile {
- display: flex;
- flex-wrap: wrap;
-
- &__col {
- width: 48%;
- padding-right: 35px;
-
- &:nth-child(1) {
- width: 52%;
- }
-
- &_contacts {
- padding-right: 0;
- }
- }
-
- &__row {
- display: flex;
- justify-content: center;
- margin-bottom: 30px;
-
- &:nth-last-child(1) {
- margin-bottom: 0;
- }
- }
-
- &__item {
- margin-top: 34px;
-
- &:nth-child(1) {
- margin-top: 20px;
- }
- }
-
- &__title {
- color: @darkGray;
- font-size: 16px;
- font-weight: 600;
- line-height: 24px;
- }
-
- &__descript {
- color: @gray;
- font-size: 16px;
- line-height: 24px;
- margin-top: 10px;
- }
-
- &__link {
- color: @blue;
- font-size: 16px;
- font-weight: 600;
- line-height: 24px;
- transition: .25s ease;
-
- &:hover {
- color: @blueHover;
- }
- }
- }
-
- &-popup {
- position: absolute;
- width: 90%;
- height: 90%;
- background: white;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- margin: auto;
- transform: translate3d(0, -1000%, 0) scale(.1);
- transition: 0.25s ease;
-
- &__close {
- position: absolute;
- top: -30px;
- right: -30px;
- width: 30px;
- height: 30px;
- cursor: pointer;
-
- &::before, &::after {
- content: "";
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- margin: auto;
- height: 30px;
- width: 2px;
- background: white;
- }
-
- &::before {
- transform: rotate(45deg);
- }
-
- &::after {
- transform: rotate(-45deg);
- }
- }
-
- &.open {
- transform: translate3d(0, 0, 0) scale(1);
- }
-
- &-wrap {
- position: fixed;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- background: rgba(0, 0, 0, 0.6);
- z-index: 1000;
- display: none;
- }
- }
-
- &-column {
- display: flex;
- max-width: 1389px;
- height: 100%;
-
- &__aside {
- width: 253px;
- background: @grayBg;
- min-height: 300px;
-
- #content.bootstrap & {
- margin: 10px 0;
- }
- }
-
- &__content {
- flex: 1 0 auto;
- padding: 0 58px;
- min-height: 300px;
- }
- }
-
- &-menu {
- padding: 8px 20px 8px 15px;
-
- &__btn {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- vertical-align: top;
- width: 100%;
- height: 60px;
- background: @grayBtn !important;
- font-weight: bold;
- font-size: 16px;
- color: @darkGray !important;
- text-decoration: none !important;
- padding: 0 30px;
- margin-top: 20px;
- border-radius: 5px;
- text-align: center;
- transition: .25s ease;
-
- span {
- display: block;
- }
-
- &:hover {
- background: @grayBtnHover !important;
- }
-
- &:nth-child(1) {
- margin-top: 0;
- }
-
- &_active {
- color: white !important;
- background: @blue !important;
-
- &:hover {
- background: @blueHover !important;
- }
-
- &.retail-menu__btn_error {
- background: @redHover !important;
- }
- }
-
- &_error {
- color: white !important;
- background: @red !important;
-
- &:hover {
- background: @redHover !important;
- }
- }
-
- &_big {
- font-size: 18px;
- }
-
- &_hidden {
- display: none;
- }
- }
- }
-
- &-full-height {
- & {
- height: 100%;
- }
- }
-
- .btn {
- display: inline-block;
- vertical-align: top;
- background: @grayBtn;
- border-radius: 58px;
- height: 60px;
- line-height: 60px;
- padding: 0 30px;
- font-size: 18px;
- font-weight: 600;
- text-align: center;
- color: @blue;
- text-decoration: none;
- cursor: pointer;
- appearance: none;
- border: none;
- box-shadow: none;
- transition: .25s ease;
-
- &:hover {
- background: @grayBtnHover;
- }
-
- &:active {
- background: @grayBtnActive;
- }
-
- &_max {
- min-width: 356px;
- }
-
- &_invert {
- background: @blue;
- color: white;
-
- &:hover {
- background: @blueHover;
- }
-
- &:active {
- background: @blueActive;
- }
- }
-
- &_whatsapp {
- background: @green;
- color: white;
- padding: 0 62px;
-
- &:hover {
- background: @greenHover;
- }
- }
-
- &_submit {
- min-width: 218px;
- }
-
- &_warning {
- min-width: 218px;
- background: @yellow;
-
- &:hover {
- background: @yellowActive;
- }
- }
- }
-
- .toggle-box {
- display: none;
- }
-
- &-table {
- width: 100%;
- border: none;
- border-radius: 20px;
-
- &.hidden {
- display: none;
- }
-
- thead {
- th {
- background: rgba(122, 122, 122, 0.15);
- font-size: 16px;
- }
- }
-
- tbody {
- tr {
- &.alert,
- &.alert td{
- line-height: 120px;
- font-size: 16px;
- }
- td {
- border-bottom: 1px solid #ccc;
- }
- }
- }
-
- td, th {
- color: #333;
- font-size: 14px;
- line-height: 40px;
- padding: 4px 6px;
- max-width: 300px;
- vertical-align: middle;
-
- }
-
- &-wrapper {
- width: 100%;
- max-height: 500px;
- overflow-y: scroll;
- overflow-x: hidden;
- }
-
- &__row {
- &-bold {
- font-weight: bold;
- }
- }
-
- &-no-wrap {
- white-space: nowrap;
- }
-
- &-center {
- &, & th {
- text-align: center;
- }
- }
-
- &-right {
- text-align: right;
- }
-
- &-sort {
- &__btn, &__switch {
- cursor: pointer;
-
- &:hover {
- color: #005add;
- }
- }
-
- &__btn {
- float: left;
- clear: both;
- line-height: 20px;
- font-size: 20px;
- padding-left: 10px;
- padding-right: 10px;
- opacity: 0;
- transition: opacity 0.2s ease-out;
-
- &-wrap {
- position: absolute;
- }
- }
-
- &__asc {
- //padding-bottom: 0;
- }
-
- &__desc {
- //padding-top: 0;
- }
-
- & thead th:hover &__btn, & thead td:hover &__btn {
- opacity: 1;
- }
- }
- }
-
- &-collapsible {
- &__input {
- display: none;
- }
-
- &__title, label&__title {
- cursor: pointer;
- font-weight: normal;
- text-align: center;
- padding: 0;
- position: relative;
- line-height: 1;
- width: 100%;
-
- &:before {
- content: '\25B6';
- opacity: 0;
- transition: opacity 0.2s ease-out;
- }
-
- &:hover:before {
- opacity: 1;
- }
- }
-
- &__content {
- text-align: left;
- font-size: 12px;
- line-height: 1.5;
- background: #fff;
- border: 1px solid rgba(122, 122, 122, 0.15);
- position: absolute;
- z-index: 5;
- top: 20px;
- left: 0;
- padding: 18px;
- margin: 0;
- border-radius: 20px;
- overflow: hidden;
- max-height: 0;
- transition-duration: 0.2s;
- transition-timing-function: ease-out;
- transition-property: max-height, visibility;
- visibility: hidden;
- }
-
- &__input:checked + &__title &__content {
- max-height: 100vh;
- visibility: visible;
- }
- }
-
- &-error-msg {
- &, &:after, &:before {
- color: #dd2e44;
- }
- }
-
- &-alert {
- position: relative;
- height: 60px;
- padding: 0 50px;
- line-height: 30px;
-
- &-text {
- font-size: 1.5em;
- }
-
- &-note {
- color: @gray;
- font-size: 1.2em;
- }
-
- &:before {
- display: block;
- position: absolute;
- left: 0;
- top: 0;
- padding: 10px 5px;
- font: normal normal normal 40px/1 FontAwesome;
- }
-
- &-success:before {
- content: "\F058";
- color: @green;
- }
-
- &-warning:before {
- content: "\F06A";
- color: @yellow;
- }
-
- &-danger:before {
- content: "\F071";
- color: @red;
- }
-
- &-info:before {
- content: "\F059";
- color: @blue;
- }
- }
-
- &-btn-svg {
- width: 15px;
- height: 15px;
- display: inline-block;
- cursor: pointer;
- //transition: transform .3s ease-out;
- &_wrapper {
- cursor: pointer;
-
- &:hover {
- //transform: scale(1.1);
- fill: @gray;
- color: @gray;
- }
- }
- }
-}
diff --git a/retailcrm/views/css/less/sumoselect-custom.less b/retailcrm/views/css/less/sumoselect-custom.less
deleted file mode 100644
index 2b62847..0000000
--- a/retailcrm/views/css/less/sumoselect-custom.less
+++ /dev/null
@@ -1,52 +0,0 @@
-@fontSize: 16px;
-@selectHeight: 60px;
-@borderRadius: 58px;
-@optionsBorderRadius: 10px;
-@innerPadding: 28px;
-@textColor: #7a7a7a;
-@border: 1px solid rgba(122,122,122,0.15);
-
-.SumoSelect {
- width: 100%;
-
- &.open > .optWrapper {
- top: @selectHeight !important;
- }
-
- & > .optWrapper {
- border-radius: @optionsBorderRadius;
-
- & > .options {
- li label {
- font-weight: normal !important;
- }
-
- li.opt {
- float: left !important;
- width: 100% !important;
- font-size: @fontSize;
- font-weight: normal !important;
-
- label {
- width: 100% !important;
- text-align: left !important;
- }
- }
- }
- }
-
- & > .CaptionCont {
- border: @border !important;
- box-shadow: none!important;
- border-radius: @borderRadius;
- line-height: normal;
- padding: 0 @innerPadding !important;
- color: @textColor !important;
- font-size: @fontSize !important;
- height: @selectHeight;
-
- & > span {
- line-height: @selectHeight;
- }
- }
-}
\ No newline at end of file
diff --git a/retailcrm/views/css/retailcrm-export.min.css b/retailcrm/views/css/retailcrm-export.min.css
deleted file mode 100644
index d2d0722..0000000
--- a/retailcrm/views/css/retailcrm-export.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.retail-circle{float:left;width:50%;text-align:center;padding:20px;margin:20px 0}.retail-circle__title{font-size:18px;margin-bottom:20px}.retail input.retail-circle__content,.retail input[readonly][type=text] .retail-circle__content,.retail input[type=text] .retail-circle__content,.retail-circle__content{width:120px;height:120px;border-radius:120px;text-align:center;font-size:20px;line-height:60px;display:inline-block}.retail-progress{border-radius:60px;border:1px solid rgba(122,122,122,.15);width:100%;height:60px;overflow:hidden;transition:height .25s ease}.retail-progress__loader{width:0;border-radius:60px;background:#0068FF;color:#fff;text-align:center;padding:0 30px;font-size:18px;font-weight:600;transition:width .4s ease-in;line-height:60px}.retail-hidden{visibility:hidden;height:0!important}/*# sourceMappingURL=retailcrm-export.min.css.map */
\ No newline at end of file
diff --git a/retailcrm/views/css/retailcrm-orders.min.css b/retailcrm/views/css/retailcrm-orders.min.css
deleted file mode 100644
index b75776e..0000000
--- a/retailcrm/views/css/retailcrm-orders.min.css
+++ /dev/null
@@ -1 +0,0 @@
-#retail-search-orders-form .retail-form__area{width:30%!important}#retail-search-orders-form #search-orders-submit{width:15%}#retail-search-orders-form .retail-row__content{width:100%}#retail-search-orders-form .retail-table-filter{display:inline-block;vertical-align:top;background:rgba(122,122,122,.1);border-radius:58px;height:60px;line-height:60px;padding:0;font-size:18px;font-weight:600;text-align:center;color:#0068FF;text-decoration:none;cursor:pointer;appearance:none;border:none;box-shadow:none;transition:.25s ease;width:45%;margin-left:9%}#retail-search-orders-form .retail-table-filter label.retail-table-filter-btn{width:33.333333%;height:60px;margin:0;padding:0;display:block;float:left;text-align:center;font-size:16px;text-shadow:none;cursor:pointer;transition-property:color,background-color;transition-duration:.3s}#retail-search-orders-form .retail-table-filter label.retail-table-filter-btn.active,#retail-search-orders-form .retail-table-filter label.retail-table-filter-btn:hover{color:#fff}#retail-search-orders-form .retail-table-filter label.retail-table-filter-btn.active{background:#0068FF}#retail-search-orders-form .retail-table-filter label.retail-table-filter-btn:hover:not(.active){color:#fff;background:#005add!important}#retail-search-orders-form .retail-table-filter label.retail-table-filter-btn:first-child{border-right:1px solid gray;border-bottom-left-radius:58px;border-top-left-radius:58px}#retail-search-orders-form .retail-table-filter label.retail-table-filter-btn:last-child{border-left:1px solid gray;border-bottom-right-radius:58px;border-top-right-radius:58px}#retail-search-orders-form input.search-orders-filter{display:none}.retail-controller-link{display:none}.retail-table-pagination__item{display:inline-flex;align-items:center;justify-content:center;vertical-align:top;min-width:40px;height:40px;background:rgba(122,122,122,.1);font-weight:700;font-size:16px;color:#363A41;text-decoration:none;border:0;border-radius:5px;text-align:center;transition:.25s ease;padding:10px;margin:10px}.retail-table-pagination__item.active,.retail-table-pagination__item:hover{color:#fff}.retail-table-pagination__item.active{background:#0068FF}.retail-table-pagination__item:hover{background:#005add}.retail-table-pagination__item--divider{background:0 0;pointer-events:none}#retail-orders-table .retail-orders-table__status:not(.error) .retail-orders-table__status--error{display:none}#retail-orders-table .retail-orders-table__status.error .retail-orders-table__status--success{display:none}#retail-orders-table .retail-orders-table__upload{cursor:pointer}#retail-orders-table .retail-orders-table__upload:hover{color:#0068ff;fill:#0068ff}.retail-row--foldable{border-radius:8px;margin:20px 0;padding:0 3%;transition:.25s ease;box-shadow:0 2px 4px rgba(30,34,72,.16);border:2px solid #fff;-webkit-box-shadow:0 2px 4px rgba(30,34,72,.16)}.retail-row--foldable.active,.retail-row--foldable:hover{box-shadow:0 8px 16px rgba(30,34,72,.16)}.retail-row--foldable.active{border-color:#005eeb}.retail-row--foldable.active .retail-row__title{cursor:initial}.retail-row--foldable.active .retail-row__content{display:block;height:auto;padding-bottom:40px}.retail-row--foldable .retail-row__content,.retail-row--foldable .retail-row__title{margin:0!important}.retail-row--foldable .retail-row__title{padding:22px 0;cursor:pointer}.retail-row--foldable .retail-row__content{display:none;height:0;overflow:hidden;padding:0;transition:.25s ease}/*# sourceMappingURL=retailcrm-orders.min.css.map */
\ No newline at end of file
diff --git a/retailcrm/views/css/retailcrm-upload.min.css b/retailcrm/views/css/retailcrm-upload.min.css
deleted file mode 100644
index 402a996..0000000
--- a/retailcrm/views/css/retailcrm-upload.min.css
+++ /dev/null
@@ -1 +0,0 @@
-#retailcrm-loading-fade{display:flex;flex-direction:row;align-items:center;justify-content:center;background:#000;position:fixed;left:0;right:0;bottom:0;top:0;z-index:9999;opacity:.5;filter:alpha(opacity=50)}#retailcrm-loader{width:50px;height:50px;border:10px solid white;animation:retailcrm-loader 2s linear infinite;border-top:10px solid #0c0c0c;border-radius:50%}@keyframes retailcrm-loader{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
\ No newline at end of file
diff --git a/retailcrm/views/css/styles.min.css b/retailcrm/views/css/styles.min.css
deleted file mode 100644
index 5254f0d..0000000
--- a/retailcrm/views/css/styles.min.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:OpenSans;src:url(../fonts/OpenSans/opensans-regular.eot);src:url(../fonts/OpenSans/opensans-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/OpenSans/opensans-regular.woff2) format('woff2'),url(../fonts/OpenSans/opensans-regular.woff) format('woff'),url(../fonts/OpenSans/opensans-regular.ttf) format('truetype'),url(../fonts/OpenSans/opensans-regular.svg#open_sansregular) format('svg');font-weight:400;font-style:normal}@font-face{font-family:OpenSans;src:url(../fonts/OpenSansBold/opensans-bold.eot);src:url(../fonts/OpenSansBold/opensans-bold.eot?#iefix) format('embedded-opentype'),url(../fonts/OpenSansBold/opensans-bold.woff2) format('woff2'),url(../fonts/OpenSansBold/opensans-bold.woff) format('woff'),url(../fonts/OpenSansBold/opensans-bold.ttf) format('truetype'),url(../fonts/OpenSansBold/opensans-bold.svg#open_sansbold) format('svg');font-weight:600;font-style:normal}body,html{margin:0;padding:0;height:100%}.hidden{visibility:hidden}.icon-RetailcrmSettings:before{content:"\f07a"}.retail-wrap{font-family:OpenSans,Arial,sans-serif;padding:0 15px;height:100%;background:#fff}.retail-wrap *,.retail-wrap ::after,.retail-wrap ::before{box-sizing:border-box}.retail input[readonly][type=text],.retail input[type=file],.retail input[type=password],.retail input[type=text],.retail textarea{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1) inset;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#fff;border:1px solid #ccc;padding:2px 4px}.retail-container{margin:0 auto;width:100%;max-width:950px}.retail-title{margin:60px 0 0;font-weight:400;text-align:center;font-size:28px;line-height:38px}.retail-title_content{text-align:left;margin-top:40px}.retail-txt{color:#7A7A7A;font-size:18px;line-height:26px}.retail-descript{margin-top:45px;text-align:center}.retail-tab__enabled{display:block}.retail-tab__disabled{display:none!important}.retail-video{margin:30px auto 0;text-align:center;position:relative}.retail-video-trigger{position:absolute;top:0;bottom:0;right:0;left:0;width:100%;height:100%;cursor:pointer}.retail-video iframe{pointer-events:none}.retail-video__btn{position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;width:100px;height:100px;cursor:pointer;opacity:.4;transition:.25s ease}.retail-video__btn svg{width:100%}.retail-video__btn:hover{opacity:.6}.retail-btns{margin:56px auto 0;display:flex;justify-content:space-between;max-width:815px;transition:50ms ease}.retail-btns__separate{padding:0 20px;display:flex;align-items:center;color:#7A7A7A;font-size:16px}.retail-btns_hide{opacity:0}.retail-form{margin-top:60px}.retail-form__title{font-size:16px;font-weight:600;line-height:24px;margin-bottom:22px}.retail-form__title_link{color:#0068FF;transition:.25s ease;float:right}.retail-form__title_link:hover{color:#005add}.retail-form__label{width:100%!important;text-align:left!important;margin:15px 12px;font-size:15px}.retail-form__row{margin-top:15px}.retail-form__row_submit{margin-top:23px}.retail-form__message-warning{padding:13px 18px;margin:1px 13px;border-radius:8px;border:1px solid #fcf3b5;font-size:1rem;box-shadow:0 0 6px 0 #fdd0d0}.retail-form__checkbox{display:flex;flex-direction:row;align-items:center;padding:4px 12px}.retail-form__checkbox input[type=checkbox]{width:24px;height:24px}.retail-form__checkbox label{width:auto;margin-left:8px;font-size:16px}.retail-form__area{display:inline-block!important;vertical-align:top;width:430px!important;height:60px!important;border:1px solid rgba(122,122,122,.15)!important;box-shadow:none!important;border-radius:58px!important;padding:0 28px!important;line-height:normal;color:#7A7A7A!important;background-color:#fff!important;font-size:16px!important;appearance:none}.retail-form__area:focus{color:#363A41}.retail-form__area:focus::-webkit-input-placeholder{color:#363A41}.retail-form__area:focus::-moz-placeholder{color:#363A41}.retail-form__area:focus:-moz-placeholder{color:#363A41}.retail-form__area:focus:-ms-input-placeholder{color:#363A41}.retail-form__area_txt{padding:20px 28px!important;line-height:24px!important;height:487px!important;border-radius:20px!important;resize:none!important;font-family:OpenSans,Arial,sans-serif!important}.retail-form input:focus,.retail-form textarea:focus{outline:0!important}.retail-form_main{margin-top:34px;max-width:900px;width:100%}.retail-form_main .retail-form__area{width:100%!important}.retail-tabs{margin-top:60px}.retail-tabs__btn{display:inline-block;vertical-align:top;padding:19px 30px;font-size:16px;font-weight:600;line-height:22px;color:#7A7A7A;text-align:center;min-width:152px;text-decoration:none!important;position:relative;transition:.25s ease}.retail-tabs__btn:hover{color:#363A41}.retail-tabs__btn::after{content:"";height:3px;width:100%;position:absolute;bottom:-1px;left:0;right:0;opacity:0;visibility:hidden;background:#0068FF;transition:.25s ease}.retail-tabs__btn_active{color:#363A41}.retail-tabs__btn_active::after{opacity:1;visibility:visible}.retail-tabs__head{display:flex;justify-content:space-between;border-bottom:1px solid #DFDFDF}.retail-tabs__body{padding-top:18px}.retail-tabs__body p{margin-top:23px;margin-bottom:0;color:#7A7A7A;font-size:16px;line-height:24px}.retail-tabs__item{display:none}.retail-list{margin:0;padding:0;list-style:none}.retail-list__item{padding-left:2px;position:relative;color:#7A7A7A;font-size:16px;line-height:24px}.retail-list__item::before{content:"-";display:inline-block;vertical-align:top;color:#7A7A7A;font-size:16px;line-height:24px;margin-right:3px}.retail-tile{display:flex;flex-wrap:wrap}.retail-tile__col{width:48%;padding-right:35px}.retail-tile__col:nth-child(1){width:52%}.retail-tile__col_contacts{padding-right:0}.retail-tile__row{display:flex;justify-content:center;margin-bottom:30px}.retail-tile__row:nth-last-child(1){margin-bottom:0}.retail-tile__item{margin-top:34px}.retail-tile__item:nth-child(1){margin-top:20px}.retail-tile__title{color:#363A41;font-size:16px;font-weight:600;line-height:24px}.retail-tile__descript{color:#7A7A7A;font-size:16px;line-height:24px;margin-top:10px}.retail-tile__link{color:#0068FF;font-size:16px;font-weight:600;line-height:24px;transition:.25s ease}.retail-tile__link:hover{color:#005add}.retail-popup{position:absolute;width:90%;height:90%;background:#fff;left:0;right:0;top:0;bottom:0;margin:auto;transform:translate3d(0,-1000%,0) scale(.1);transition:.25s ease}.retail-popup__close{position:absolute;top:-30px;right:-30px;width:30px;height:30px;cursor:pointer}.retail-popup__close::after,.retail-popup__close::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;height:30px;width:2px;background:#fff}.retail-popup__close::before{transform:rotate(45deg)}.retail-popup__close::after{transform:rotate(-45deg)}.retail-popup.open{transform:translate3d(0,0,0) scale(1)}.retail-popup-wrap{position:fixed;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,.6);z-index:1000;display:none}.retail-column{display:flex;max-width:1389px;height:100%}.retail-column__aside{width:253px;background:#EAEBEC;min-height:300px}#content.bootstrap .retail-column__aside{margin:10px 0}.retail-column__content{flex:1 0 auto;padding:0 58px;min-height:300px}.retail-menu{padding:8px 20px 8px 15px}.retail-menu__btn{display:inline-flex;align-items:center;justify-content:center;vertical-align:top;width:100%;height:60px;background:rgba(122,122,122,.1)!important;font-weight:700;font-size:16px;color:#363A41!important;text-decoration:none!important;padding:0 30px;margin-top:20px;border-radius:5px;text-align:center;transition:.25s ease}.retail-menu__btn span{display:block}.retail-menu__btn:hover{background:rgba(122,122,122,.15)!important}.retail-menu__btn:nth-child(1){margin-top:0}.retail-menu__btn_active{color:#fff!important;background:#0068FF!important}.retail-menu__btn_active:hover{background:#005add!important}.retail-menu__btn_active.retail-menu__btn_error{background:#da4932!important}.retail-menu__btn_error{color:#fff!important;background:#ff553b!important}.retail-menu__btn_error:hover{background:#da4932!important}.retail-menu__btn_big{font-size:18px}.retail-menu__btn_hidden{display:none}.retail-full-height{height:100%}.retail .btn{display:inline-block;vertical-align:top;background:rgba(122,122,122,.1);border-radius:58px;height:60px;line-height:60px;padding:0 30px;font-size:18px;font-weight:600;text-align:center;color:#0068FF;text-decoration:none;cursor:pointer;appearance:none;border:none;box-shadow:none;transition:.25s ease}.retail .btn:hover{background:rgba(122,122,122,.15)}.retail .btn:active{background:rgba(122,122,122,.25)}.retail .btn_max{min-width:356px}.retail .btn_invert{background:#0068FF;color:#fff}.retail .btn_invert:hover{background:#005add}.retail .btn_invert:active{background:#0045aa}.retail .btn_whatsapp{background:#33D16B;color:#fff;padding:0 62px}.retail .btn_whatsapp:hover{background:#22CA5D}.retail .btn_submit{min-width:218px}.retail .btn_warning{min-width:218px;background:#fcc94f}.retail .btn_warning:hover{background:#edbe4c}.retail .toggle-box{display:none}.retail-table{width:100%;border:none;border-radius:20px}.retail-table.hidden{display:none}.retail-table thead th{background:rgba(122,122,122,.15);font-size:16px}.retail-table tbody tr.alert,.retail-table tbody tr.alert td{line-height:120px;font-size:16px}.retail-table tbody tr td{border-bottom:1px solid #ccc}.retail-table td,.retail-table th{color:#333;font-size:14px;line-height:40px;padding:4px 6px;max-width:300px;vertical-align:middle}.retail-table-wrapper{width:100%;max-height:500px;overflow-y:scroll;overflow-x:hidden}.retail-table__row-bold{font-weight:700}.retail-table-no-wrap{white-space:nowrap}.retail-table-center,.retail-table-center th{text-align:center}.retail-table-right{text-align:right}.retail-table-sort__btn,.retail-table-sort__switch{cursor:pointer}.retail-table-sort__btn:hover,.retail-table-sort__switch:hover{color:#005add}.retail-table-sort__btn{float:left;clear:both;line-height:20px;font-size:20px;padding-left:10px;padding-right:10px;opacity:0;transition:opacity .2s ease-out}.retail-table-sort__btn-wrap{position:absolute}.retail-table-sort thead td:hover .retail-table-sort__btn,.retail-table-sort thead th:hover .retail-table-sort__btn{opacity:1}.retail-collapsible__input{display:none}.retail-collapsible__title,label.retail-collapsible__title{cursor:pointer;font-weight:400;text-align:center;padding:0;position:relative;line-height:1;width:100%}.retail-collapsible__title:before,label.retail-collapsible__title:before{content:'\25B6';opacity:0;transition:opacity .2s ease-out}.retail-collapsible__title:hover:before,label.retail-collapsible__title:hover:before{opacity:1}.retail-collapsible__content{text-align:left;font-size:12px;line-height:1.5;background:#fff;border:1px solid rgba(122,122,122,.15);position:absolute;z-index:5;top:20px;left:0;padding:18px;margin:0;border-radius:20px;overflow:hidden;max-height:0;transition-duration:.2s;transition-timing-function:ease-out;transition-property:max-height,visibility;visibility:hidden}.retail-collapsible__input:checked+.retail-collapsible__title .retail-collapsible__content{max-height:100vh;visibility:visible}.retail-error-msg,.retail-error-msg:after,.retail-error-msg:before{color:#dd2e44}.retail-alert{position:relative;height:60px;padding:0 50px;line-height:30px}.retail-alert-text{font-size:1.5em}.retail-alert-note{color:#7A7A7A;font-size:1.2em}.retail-alert:before{display:block;position:absolute;left:0;top:0;padding:10px 5px;font:normal normal normal 40px/1 FontAwesome}.retail-alert-success:before{content:"\F058";color:#33D16B}.retail-alert-warning:before{content:"\F06A";color:#fcc94f}.retail-alert-danger:before{content:"\F071";color:#ff553b}.retail-alert-info:before{content:"\F059";color:#0068FF}.retail-btn-svg{width:15px;height:15px;display:inline-block;cursor:pointer}.retail-btn-svg_wrapper{cursor:pointer}.retail-btn-svg_wrapper:hover{fill:#7A7A7A;color:#7A7A7A}/*# sourceMappingURL=styles.min.css.map */
\ No newline at end of file
diff --git a/retailcrm/views/css/sumoselect-custom.min.css b/retailcrm/views/css/sumoselect-custom.min.css
deleted file mode 100644
index 6b1a47b..0000000
--- a/retailcrm/views/css/sumoselect-custom.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.SumoSelect{width:100%}.SumoSelect.open>.optWrapper{top:60px!important}.SumoSelect>.optWrapper{border-radius:10px}.SumoSelect>.optWrapper>.options li label{font-weight:normal!important}.SumoSelect>.optWrapper>.options li.opt{float:left!important;width:100%!important;font-size:16px;font-weight:normal!important}.SumoSelect>.optWrapper>.options li.opt label{width:100%!important;text-align:left!important}.SumoSelect>.CaptionCont{border:1px solid rgba(122,122,122,0.15)!important;box-shadow:none!important;border-radius:58px;line-height:normal;padding:0 28px!important;color:#7a7a7a!important;font-size:16px!important;height:60px}.SumoSelect>.CaptionCont>span{line-height:60px}
\ No newline at end of file
diff --git a/retailcrm/views/css/vendor/index.php b/retailcrm/views/css/vendor/index.php
deleted file mode 100644
index 6a1c957..0000000
--- a/retailcrm/views/css/vendor/index.php
+++ /dev/null
@@ -1,8 +0,0 @@
-.search>label,.SumoSelect.open>.search>span{visibility:hidden}.SelectClass,.SumoUnder{right:0;height:100%;width:100%;border:none;box-sizing:border-box;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;opacity:0}.SelectClass{z-index:1}.SumoSelect .select-all>label,.SumoSelect>.CaptionCont,.SumoSelect>.optWrapper>.options li.opt label{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none}.SumoSelect{display:inline-block;position:relative;outline:0}.SumoSelect.open>.CaptionCont,.SumoSelect:focus>.CaptionCont,.SumoSelect:hover>.CaptionCont{box-shadow:0 0 2px #7799D0;border-color:#7799D0}.SumoSelect>.CaptionCont{position:relative;border:1px solid #A4A4A4;min-height:14px;background-color:#fff;border-radius:2px;margin:0}.SumoSelect>.CaptionCont>span{display:block;padding-right:30px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:default}.SumoSelect>.CaptionCont>span.placeholder{color:#ccc;font-style:italic}.SumoSelect>.CaptionCont>label{position:absolute;top:0;right:0;bottom:0;width:30px}.SumoSelect>.CaptionCont>label>i{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wMdBhAJ/fwnjwAAAGFJREFUKM9jYBh+gBFKuzEwMKQwMDB8xaOWlYGB4T4DA0MrsuapDAwM//HgNwwMDDbYTJuGQ8MHBgYGJ1xOYGNgYJiBpuEpAwODHSF/siDZ+ISBgcGClEDqZ2Bg8B6CkQsAPRga0cpRtDEAAAAASUVORK5CYII=);background-position:center center;width:16px;height:16px;display:block;position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;background-repeat:no-repeat;opacity:.8}.SumoSelect>.optWrapper{display:none;z-index:1000;top:30px;width:100%;position:absolute;left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:#fff;border:1px solid #ddd;box-shadow:2px 3px 3px rgba(0,0,0,.11);border-radius:3px;overflow:hidden}.SumoSelect.open>.optWrapper{top:35px;display:block}.SumoSelect.open>.optWrapper.up{top:auto;bottom:100%;margin-bottom:5px}.SumoSelect>.optWrapper ul{list-style:none;display:block;padding:0;margin:0;overflow:auto}.SumoSelect>.optWrapper>.options{border-radius:2px;position:relative;max-height:250px}.SumoSelect>.optWrapper>.options li.group.disabled>label{opacity:.5}.SumoSelect>.optWrapper>.options li ul li.opt{padding-left:22px}.SumoSelect>.optWrapper.multiple>.options li ul li.opt{padding-left:50px}.SumoSelect>.optWrapper.isFloating>.options{max-height:100%;box-shadow:0 0 100px #595959}.SumoSelect>.optWrapper>.options li.opt{padding:6px;position:relative;border-bottom:1px solid #f5f5f5}.SumoSelect>.optWrapper>.options>li.opt:first-child{border-radius:2px 2px 0 0}.SumoSelect>.optWrapper>.options>li.opt:last-child{border-radius:0 0 2px 2px;border-bottom:none}.SumoSelect>.optWrapper>.options li.opt:hover{background-color:#E4E4E4}.SumoSelect>.optWrapper>.options li.opt.sel{background-color:#a1c0e4;border-bottom:1px solid #a1c0e4}.SumoSelect>.optWrapper>.options li label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;cursor:pointer}.SumoSelect>.optWrapper>.options li span{display:none}.SumoSelect>.optWrapper>.options li.group>label{cursor:default;padding:8px 6px;font-weight:700}.SumoSelect>.optWrapper.isFloating{position:fixed;top:0;left:0;right:0;width:90%;bottom:0;margin:auto;max-height:90%}.SumoSelect>.optWrapper>.options li.opt.disabled{background-color:inherit;pointer-events:none}.SumoSelect>.optWrapper>.options li.opt.disabled *{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";filter:alpha(opacity=50);-moz-opacity:.5;-khtml-opacity:.5;opacity:.5}.SumoSelect>.optWrapper.multiple>.options li.opt{padding-left:35px;cursor:pointer}.SumoSelect .select-all>span,.SumoSelect>.optWrapper.multiple>.options li.opt span{position:absolute;display:block;width:30px;top:0;bottom:0;margin-left:-35px}.SumoSelect .select-all>span i,.SumoSelect>.optWrapper.multiple>.options li.opt span i{position:absolute;margin:auto;left:0;right:0;top:0;bottom:0;width:14px;height:14px;border:1px solid #AEAEAE;border-radius:2px;box-shadow:inset 0 1px 3px rgba(0,0,0,.15);background-color:#fff}.SumoSelect>.optWrapper>.MultiControls{display:none;border-top:1px solid #ddd;background-color:#fff;box-shadow:0 0 2px rgba(0,0,0,.13);border-radius:0 0 3px 3px}.SumoSelect>.optWrapper.multiple.isFloating>.MultiControls{display:block;margin-top:5px;position:absolute;bottom:0;width:100%}.SumoSelect>.optWrapper.multiple.okCancelInMulti>.MultiControls{display:block}.SumoSelect>.optWrapper.multiple.okCancelInMulti>.MultiControls>p{padding:6px}.SumoSelect>.optWrapper.multiple>.MultiControls>p{display:inline-block;cursor:pointer;padding:12px;width:50%;box-sizing:border-box;text-align:center}.SumoSelect>.optWrapper.multiple>.MultiControls>p:hover{background-color:#f1f1f1}.SumoSelect>.optWrapper.multiple>.MultiControls>p.btnOk{border-right:1px solid #DBDBDB;border-radius:0 0 0 3px}.SumoSelect>.optWrapper.multiple>.MultiControls>p.btnCancel{border-radius:0 0 3px}.SumoSelect>.optWrapper.isFloating>.options li.opt{padding:12px 6px}.SumoSelect>.optWrapper.multiple.isFloating>.options li.opt{padding-left:35px}.SumoSelect>.optWrapper.multiple.isFloating{padding-bottom:43px}.SumoSelect .select-all.partial>span i,.SumoSelect .select-all.selected>span i,.SumoSelect>.optWrapper.multiple>.options li.opt.selected span i{background-color:#11a911;box-shadow:none;border-color:transparent;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAABMSURBVAiZfc0xDkAAFIPhd2Kr1WRjcAExuIgzGUTIZ/AkImjSofnbNBAfHvzAHjOKNzhiQ42IDFXCDivaaxAJd0xYshT3QqBxqnxeHvhunpu23xnmAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center center}.SumoSelect.disabled{opacity:.7;cursor:not-allowed}.SumoSelect.disabled>.CaptionCont{border-color:#ccc;box-shadow:none}.SumoSelect .select-all{border-radius:3px 3px 0 0;position:relative;border-bottom:1px solid #ddd;background-color:#fff;padding:8px 0 3px 35px;height:20px;cursor:pointer}.SumoSelect .select-all>label,.SumoSelect .select-all>span i{cursor:pointer}.SumoSelect .select-all.partial>span i{background-color:#ccc}.SumoSelect>.optWrapper>.options li.optGroup{padding-left:5px;text-decoration:underline}/*# sourceMappingURL=sumoselect.min.css.map */
\ No newline at end of file
diff --git a/retailcrm/views/favicon.ico b/retailcrm/views/favicon.ico
new file mode 100644
index 0000000..df36fcf
Binary files /dev/null and b/retailcrm/views/favicon.ico differ
diff --git a/retailcrm/views/fonts/OpenSans/opensans-regular.eot b/retailcrm/views/fonts/OpenSans/opensans-regular.eot
deleted file mode 100644
index 3908473..0000000
Binary files a/retailcrm/views/fonts/OpenSans/opensans-regular.eot and /dev/null differ
diff --git a/retailcrm/views/fonts/OpenSans/opensans-regular.svg b/retailcrm/views/fonts/OpenSans/opensans-regular.svg
deleted file mode 100644
index 8dfe7b5..0000000
--- a/retailcrm/views/fonts/OpenSans/opensans-regular.svg
+++ /dev/null
@@ -1,7651 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/retailcrm/views/fonts/OpenSans/opensans-regular.ttf b/retailcrm/views/fonts/OpenSans/opensans-regular.ttf
deleted file mode 100644
index a91fb8a..0000000
Binary files a/retailcrm/views/fonts/OpenSans/opensans-regular.ttf and /dev/null differ
diff --git a/retailcrm/views/fonts/OpenSans/opensans-regular.woff b/retailcrm/views/fonts/OpenSans/opensans-regular.woff
deleted file mode 100644
index 616db05..0000000
Binary files a/retailcrm/views/fonts/OpenSans/opensans-regular.woff and /dev/null differ
diff --git a/retailcrm/views/fonts/OpenSans/opensans-regular.woff2 b/retailcrm/views/fonts/OpenSans/opensans-regular.woff2
deleted file mode 100644
index 91e1e27..0000000
Binary files a/retailcrm/views/fonts/OpenSans/opensans-regular.woff2 and /dev/null differ
diff --git a/retailcrm/views/fonts/OpenSansBold/opensans-bold.eot b/retailcrm/views/fonts/OpenSansBold/opensans-bold.eot
deleted file mode 100644
index 38782ae..0000000
Binary files a/retailcrm/views/fonts/OpenSansBold/opensans-bold.eot and /dev/null differ
diff --git a/retailcrm/views/fonts/OpenSansBold/opensans-bold.svg b/retailcrm/views/fonts/OpenSansBold/opensans-bold.svg
deleted file mode 100644
index 0ef7af9..0000000
--- a/retailcrm/views/fonts/OpenSansBold/opensans-bold.svg
+++ /dev/null
@@ -1,7651 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/retailcrm/views/fonts/OpenSansBold/opensans-bold.ttf b/retailcrm/views/fonts/OpenSansBold/opensans-bold.ttf
deleted file mode 100644
index 96333f9..0000000
Binary files a/retailcrm/views/fonts/OpenSansBold/opensans-bold.ttf and /dev/null differ
diff --git a/retailcrm/views/fonts/OpenSansBold/opensans-bold.woff b/retailcrm/views/fonts/OpenSansBold/opensans-bold.woff
deleted file mode 100644
index 37ed43a..0000000
Binary files a/retailcrm/views/fonts/OpenSansBold/opensans-bold.woff and /dev/null differ
diff --git a/retailcrm/views/fonts/OpenSansBold/opensans-bold.woff2 b/retailcrm/views/fonts/OpenSansBold/opensans-bold.woff2
deleted file mode 100644
index 4380482..0000000
Binary files a/retailcrm/views/fonts/OpenSansBold/opensans-bold.woff2 and /dev/null differ
diff --git a/retailcrm/views/img/checking-work-2.png b/retailcrm/views/img/checking-work-2.png
new file mode 100644
index 0000000..7ee80fb
Binary files /dev/null and b/retailcrm/views/img/checking-work-2.png differ
diff --git a/retailcrm/views/img/checking-work-3.png b/retailcrm/views/img/checking-work-3.png
new file mode 100644
index 0000000..4365f38
Binary files /dev/null and b/retailcrm/views/img/checking-work-3.png differ
diff --git a/retailcrm/views/img/delivery-info-1.png b/retailcrm/views/img/delivery-info-1.png
new file mode 100644
index 0000000..425fc04
Binary files /dev/null and b/retailcrm/views/img/delivery-info-1.png differ
diff --git a/retailcrm/views/img/delivery-info-2.png b/retailcrm/views/img/delivery-info-2.png
new file mode 100644
index 0000000..1fdd95d
Binary files /dev/null and b/retailcrm/views/img/delivery-info-2.png differ
diff --git a/retailcrm/views/img/simla.png b/retailcrm/views/img/simla.png
deleted file mode 100644
index 852d2fc..0000000
Binary files a/retailcrm/views/img/simla.png and /dev/null differ
diff --git a/retailcrm/views/img/where-is-search-1.png b/retailcrm/views/img/where-is-search-1.png
new file mode 100644
index 0000000..165b249
Binary files /dev/null and b/retailcrm/views/img/where-is-search-1.png differ
diff --git a/retailcrm/views/img/where-is-search-2.png b/retailcrm/views/img/where-is-search-2.png
new file mode 100644
index 0000000..f9b0095
Binary files /dev/null and b/retailcrm/views/img/where-is-search-2.png differ
diff --git a/retailcrm/views/img/where-is-search-3.png b/retailcrm/views/img/where-is-search-3.png
new file mode 100644
index 0000000..9a0b1cf
Binary files /dev/null and b/retailcrm/views/img/where-is-search-3.png differ
diff --git a/retailcrm/views/img/where-is-search-4.png b/retailcrm/views/img/where-is-search-4.png
new file mode 100644
index 0000000..82c7a15
Binary files /dev/null and b/retailcrm/views/img/where-is-search-4.png differ
diff --git a/retailcrm/views/img/where-is-search-5.png b/retailcrm/views/img/where-is-search-5.png
new file mode 100644
index 0000000..7cb707e
Binary files /dev/null and b/retailcrm/views/img/where-is-search-5.png differ
diff --git a/retailcrm/views/index.html b/retailcrm/views/index.html
new file mode 100644
index 0000000..684fbaa
--- /dev/null
+++ b/retailcrm/views/index.html
@@ -0,0 +1 @@
+
prestashop
\ No newline at end of file
diff --git a/retailcrm/views/js/app.js b/retailcrm/views/js/app.js
new file mode 100644
index 0000000..7e6c844
--- /dev/null
+++ b/retailcrm/views/js/app.js
@@ -0,0 +1,37 @@
+/*!
+ * MIT License
+ *
+ * Copyright (c) 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
+ * versions in the future. If you wish to customize PrestaShop for your
+ * needs please refer to http://www.prestashop.com for more information.
+ *
+ * @author DIGITAL RETAIL TECHNOLOGIES SL
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don\'t forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ *
+ */(function(e){function t(t){for(var s,r,i=t[0],c=t[1],l=t[2],u=0,p=[];useparated by commas without spaces (1,2,3,4,5) or specify range (1-5)","Up to 10 orders can be uploaded at a time"],placeholder:"One or more separated by commas or a range",hint:"The ID number corresponds to the order number in PrestaShop",btn:"Upload orders"},export:{title:"Export orders",desc:"Orders that were created in the CMS before the module was connected or that could not be uploaded due to an error during operation",advices:["After the start of export, do not close the tab and do not leave this page","If the export process is interrupted (for example, you leave the page or there are problems with the connection), it can be resumed from the place of stopping"],searching:"Search for unloaded orders",count:{total:"Total orders",unloaded:"Unloaded orders",customers:"Total customers"},run:"Start export","run-desc":"Export only unloaded orders","run-all":"Export all","run-all-desc":"Export all orders and all customers, update history tag",success:"All orders have been exported"},table:{search:{btn:"Search",placeholder:"CMS order ID"},filter:{all:"All",succeeded:"Uploaded",failed:"With an error"},head:{date:"Date and time",id_cms:"ID in CMS",id_crm:"ID in CRM",status:"Status"},"not-found":"Orders not found",uploaded:"Uploaded",failed:"Error",upload:"Upload again",uploading:"Being uploaded"}},check:{title:"How do I make sure the module is working?",text:{duplicate:"To check the module's operation, duplicate the last order in Prestashop","go-to":"Go to",simla:"Simla.com",sales:"Sales",orders:"Orders","and-check-order":"and check whether the order has appeared in the list","check-options":'If you need that when changing an order or a customer, the data comes not only from PrestaShop to Simla.com , but also from Simla.com in PrestaShop, make sure that the "Two-sided" option is enabled in the module settings in the "Advanced" section syncing"',"remove-tests":"After you have verified that synchronization is working correctly, test orders can be deleted in Simla.com and PrestaShop","if-has-any-questions":"If there are problems with the module or there is not enough information on working with Simla.com ","ask-support":"contact tech support","or-read":"or check out",materials:"educational materials"}},errors:{unknown:"Unknown error",url:"Invalid or empty system address",key:"Invalid or empty API key of the system",version:"The selected API version is unavailable or the API key is incorrect",carts:"The order status for abandoned baskets should not be used in other settings",status:"Order statuses should not be repeated in the comparison",delivery:"Delivery types should not be repeated in the mapping",payment:"Payment types should not be repeated in the comparison",collector:"Invalid or empty ID"},warnings:{delivery:"Select values for all delivery types",status:"Select values for all order statuses",payment:"Select values for all payment types",default:"Select values for all default parameters"}}},2773:function(e,t,a){"use strict";a("48d9")},2965:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M20.73 7.12l-.14-.25a2.07 2.07 0 00-.74-.73l-6.71-3.87a2 2 0 00-1-.27h-.29a2 2 0 00-1 .27L4.14 6.15a2 2 0 00-.73.73l-.14.25a2 2 0 00-.27 1v7.75a2 2 0 00.27 1l.14.25c.18.3.43.55.73.73l6.72 3.87c.302.18.648.273 1 .27h.28a2 2 0 001-.27l6.71-3.88a1.9 1.9 0 00.73-.73l.15-.25a2.05 2.05 0 00.27-1V8.12a2 2 0 00-.27-1zM11.85 4h.29L18 7.38l-2.085 1.202-5.885-3.53L11.85 4zm-3.8 2.196l5.883 3.53L12 10.84 6 7.38l2.05-1.184zM13 19.5l5.85-3.38.15-.25V9.11l-6 3.47v6.92zm-2-7L5 9v7l6 3.5v-7z"}})]))}}},"29ad":function(e,t,a){"use strict";a("4813")},"2db6":function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,'.dot-list__item{display:flex;align-items:center;margin-bottom:4px;font-weight:400;font-size:14px;line-height:1.42857143}.dot-list__icon{width:24px;height:24px;min-width:24px;align-self:flex-start}.chain-arrow{display:inline-block;vertical-align:baseline}.chain-arrow:after{content:"\\2192";display:inline-block;vertical-align:top;line-height:18px;margin:0 4px}.select-box__row{display:flex;margin-bottom:16px}.select-box__row_head{margin-bottom:20px}.select-box__row_head .select-box__col{padding-bottom:12px;border-bottom:1px solid #dee2e6;display:flex;align-items:center;justify-content:space-between;min-height:51px}.select-box__col{width:264px}.select-box__col_name{display:flex;align-items:center}.select-box__col+.select-box__col{margin-left:32px}.select-box__title{font-weight:500;font-size:18px;line-height:1.55555556;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;padding-right:16px}.select-box__icon{width:24px;height:24px;fill:#c7cdd4}*{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body{background-color:#fff;color:#000}.settings-box{min-width:100%}.settings-footer{display:flex;justify-content:space-between;width:100%}.switch-content{padding-left:52px}.full-width{width:100%}.nobootstrap label{width:auto}.nobootstrap input[type=text]{box-shadow:none!important}',""]),e.exports=t},3e3:function(e,t,a){e.exports=a.p+"img/where-is-search-2.png"},"375b":function(e,t,a){"use strict";a("19bf")},"3c5d":function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{d:"M12.025 2.8c-.02 0-.02 0 0 0-.02 0-.02 0 0 0-5.08 0-9.22 4.12-9.22 9.2 0 5.06 4.12 9.2 9.18 9.2 5.08 0 9.2-4.12 9.2-9.2.02-5.06-4.1-9.2-9.16-9.2zm.78 16.76V17.5c0-.44-.36-.8-.8-.8-.44 0-.8.36-.8.8v2.06a7.58 7.58 0 01-6.76-6.76h2.06c.44 0 .8-.36.8-.8 0-.44-.36-.8-.8-.8h-2.06a7.58 7.58 0 016.76-6.76V6.5c0 .44.36.8.8.8.44 0 .8-.36.8-.8V4.44c3.6.38 6.38 3.2 6.76 6.76h-2.06c-.44 0-.8.36-.8.8 0 .44.36.8.8.8h2.06a7.58 7.58 0 01-6.76 6.76z"}})]))}}},"418b":function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".info-image[data-v-68bac5b6]{width:100%;height:auto;box-shadow:0 8px 16px rgba(30,34,72,.16)}",""]),e.exports=t},"45e2":function(e,t,a){var s=a("8e3d");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("487c7a96",s,!0,{sourceMap:!1,shadowMode:!1})},4813:function(e,t,a){var s=a("1bf1");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("618a73d1",s,!0,{sourceMap:!1,shadowMode:!1})},"48d9":function(e,t,a){var s=a("f908");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("29e29ef6",s,!0,{sourceMap:!1,shadowMode:!1})},"48fa":function(e,t,a){e.exports=a.p+"img/where-is-search-5.png"},"4a36":function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".checking-work-image[data-v-7c51d30c]{border-radius:4px;border:1px solid #dee2e6;box-shadow:0 8px 16px rgba(30,34,72,.16)}.chain-arrow[data-v-7c51d30c]:after{line-height:1.5}",""]),e.exports=t},"4a78":function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.169 2.445a1 1 0 011.386-.277l3 2A1 1 0 018.001 5v11.17A3.008 3.008 0 019.83 18H18a1 1 0 110 2H9.83A3.001 3.001 0 116 16.17V5.536L3.447 3.832a1 1 0 01-.277-1.387zM7 18h-.01a1 1 0 10.02 0H7z"}}),a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M9 7a2 2 0 012-2h8a2 2 0 012 2v8a2 2 0 01-2 2h-8a2 2 0 01-2-2V7zm4 0h-2v8h8V7h-2v3h-4V7z"}})]))}}},"4e3f":function(e,t,a){"use strict";a("209c")},"4fe1":function(e,t,a){var s=a("a8e9");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("2b3a6c23",s,!0,{sourceMap:!1,shadowMode:!1})},"51d6":function(e,t,a){"use strict";a("45e2")},"53fa":function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{d:"M20.5 10h-5a.5.5 0 01-.5-.5v-.29a.49.49 0 01.15-.36l1.78-1.78A6.93 6.93 0 0012 5a7 7 0 107 7.47.5.5 0 01.5-.47h1a.52.52 0 01.36.16.5.5 0 01.13.37 9 9 0 11-2.62-6.89l1.49-1.49a.49.49 0 01.35-.15h.29a.5.5 0 01.5.5v5a.5.5 0 01-.5.5z"}})]))}}},5458:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.03 2a.48.48 0 01.35.151l18.47 18.47a.479.479 0 010 .699l-.53.529a.48.48 0 01-.7 0l-.88-.879a2.001 2.001 0 01-3.69-.663c-.147-.821.231-1.647.95-2.072l-1.24-1.258H7a.76.76 0 01-.67-.33l-.22-.379a.768.768 0 010-.709l1.86-3.694a2.186 2.186 0 01-.27-.35l-3.4-5.99L2.15 3.38a.479.479 0 010-.699l.53-.529A.48.48 0 013.03 2zm6.59 10.893l-1 2.087h5.1l-2-1.997h-1.46a2.745 2.745 0 01-.64-.09zM21.5 3.998H7.71l9 8.985A2.94 2.94 0 0019 11.476l2.35-4.123A4.747 4.747 0 0022 4.997v-.5a.5.5 0 00-.5-.499zM6 19.972c0-1.103.895-1.997 2-1.997s2 .894 2 1.997a1.998 1.998 0 01-2 1.996c-1.105 0-2-.893-2-1.996z"}})]))}}},"54cc":function(e,t,a){var s=a("754c");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("40761889",s,!0,{sourceMap:!1,shadowMode:!1})},"56d7":function(e,t,a){"use strict";a.r(t);a("e260"),a("e6cf"),a("cca6"),a("a79d");var s=a("a026"),n=a("9fc3"),o=a.n(n),r=(a("a93e"),a("70cc"),function(e){e.component("IconCheckmark",a("c84e")),e.component("IconDelivery",a("4a78")),e.component("IconDot",a("6a22")),e.component("IconRefresh",a("53fa")),e.component("IconCreditCard",a("f4e3")),e.component("IconСheckmarkSquare",a("bb2b")),e.component("IconSettings",a("79a6")),e.component("IconCartOff",a("5458")),e.component("IconVisible",a("7382")),e.component("IconSmsChat",a("c8f6")),e.component("IconTargetLocation",a("3c5d")),e.component("IconFlash",a("782a")),e.component("IconOrder",a("2965")),e.component("IconSync",a("9c0e")),e.component("IconPauseCircle",a("fa43")),e.component("IconPlayCircle",a("9706")),e.component("IconLinkOff",a("8c10")),e.component("IconWarningOutlined",a("0f26")),e.component("IconUploadFrom",a("dc11"))}),i=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"presta-wrapper",attrs:{id:"app"}},[a("main",{staticClass:"main"},[a("UiRow",{staticClass:"main__panel",attrs:{mb:"20"}},[a("a",{attrs:{href:"#"}},[a("img",{staticClass:"main__logo",attrs:{src:"https://s3-s1.retailcrm.tech/eu-central-1/retailcrm-static/branding/simla/logo/logo_horiz.svg",alt:""}})]),a("AsideLocales")],1),a("div",{staticClass:"main__body"},[e.mode===e.modes.edit?a("aside",{staticClass:"main__aside"},[a("AsideMenu")],1):e._e(),a("article",{staticClass:"main__content"},[a("router-view")],1)])],1)])},c=[],l=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("router-link",{staticClass:"nav-link",attrs:{to:"/",exact:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.isActive,n=t.navigate;return[a("UiMenuBtn",{attrs:{active:s},on:{click:n}},[e._v(" "+e._s(e.$t("menu.settings"))+" ")])]}}])}),a("router-link",{staticClass:"nav-link",attrs:{to:"/advanced",exact:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.navigate,n=t.isActive;return[a("UiMenuBtn",{attrs:{active:n},on:{click:s}},[e._v(" "+e._s(e.$t("menu.advanced"))+" ")])]}}])}),a("router-link",{staticClass:"nav-link",attrs:{to:"/orders",exact:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.navigate,n=t.isActive;return[a("UiMenuBtn",{attrs:{active:n},on:{click:s}},[e._v(" "+e._s(e.$t("menu.orders"))+" ")])]}}])}),a("router-link",{staticClass:"nav-link",attrs:{to:"/check-work",exact:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.navigate,n=t.isActive;return[a("UiMenuBtn",{attrs:{active:n},on:{click:s}},[e._v(" "+e._s(e.$t("menu.check"))+" ")])]}}])}),a("router-link",{staticClass:"nav-link",attrs:{to:"/debug",exact:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.navigate,n=t.isActive;return[a("UiMenuBtn",{attrs:{active:n},on:{click:s}},[e._v(" "+e._s(e.$t("menu.debug"))+" ")])]}}])}),a("UiRow",{attrs:{mt:"m"}},[a("AsideInfo")],1),a("UiRow",{attrs:{mt:"m"}},[a("AsideSupports")],1),a("UiRow",{attrs:{mt:"m"}},[a("AsideLocales")],1)],1)},d=[],u=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"aside-info",class:{"aside-info_warning":!e.info.isCatalogConnected}},[e.info.isCatalogConnected?a("div",[a("div",{staticClass:"aside-info__item"},[a("UiText",{staticClass:"aside-info__status",attrs:{size:"body",accent:""}},[e._v(" "+e._s(e.$t("catalog.connected.title"))+" "),a("UiIcon",{staticClass:"aside-info__icon-status",attrs:{name:"checkmarkCircleOutlined"}})],1),a("UiText",{staticClass:"aside-info__date",attrs:{size:"tiny"}},[e._v(" "+e._s(e.lastGeneratedDate)+" "),a("span",[e._v("•")]),e._v(" "+e._s(e.lastGeneratedTime)+" ")])],1),e.info.productsCount&&e.info.offersCount?a("div",{staticClass:"aside-info__item"},[a("UiText",{attrs:{size:"paragraph",color:"gray",accent:""}},[e._v(" "+e._s(e.info.productsCount)+" ")]),a("UiText",{attrs:{size:"small",color:"gray"}},[e._v(" "+e._s(e.$t("catalog.connected.count.products"))+" ")]),a("UiText",{attrs:{size:"paragraph",color:"gray",accent:""}},[e._v(" "+e._s(e.info.offersCount)+" ")]),a("UiText",{attrs:{size:"small",color:"gray"}},[e._v(" "+e._s(e.$t("catalog.connected.count.offers"))+" ")])],1):e._e(),e.info.isUrlActual?a("div",{staticClass:"aside-info__item"},[a("UiText",{attrs:{size:"paragraph",color:e.info.isOutdated?"action":"gray",accent:""}},[e.info.lastGeneratedDiff.days>7?[a("span",[e._v(" "+e._s(e.$t("catalog.connected.date.old"))+" ")])]:[e.info.lastGeneratedDiff.days>0?a("span",[e._v(" "+e._s(e.info.lastGeneratedDiff.days)+" "+e._s(e.$t("catalog.connected.date.day"))+" ")]):e._e(),e.info.lastGeneratedDiff.hours>0?a("span",[e._v(" "+e._s(e.info.lastGeneratedDiff.hours)+" "+e._s(e.$t("catalog.connected.date.hour"))+" ")]):e._e(),e.info.lastGeneratedDiff.minutes>0?a("span",[e._v(" "+e._s(e.info.lastGeneratedDiff.minutes)+" "+e._s(e.$t("catalog.connected.date.min"))+" ")]):e._e()]],2),e.info.lastGeneratedDiff.days>0||e.info.lastGeneratedDiff.hours>0||e.info.lastGeneratedDiff.minutes>0?a("UiText",{attrs:{size:"small",color:e.info.isOutdated?"action":"gray"}},[e._v(" "+e._s(e.$t("catalog.connected.date.passed"))+" ")]):e._e(),a("UiRow",{attrs:{mt:"xs"}},[a("UiLink",{attrs:{size:"small","icon-offset":"4","dot-border":""},on:{click:e.generate},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconSync",{})]},proxy:!0}],null,!1,3035392805)},[e._v(" "+e._s(e.$t("catalog.connected.generate"))+" ")])],1)],1):a("div",{staticClass:"aside-info__item"},[a("UiText",{staticClass:"aside-info__status aside-info__status_warning",attrs:{size:"body",accent:""}},[e._v(" "+e._s(e.$t("catalog.outdated.title"))+" "),a("IconWarningOutlined",{staticClass:"aside-info__icon-status aside-info__icon-status_warning"})],1),a("UiLink",{attrs:{size:"small","icon-offset":"4","dot-border":""},on:{click:e.updateURL},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconSync",{})]},proxy:!0}],null,!1,3035392805)},[e._v(" "+e._s(e.$t("catalog.outdated.update"))+" ")])],1)]):a("div",[a("div",{staticClass:"aside-info__item"},[a("UiText",{staticClass:"aside-info__status",attrs:{size:"body",accent:""}},[e._v(" "+e._s(e.$t("catalog.not-connected.title"))+" "),a("IconWarningOutlined",{staticClass:"aside-info__icon-status"})],1)],1),a("div",{staticClass:"aside-info__item"},[a("UiText",{attrs:{size:"small",color:"gray"}},[e._v(" "+e._s(e.$t("catalog.not-connected.notice"))+" ")]),a("UiRow",{attrs:{mt:"s"}},[a("UiButton",{staticClass:"full-width",attrs:{size:"xs"},on:{click:e.update}},[e._v(" "+e._s(e.$t("catalog.not-connected.check"))+" "),a("IconRefresh")],1)],1),a("UiRow",{attrs:{mt:"xs"}},[a("UiButton",{staticClass:"full-width",attrs:{size:"xs",type:"secondary",href:"mailto:"+e.$t("support.mail")+"?subject="+e.$t("support.subject")+"&body="+e.$t("support.body")}},[e._v(" "+e._s(e.$t("catalog.not-connected.support"))+" ")])],1),a("UiRow",{attrs:{mt:"xs"}},[a("UiButton",{staticClass:"full-width",attrs:{size:"xs",type:"tertiary"}},[e._v(" "+e._s(e.$t("catalog.not-connected.info"))+" ")])],1)],1)])])},p=[],f=a("1da1"),h=(a("96cf"),a("ac1f"),a("1276"),window.$appData.catalog),m={name:"AsideInfo",data:function(){return{info:h.info,generateName:h.generateName,updateURLName:h.updateURLName}},computed:{lastGeneratedDate:function(){if(void 0===this.info.lastGenerated.date)return"";var e=this.info.lastGenerated.date.split(" ");return 2!==e.length?"":e[0]},lastGeneratedTime:function(){if(void 0===this.info.lastGenerated.date)return"";var e=this.info.lastGenerated.date.split(" ");return 2!==e.length?"":e[1].substr(0,5)}},methods:{generate:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("jobs/run",e.generateName);case 2:return a=t.sent,void 0!==a.success&&a.success||alert(a.errorMsg),e.$console.debug(a),t.next=7,e.update();case 7:case"end":return t.stop()}}),t)})))()},updateURL:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("jobs/run",e.updateURLName);case 2:return a=t.sent,void 0!==a.success&&a.success||alert(a.errorMsg),e.$console.debug(a),t.next=7,e.update();case 7:case"end":return t.stop()}}),t)})))()},update:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("settings/getData","catalog");case 2:a=t.sent,void 0!==a.success&&a.success&&void 0!==a.catalog||alert(a.errorMsg),e.info=a.catalog,e.$console.debug(a);case 6:case"end":return t.stop()}}),t)})))()}}},b=m,g=(a("108c"),a("2877")),v=Object(g["a"])(b,u,p,!1,null,"75988d42",null),_=v.exports,y=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("UiRow",{attrs:{mb:"xxs"}},[a("UiText",{staticClass:"supports",attrs:{size:"small",accent:""}},[e._v(" "+e._s(e.$t("support.title"))+" ")])],1),a("UiLink",{attrs:{size:"body",href:"mailto:"+e.$t("support.mail")+"?subject="+e.$t("support.subject")+"&body="+e.$t("support.body")}},[e._v(" "+e._s(e.$t("support.mail"))+" ")])],1)},x=[],w={name:"AsideSupports"},C=w,k=(a("375b"),Object(g["a"])(C,y,x,!1,null,"8750f3f4",null)),S=k.exports,U=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",e._l(e.getLocales(),(function(t){return a("UiButton",{key:t,attrs:{disabled:e.checkLocale(t),"tooltip-text":e.$t("locale."+t+".long"),size:"xs",type:"tertiary"},on:{click:function(a){return e.toggleLocale(t)}}},[a("span",[e._v(" "+e._s(e.$t("locale."+t+".short"))+" ")])])})),1)},$=[],R={name:"AsideLocales",methods:{getLocales:function(){return this.$i18n.locales()},checkLocale:function(e){return this.$i18n.get()===e},toggleLocale:function(e){this.$i18n.set(e)}}},O=R,z=Object(g["a"])(O,U,$,!1,null,null,null),I=z.exports,M={name:"AsideMenu",components:{AsideLocales:I,AsideInfo:_,AsideSupports:S},data:function(){return{step:0}}},T=M,j=(a("affc"),Object(g["a"])(T,l,d,!1,null,null,null)),L=j.exports,D=window.$appData.main.connection,E={wizard:"wizard",edit:"edit"},P={name:"App",components:{AsideMenu:L,AsideLocales:I},data:function(){return{mode:D.url&&D.apiKey?E.edit:E.wizard,url:D.url,apiKey:D.apiKey}},computed:{modes:function(){return E}}},A=P,B=(a("df7d"),Object(g["a"])(A,i,c,!1,null,"e6e76f56",null)),N=B.exports,G=a("8c4f"),q=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("UiCollapseGroupNext",{on:{"ui::collapse-group::expand-cancelled":e.onExpandCancelled},model:{value:e.box,callback:function(t){e.box=t},expression:"box"}},[a("ConnectionSettings",{attrs:{"is-wizard-mode":e.isWizardMode,url:e.url},on:{"url-saved":e.onUrlSaved}}),a("DeliveriesTypes",{attrs:{"is-wizard-mode":e.isWizardMode,url:e.url}}),a("PaymentTypes",{attrs:{"is-wizard-mode":e.isWizardMode,url:e.url}}),a("OrderStatuses",{attrs:{"is-wizard-mode":e.isWizardMode,url:e.url}})],1)],1)},W=[],H=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{bordered:"",collapsible:!e.hasChanges,color:e.status},on:{reset:e.reset},scopedSlots:e._u([{key:"icon",fn:function(){return[e.isWizardMode&&e.status===e.statuses.done?a("IconCheckmark"):a("UiIcon",{attrs:{name:"linkIcon"}})]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("settings.connection.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{"max-width":"383"}},[a("UiRow",{attrs:{mb:"m"}},[a("UiField",{attrs:{"area-id":"crm-url",label:e.$t("settings.connection.address")},scopedSlots:e._u([{key:"subtitle",fn:function(){return[a("UiLink",{attrs:{size:"small"},on:{click:function(t){e.hintCrmUrl=!0}}},[e._v(e._s(e.$t("hint")))])]},proxy:!0}])},[a("UiInput",{attrs:{id:"crm-url",placeholder:e.$t("settings.connection.enter-url")},on:{focus:e.addHttps,paste:e.pasteCheckHttps},model:{value:e.form.url,callback:function(t){e.$set(e.form,"url",t)},expression:"form.url"}})],1)],1),a("UiRow",{attrs:{mb:"m"}},[a("UiInfoBox",{attrs:{icon:"info-outlined"},scopedSlots:e._u([{key:"description",fn:function(){return[e._v(" "+e._s(e.$t("settings.connection.create-key"))+" "),a("b",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("settings.connection.settings")))]),a("b",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("settings.connection.integration")))]),e.urlValid?a("UiLink",{attrs:{href:e.urlForApiKey,size:"small",accent:"",external:""}},[e._v(" "+e._s(e.$t("settings.connection.api-access"))+" ")]):a("b",[e._v(e._s(e.$t("settings.connection.api-access")))])]},proxy:!0}])})],1),a("UiField",{attrs:{"area-id":"api-key",label:e.$t("settings.connection.api-key")},scopedSlots:e._u([{key:"subtitle",fn:function(){return[a("UiLink",{attrs:{size:"small"},on:{click:function(t){e.hintApiKey=!0}}},[e._v(e._s(e.$t("hint")))])]},proxy:!0}])},[a("UiInput",{attrs:{id:"api-key",placeholder:e.$t("settings.connection.enter-api-key")},model:{value:e.form.apiKey,callback:function(t){e.$set(e.form,"apiKey",t)},expression:"form.apiKey"}})],1)],1),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("div",{staticClass:"settings-footer"},[a("div",[a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):e.isWizardMode&&""===e.url?a("span",[e._v(e._s(e.$t("settings.connection.make-connection")))]):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])],1),a("UiPopup",{attrs:{type:"hint"},scopedSlots:e._u([{key:"footer",fn:function(){return[e._v(" "+e._s(e.$t("settings.connection.address-hint-desc"))+" ")]},proxy:!0}]),model:{value:e.hintCrmUrl,callback:function(t){e.hintCrmUrl=t},expression:"hintCrmUrl"}},[a("img",{attrs:{src:e.$i18n.getImage("where-is-search-1.png"),alt:"picture"}})]),a("UiPopup",{attrs:{type:"hint"},scopedSlots:e._u([{key:"footer",fn:function(){return[e._v(" "+e._s(e.$t("settings.connection.api-key-hint-desc"))+" ")]},proxy:!0}]),model:{value:e.hintApiKey,callback:function(t){e.hintApiKey=t},expression:"hintApiKey"}},[a("img",{attrs:{src:e.$i18n.getImage("where-is-search-2.png"),alt:"picture"}})])],1)]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},F=[],J=a("5530"),V=(a("466d"),a("5319"),a("2ca0"),a("a4d3"),a("e01a"),{methods:{showConfirm:function(e,t,a){this.$modal.confirm(null===a||void 0===a?void 0:a.description,null===a||void 0===a?void 0:a.props).then((function(a){a&&e?e():t&&t()}))}}}),K={mixins:[V],props:{done:{type:Boolean,default:!1}},data:function(){return{isOpen:!1}},computed:{hasChanges:function(){return!1}},methods:{close:function(){var e=this;this.hasChanges?this.showConfirm((function(){e.reset(),e.isOpen=!1})):this.isOpen=!1},reset:function(){}}},Y=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiRow",[!1===e.success||e.errors&&e.errors.length>0?a("UiRow",{attrs:{mt:"m"}},[a("UiInfoBox",{class:e.$style["box_danger"],attrs:{icon:"info-outlined",type:"danger"},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("error"))+" ")]},proxy:!0},{key:"description",fn:function(){return[e.errors&&0!==e.errors.length?e._l(e.errors,(function(t){return a("span",{key:t},[e._v(" "+e._s(e.$te(t)?e.$t(t):t)+" ")])})):a("span",[e._v(" "+e._s(e.$t("errors.unknown"))+" ")])]},proxy:!0}],null,!1,4065458849)})],1):e._e(),e.warnings&&e.warnings.length>0?a("UiRow",{attrs:{mt:"m"}},[a("UiInfoBox",{attrs:{icon:"info-outlined",type:"warning"},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("warning"))+" ")]},proxy:!0},{key:"description",fn:function(){return e._l(e.warnings,(function(t){return a("span",{key:t},[e._v(" "+e._s(e.$te(t)?e.$t(t):t)+" ")])}))},proxy:!0}],null,!1,3878477613)})],1):e._e()],1)},X=[],Q={background:"rgba(145,142,152,0.2)",textColor:"#1f1f1f"},Z={new:{code:"new",background:"#FEA530",textColor:"#fff"},approval:{code:"approval",background:"rgba(254, 165, 48, 0.2)",textColor:"#BC6B01"},assembling:{code:"assembling",background:"rgba(101, 40, 215, 0.1)",textColor:"#4a2aa5"},delivery:{code:"delivery",background:"rgba(63,215,40,0.1)",textColor:"#2aa53e"},complete:{code:"complete",background:"rgba(30,93,26,0.5)",textColor:"#265416"},cancel:{code:"cancel",background:"rgba(215,40,40,0.2)",textColor:"#a52a2a"}},ee={default:"blue",done:"green",fail:"red",warn:"yellow"},te={name:"SaveErrors",props:{success:{type:Boolean,default:null},errors:{type:Array,default:function(){return null}},warnings:{type:Array,default:function(){return null}}},data:function(){return{statuses:ee}},computed:{getStatusFromResult:function(){return null===this.success?this.statuses.default:!1===this.success||null!==this.errors&&this.errors.length>0?this.statuses.fail:null!==this.warnings&&this.warnings.length>0?this.statuses.warn:this.statuses.done}},watch:{getStatusFromResult:function(){this.$emit("status-changed",this.getStatusFromResult)}}},ae=te,se=a("5b03");function ne(e){this["$style"]=se["default"].locals||se["default"]}var oe=Object(g["a"])(ae,Y,X,!1,ne,null,null),re=oe.exports,ie={url:window.$appData.main.connection.url,apiKey:window.$appData.main.connection.apiKey},ce={name:"ConnectionSettings",components:{SaveErrors:re},mixins:[K],props:{url:{type:String,default:""},isWizardMode:{type:Boolean,default:!1}},data:function(){return{form:Object(J["a"])({},ie),initForm:Object(J["a"])({},ie),hintCrmUrl:!1,hintApiKey:!1,tooltipOptions:{placement:"top"},isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{urlValid:function(){var e=/https:\/\/(.*).(retailcrm.(pro|ru|es)|simla.com)/;return null!==this.form.url.match(e)},urlForApiKey:function(){return this.form.url.replace(/~*\/+$/,"")+"/admin/api-keys"},hasChanges:function(){return JSON.stringify(this.initForm)!==JSON.stringify(this.form)}},methods:{apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),!0===e.result.success&&void 0!==e.result.changed&&(e.updateDataFromResult(),e.result.changed.url&&e.$emit("url-saved",e.result.changed.url)),e.isLoading=!1;case 8:case"end":return t.stop()}}),t)})))()},updateDataFromResult:function(){for(var e in this.result.changed)Object.prototype.hasOwnProperty.call(this.result.changed,e)&&Object.prototype.hasOwnProperty.call(this.form,e)&&(this.form[e]=this.result.changed[e]);this.initForm=Object(J["a"])({},this.form)},addHttps:function(){this.form.url||(this.form.url="https://")},pasteCheckHttps:function(e){if("https://"===this.form.url||""===this.form.url){e.preventDefault();var t=e.clipboardData.getData("Text");t.startsWith("https://")?this.form.url=t:this.form.url="https://"+t}},statusChanged:function(e){this.status=e,this.isWizardMode||this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)},reset:function(){this.form=Object(J["a"])({},ie)}}},le=ce,de=Object(g["a"])(le,H,F,!1,null,null,null),ue=de.exports,pe=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{color:e.status,bordered:""},on:{"ui::collapse::toggle":e.checkTypes},scopedSlots:e._u([{key:"icon",fn:function(){return[e.isWizardMode&&e.status===e.statuses.done?a("IconCheckmark"):a("IconDelivery")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("settings.delivery.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{mt:"xxs",mb:"m"}},[a("UiText",[e._v(e._s(e.$t("settings.delivery.desc")))])],1),a("UiRow",{staticClass:"dot-list",attrs:{mb:"l"}},[a("div",{staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),e._v(" "+e._s(e.$t("settings.delivery.add-new-type-in"))+" "),a("UiLink",{attrs:{href:e.url+"admin/delivery-types",external:"",size:"small"}},[e._v(e._s(e.$t("settings.delivery.types")))])],1),a("div",{staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),e._v(" "+e._s(e.$t("settings.delivery.press-refresh"))+" "),a("b",[e._v(e._s(e.$t("settings.refresh-types")))])],1),a("div",{staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),e._v(" "+e._s(e.$t("settings.delivery.learn-about"))+" "),a("UiLink",{attrs:{tag:"span",size:"small","dot-border":""},on:{click:function(t){e.infoSidebar=!0}}},[e._v(e._s(e.$t("settings.delivery.important-things")))]),e._v(" "+e._s(e.$t("settings.delivery.when-creating-types"))+" ")],1)]),a("UiRow",{staticClass:"select-box",attrs:{mb:"s"}},[a("div",{staticClass:"select-box__row select-box__row_head"},[a("div",{staticClass:"select-box__col"},[a("div",{staticClass:"select-box__title"},[e._v(e._s(e.$t("prestashop")))]),a("UiIcon",{staticClass:"select-box__icon",attrs:{name:"arrowDoublesidedHorizontal"}})],1),a("div",{staticClass:"select-box__col"},[a("div",{staticClass:"select-box__title"},[e._v(e._s(e.$t("crm")))]),a("UiButton",{attrs:{type:"tertiary",size:"sm",disabled:e.isUpdating},on:{click:e.update}},[e.isUpdating?a("UiIcon",{attrs:{name:"circleLoading"}}):a("IconRefresh"),e._v(" "+e._s(e.$t("settings.refresh-types"))+" ")],1)],1)]),e._l(e.deliveries,(function(t,s){return a("div",{key:"delivery-"+s,staticClass:"select-box__row"},[a("div",{staticClass:"select-box__col select-box__col_name"},[e._v(e._s(t.name))]),a("div",{staticClass:"select-box__col"},[a("UiSelect",{attrs:{placeholder:e.$t("settings.delivery.select"),filtered:"",clearable:""},model:{value:t.value,callback:function(a){e.$set(t,"value",a)},expression:"delivery.value"}},e._l(e.deliveryTypes(t.value),(function(e,t){return a("UiOption",{key:"type-"+s+"-"+t,attrs:{value:e.code,label:e.name}})})),1)],1)])}))],2),a("UiRow",{attrs:{pt:"xxs"}},[a("UiInfoBox",{attrs:{icon:"info-outlined"},scopedSlots:e._u([{key:"description",fn:function(){return[e._v(" "+e._s(e.$t("settings.delivery.notice"))+" ")]},proxy:!0}])})],1),a("UiModalSidebar",{scopedSlots:e._u([{key:"head",fn:function(){return[e._v(" "+e._s(e.$t("settings.delivery.popup.title"))+" ")]},proxy:!0},{key:"default",fn:function(){return[a("div",[a("UiRow",{attrs:{mt:"xs",mb:"s",pb:"xxs"}},[a("UiText",{attrs:{size:"body"}},[e._v(" "+e._s(e.$t("settings.delivery.popup.header"))+" ")])],1),a("img",{staticClass:"info-image",attrs:{src:e.$i18n.getImage("delivery-info-1.png"),alt:""}}),a("UiRow",{staticClass:"dot-list",attrs:{mt:"s",mb:"s",pb:"xs"}},[a("div",{staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),e._v(" "+e._s(e.$t("settings.delivery.popup.countries"))+" ")],1)]),a("img",{staticClass:"info-image",attrs:{src:e.$i18n.getImage("delivery-info-2.png"),alt:""}}),a("UiRow",{staticClass:"dot-list",attrs:{mt:"s"}},[a("div",{staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),e._v(" "+e._s(e.$t("settings.delivery.popup.payments"))+" ")],1)])],1)]},proxy:!0},{key:"footer",fn:function(){return[a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:function(t){e.infoSidebar=!1}}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.infoSidebar,callback:function(t){e.infoSidebar=t},expression:"infoSidebar"}}),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},fe=[],he=(a("d81d"),a("4de4"),window.$appData.main.delivery.cms),me=window.$appData.main.delivery.crm,be=window.$appData.main.delivery.setting,ge={name:"DeliveriesTypes",components:{SaveErrors:re},mixins:[K],props:{url:{type:String,default:""},isWizardMode:{type:Boolean,default:!1}},data:function(){return{selectValue:"",infoSidebar:!1,deliveries:he.map((function(e){return{name:e.label,id:e.id,value:null===be||void 0===be[e.id]?"":be[e.id]}})),deliveriesTypesCRM:me,isUpdating:!1,isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{deliveriesSetting:function(){return JSON.stringify(this.deliveries.reduce((function(e,t){return e[t.id]=t.value,e}),{}))},form:function(){return{delivery:this.deliveriesSetting}}},methods:{deliveryTypes:function(e){var t=this;return this.deliveriesTypesCRM.filter((function(a){for(var s=!1,n=0;n0&&(e.deliveriesTypesCRM=a.delivery),e.isUpdating=!1,e.$console.debug(a);case 7:case"end":return t.stop()}}),t)})))()},apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),e.isLoading=!1;case 7:case"end":return t.stop()}}),t)})))()},statusChanged:function(e){this.status=e,this.isWizardMode||this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)},checkTypes:function(e){this.isWizardMode&&e&&(0!==this.deliveriesTypesCRM.length||this.isUpdating||this.update())}}},ve=ge,_e=(a("6138"),Object(g["a"])(ve,pe,fe,!1,null,"68bac5b6",null)),ye=_e.exports,xe=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{color:e.status,bordered:"","icon-name":"linkIcon"},on:{"ui::collapse::toggle":e.checkTypes},scopedSlots:e._u([{key:"icon",fn:function(){return[e.isWizardMode&&e.status===e.statuses.done?a("IconCheckmark"):a("IconCreditCard")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("settings.payment.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{mt:"xxs",mb:"m"}},[a("UiText",[e._v(e._s(e.$t("settings.payment.desc")))])],1),a("UiRow",{staticClass:"dot-list",attrs:{mb:"l"}},[a("div",{staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),e._v(" "+e._s(e.$t("settings.payment.add-new-type-in"))+" "),a("UiLink",{attrs:{href:e.url+"admin/payment-types",external:"",size:"small"}},[e._v(" "+e._s(e.$t("settings.payment.types"))+" ")])],1),a("div",{staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),e._v(" "+e._s(e.$t("settings.payment.press-refresh"))+" "),a("b",[e._v(e._s(e.$t("settings.refresh-types")))])],1)]),a("UiRow",{staticClass:"select-box",attrs:{mb:"s"}},[a("div",{staticClass:"select-box__row select-box__row_head"},[a("div",{staticClass:"select-box__col"},[a("div",{staticClass:"select-box__title"},[e._v(e._s(e.$t("prestashop")))]),a("UiIcon",{staticClass:"select-box__icon",attrs:{name:"arrowDoublesidedHorizontal"}})],1),a("div",{staticClass:"select-box__col"},[a("div",{staticClass:"select-box__title"},[e._v(e._s(e.$t("crm")))]),a("UiButton",{attrs:{type:"tertiary",size:"sm",disabled:e.isUpdating},on:{click:e.update}},[e.isUpdating?a("UiIcon",{attrs:{name:"circleLoading"}}):a("IconRefresh"),e._v(" "+e._s(e.$t("settings.refresh-types"))+" ")],1)],1)]),e._l(e.payments,(function(t,s){return a("div",{key:"delivery-"+s,staticClass:"select-box__row"},[a("div",{staticClass:"select-box__col select-box__col_name"},[e._v(e._s(t.name))]),a("div",{staticClass:"select-box__col"},[a("UiSelect",{attrs:{placeholder:e.$t("settings.payment.select"),filtered:"",clearable:""},model:{value:t.value,callback:function(a){e.$set(t,"value",a)},expression:"payment.value"}},e._l(e.paymentTypes(t.value),(function(e,t){return a("UiOption",{key:"type-"+s+"-"+t,attrs:{value:e.code,label:e.name}})})),1)],1)])}))],2),a("UiRow",{attrs:{pt:"xxs"}},[a("UiInfoBox",{attrs:{icon:"info-outlined"},scopedSlots:e._u([{key:"description",fn:function(){return[e._v(" "+e._s(e.$t("settings.payment.notice.after-setup"))+" "),a("b",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("prestashop")))]),a("b",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("settings.payment.notice.improve")))]),a("b",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("settings.payment.notice.payment")))]),a("UiLink",{attrs:{href:e.paymentSettingsLink,external:"",size:"small"}},[e._v(e._s(e.$t("settings.payment.notice.settings")))]),e._v(" , "+e._s(e.$t("settings.payment.notice.restrictions"))+" ")]},proxy:!0}])})],1),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},we=[],Ce=(a("b0c0"),window.$appData.main.payment.cms),ke=window.$appData.main.payment.crm,Se=window.$appData.main.payment.setting,Ue=window.$appData.controller.payments,$e={name:"PaymentTypes",components:{SaveErrors:re},mixins:[K],props:{url:{type:String,default:""},isWizardMode:{type:Boolean,default:!1}},data:function(){return{payments:Ce.map((function(e){return{name:e.name,id:e.code,value:null===Se||void 0===Se[e.code]?"":Se[e.code]}})),paymentTypesCRM:ke,paymentSettingsLink:Ue,isUpdating:!1,isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{paymentsSetting:function(){return JSON.stringify(this.payments.reduce((function(e,t){return e[t.id]=t.value,e}),{}))},form:function(){return{payment:this.paymentsSetting}}},methods:{paymentTypes:function(e){var t=this;return this.paymentTypesCRM.filter((function(a){for(var s=!1,n=0;n0&&(e.paymentTypesCRM=a.payment),e.isUpdating=!1,e.$console.debug(a);case 7:case"end":return t.stop()}}),t)})))()},apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),e.isLoading=!1;case 7:case"end":return t.stop()}}),t)})))()},statusChanged:function(e){this.status=e,this.isWizardMode||this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)},checkTypes:function(e){this.isWizardMode&&e&&(0!==this.paymentTypesCRM.length||this.isUpdating||this.update())}}},Re=$e,Oe=Object(g["a"])(Re,xe,we,!1,null,null,null),ze=Oe.exports,Ie=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{color:e.status,bordered:"","icon-name":"linkIcon"},on:{"ui::collapse::toggle":e.checkTypes},scopedSlots:e._u([{key:"icon",fn:function(){return[e.isWizardMode&&e.status===e.statuses.done?a("IconCheckmark"):a("IconСheckmarkSquare")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("settings.statuses.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{mt:"xxs",mb:"m"}},[a("UiText",[e._v(e._s(e.$t("settings.statuses.desc")))])],1),a("UiRow",{staticClass:"dot-list",attrs:{mb:"l"}},[a("div",{staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),e._v(" "+e._s(e.$t("settings.statuses.add-new-type-in"))+" "),a("UiLink",{attrs:{href:e.url+"admin/statuses",external:"",size:"small"}},[e._v(" "+e._s(e.$t("settings.statuses.types"))+" ")])],1),a("div",{staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),e._v(" "+e._s(e.$t("settings.statuses.press-refresh"))+" "),a("b",[e._v(e._s(e.$t("settings.statuses.refresh")))])],1)]),a("UiRow",{staticClass:"select-box",attrs:{mb:"s"}},[a("div",{staticClass:"select-box__row select-box__row_head"},[a("div",{staticClass:"select-box__col"},[a("div",{staticClass:"select-box__title"},[e._v(e._s(e.$t("prestashop")))]),a("UiIcon",{staticClass:"select-box__icon",attrs:{name:"arrowDoublesidedHorizontal"}})],1),a("div",{staticClass:"select-box__col"},[a("div",{staticClass:"select-box__title"},[e._v(e._s(e.$t("crm")))]),a("UiButton",{attrs:{type:"tertiary",size:"sm",disabled:e.isUpdating},on:{click:e.update}},[e.isUpdating?a("UiIcon",{attrs:{name:"circleLoading"}}):a("IconRefresh"),e._v(" "+e._s(e.$t("settings.statuses.refresh"))+" ")],1)],1)]),e._l(e.statusesCMS,(function(t,s){return a("div",{key:"delivery-"+s,staticClass:"select-box__row"},[a("div",{staticClass:"select-box__col select-box__col_name"},[e._v(e._s(t.name))]),a("div",{staticClass:"select-box__col"},[a("UiSelect",{attrs:{placeholder:e.$t("settings.statuses.select"),"icon-left":"search",filtered:"",clearable:""},model:{value:t.value,callback:function(a){e.$set(t,"value",a)},expression:"statusCMS.value"}},e._l(e.statusesCRM,(function(s,n){return a("UiOptionGroup",{key:n,attrs:{label:s.name},scopedSlots:e._u([{key:"option",fn:function(){return[a("UiInputDropdown",{attrs:{size:"xs",background:e.getGroupInfo(s).background,"text-color":e.getGroupInfo(s).textColor}},[e._v(" "+e._s(s.name)+" ")])]},proxy:!0}],null,!0)},e._l(s.statuses,(function(s,o){return a("UiOption",{key:n+"-"+o,attrs:{label:s.name,value:s.code,description:s.code,disabled:e.statusesCRMDisabled(s.code,t.code)}})})),1)})),1)],1)])}))],2),a("UiRow",{attrs:{pt:"xxs"}},[a("UiInfoBox",{attrs:{icon:"info-outlined"},scopedSlots:e._u([{key:"description",fn:function(){return[e._v(" "+e._s(e.$t("settings.statuses.notice"))+" ")]},proxy:!0}])})],1),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[e.isWizardMode?a("UiButton",{attrs:{size:"sm",state:"success",disabled:e.isLoading},on:{click:e.run}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):[a("UiIcon",{attrs:{name:"play"}}),e._v(" "+e._s(e.$t("run"))+" ")]],2):a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},Me=[],Te=window.$appData.main.status.cms,je=window.$appData.main.status.crm,Le=window.$appData.main.status.setting,De={name:"OrderStatuses",components:{SaveErrors:re},mixins:[K],props:{url:{type:String,default:""},isWizardMode:{type:Boolean,default:!1}},data:function(){return{statusesCMS:Te.map((function(e){return{name:e.label,code:e.id,value:null===Le||void 0===Le[e.id]?"":Le[e.id]}})),statusesCRM:je,isUpdating:!1,isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{statusesSettings:function(){return JSON.stringify(this.statusesCMS.reduce((function(e,t){return e[t.code]=t.value,e}),{}))},form:function(){return{status:this.statusesSettings}}},methods:{statusesCRMDisabled:function(e,t){for(var a=0;a0&&(e.statusesCRM=a.status),e.isUpdating=!1,e.$console.debug(a);case 7:case"end":return t.stop()}}),t)})))()},apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),e.isLoading=!1;case 7:case"end":return t.stop()}}),t)})))()},statusChanged:function(e){this.status=e,this.isWizardMode||this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)},checkTypes:function(e){this.isWizardMode&&e&&(0!==this.statusesCRM.length||this.isUpdating||this.update())},run:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.apply();case 2:!0!==e.result.success||null!==e.result.errors&&0!==e.result.errors.length||window.location.reload();case 3:case"end":return t.stop()}}),t)})))()}}},Ee=De,Pe=Object(g["a"])(Ee,Ie,Me,!1,null,null,null),Ae=Pe.exports,Be=window.$appData.main.connection,Ne={name:"GeneralSettings",components:{ConnectionSettings:ue,DeliveriesTypes:ye,PaymentTypes:ze,OrderStatuses:Ae},mixins:[V],data:function(){return{box:"",url:Be.url,isWizardMode:!Be.url||!Be.apiKey}},methods:{onExpandCancelled:function(e){var t=this;this.showConfirm((function(){e.boxEventEmitter(e.actual,"reset"),t.$nextTick((function(){t.box=e.tried}))}))},onUrlSaved:function(e){this.url=e}}},Ge=Ne,qe=Object(g["a"])(Ge,q,W,!1,null,null,null),We=qe.exports,He=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("UiCollapseGroupNext",{model:{value:e.box,callback:function(t){e.box=t},expression:"box"}},[a("AdvancedModuleSettings"),a("HistorySync"),a("StockSync"),a("AbandonedBaskets"),a("DataCollection"),a("OnlineConsultant")],1)],1)},Fe=[],Je=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{color:e.status,bordered:""},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconSettings")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("advanced.main.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiSwitch",{attrs:{label:e.$t("advanced.main.corporate.label")},scopedSlots:e._u([{key:"desc",fn:function(){return[a("div",{domProps:{innerHTML:e._s(e.$t("advanced.main.corporate.desc"))}})]},proxy:!0}]),model:{value:e.corporate,callback:function(t){e.corporate=t},expression:"corporate"}}),a("UiSwitch",{attrs:{label:e.$t("advanced.main.number-send.label")},scopedSlots:e._u([{key:"desc",fn:function(){return[a("div",{domProps:{innerHTML:e._s(e.$t("advanced.main.number-send.desc"))}})]},proxy:!0}]),model:{value:e.numberSend,callback:function(t){e.numberSend=t},expression:"numberSend"}}),a("UiSwitch",{attrs:{label:e.$t("advanced.main.number-receive.label")},scopedSlots:e._u([{key:"desc",fn:function(){return[a("div",{domProps:{innerHTML:e._s(e.$t("advanced.main.number-receive.desc"))}})]},proxy:!0}]),model:{value:e.numberReceive,callback:function(t){e.numberReceive=t},expression:"numberReceive"}}),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},Ve=[],Ke=window.$appData.additional.settings,Ye={name:"AdvancedModuleSettings",components:{SaveErrors:re},mixins:[K],data:function(){return{corporate:Ke.corporate,numberSend:Ke.numberSend,numberReceive:Ke.numberReceive,isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{form:function(){return{enableCorporate:this.corporate,enableOrderNumberSending:this.numberSend,enableOrderNumberReceiving:this.numberReceive}}},methods:{apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),e.isLoading=!1;case 7:case"end":return t.stop()}}),t)})))()},statusChanged:function(e){this.status=e,this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)}}},Xe=Ye,Qe=(a("2773"),Object(g["a"])(Xe,Je,Ve,!1,null,"0fd3425e",null)),Ze=Qe.exports,et=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{color:e.status,bordered:""},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconCartOff")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("advanced.carts.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{mt:"xxs",mb:"l"}},[a("UiText",{attrs:{size:"body"},domProps:{innerHTML:e._s(e.$t("advanced.carts.desc"))}})],1),a("UiSwitch",{attrs:{label:e.$t("advanced.carts.enable"),desc:e.$t("advanced.carts.hint")},model:{value:e.synchronizeCartsActive,callback:function(t){e.synchronizeCartsActive=t},expression:"synchronizeCartsActive"}}),a("UiCollapse",{attrs:{open:e.synchronizeCartsActive}},[a("UiRow",{attrs:{mt:"m","max-width":"432"}},[a("UiRow",{staticClass:"switch-content",attrs:{mt:"m"}},[a("UiField",{attrs:{"area-id":"order-status",label:e.$t("advanced.carts.status.label"),"tooltip-text":e.$t("advanced.carts.status.hint")}},[a("UiSelect",{attrs:{"area-id":"order-status",placeholder:e.$t("advanced.carts.status.placeholder"),filtered:"",clearable:""},model:{value:e.synchronizedCartStatus,callback:function(t){e.synchronizedCartStatus=t},expression:"synchronizedCartStatus"}},e._l(e.statusesCRM,(function(t,s){return a("UiOptionGroup",{key:s,attrs:{label:t.name},scopedSlots:e._u([{key:"option",fn:function(){return[a("UiInputDropdown",{attrs:{size:"xs",background:e.getGroupInfo(t).background,"text-color":e.getGroupInfo(t).textColor}},[e._v(" "+e._s(t.name)+" ")])]},proxy:!0}],null,!0)},e._l(t.statuses,(function(e,t){return a("UiOption",{key:s+"-"+t,attrs:{label:e.name,value:e.code,description:e.code}})})),1)})),1)],1)],1),a("UiRow",{staticClass:"switch-content",attrs:{mt:"m"}},[a("UiField",{attrs:{"area-id":"order-status",label:e.$t("advanced.carts.time.label"),"tooltip-text":e.$t("advanced.carts.time.hint")}},[a("UiSelect",{attrs:{"area-id":"order-status",placeholder:e.$t("advanced.carts.time.placeholder")},model:{value:e.synchronizedCartDelay,callback:function(t){e.synchronizedCartDelay=t},expression:"synchronizedCartDelay"}},e._l(e.delaysTime,(function(t,s){return a("UiOption",{key:"status-"+s,attrs:{label:e.$t("advanced.carts.time.value."+t),value:t}})})),1)],1)],1)],1)],1),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},tt=[],at=window.$appData.main.status.crm,st=window.$appData.additional.carts,nt={name:"AbandonedBaskets",components:{SaveErrors:re},mixins:[K],data:function(){return{synchronizeCartsActive:st.synchronizeCartsActive,synchronizedCartStatus:st.synchronizedCartStatus,synchronizedCartDelay:st.synchronizedCartDelay,delaysTime:st.delays,isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{statusesCRM:function(){return at},form:function(){return{synchronizeCartsActive:this.synchronizeCartsActive,synchronizedCartStatus:this.synchronizedCartStatus,synchronizedCartDelay:this.synchronizedCartDelay}}},methods:{getGroupInfo:function(e){var t;return null!==(t=Z[e.code])&&void 0!==t?t:Q},apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),e.isLoading=!1;case 7:case"end":return t.stop()}}),t)})))()},statusChanged:function(e){this.status=e,this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)}}},ot=nt,rt=Object(g["a"])(ot,et,tt,!1,null,null,null),it=rt.exports,ct=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{color:e.status,bordered:""},scopedSlots:e._u([{key:"icon",fn:function(){return[a("UiIcon",{attrs:{name:"linkIcon"}})]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("advanced.sync.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{mt:"xxs",mb:"l"}},[a("UiText",{attrs:{size:"body"},domProps:{innerHTML:e._s(e.$t("advanced.sync.desc"))}})],1),a("UiSwitch",{attrs:{label:e.$t("advanced.sync.enable"),desc:e.$t("advanced.sync.hint")},model:{value:e.historySync,callback:function(t){e.historySync=t},expression:"historySync"}}),a("UiCollapse",{attrs:{open:e.historySync}},[a("UiRow",{attrs:{mt:"m","max-width":"432"}},[a("UiRow",{staticClass:"switch-content",attrs:{mt:"m"}},[a("UiField",{attrs:{"area-id":"sync-status",label:e.$t("advanced.sync.delivery.label"),"tooltip-text":e.$t("advanced.sync.delivery.hint")}},[a("UiSelect",{attrs:{"area-id":"order-status",placeholder:e.$t("advanced.sync.delivery.placeholder"),filtered:"",clearable:""},model:{value:e.deliveryTypeDefault,callback:function(t){e.deliveryTypeDefault=t},expression:"deliveryTypeDefault"}},e._l(e.deliveryTypesCMS,(function(e,t){return a("UiOption",{key:"status-"+t,attrs:{label:e.label,value:e.id}})})),1)],1)],1),a("UiRow",{staticClass:"switch-content",attrs:{mt:"m"}},[a("UiField",{attrs:{"area-id":"order-status",label:e.$t("advanced.sync.payment.label"),"tooltip-text":e.$t("advanced.sync.payment.hint")}},[a("UiSelect",{attrs:{"area-id":"order-status",placeholder:e.$t("advanced.sync.payment.placeholder"),filtered:"",clearable:""},model:{value:e.paymentTypeDefault,callback:function(t){e.paymentTypeDefault=t},expression:"paymentTypeDefault"}},e._l(e.paymentTypesCMS,(function(e,t){return a("UiOption",{key:"status-"+t,attrs:{label:e.name,value:e.code}})})),1)],1)],1)],1)],1),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},lt=[],dt=window.$appData.additional.history,ut={name:"HistorySync",components:{SaveErrors:re},mixins:[K],data:function(){return{historySync:dt.enabled,deliveryTypeDefault:dt.deliveryDefault,paymentTypeDefault:dt.paymentDefault,isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{deliveryTypesCMS:function(){return dt.delivery},paymentTypesCMS:function(){return dt.payment},form:function(){return{enableHistoryUploads:this.historySync,deliveryDefault:this.deliveryTypeDefault,paymentDefault:this.paymentTypeDefault}}},methods:{apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),e.isLoading=!1;case 7:case"end":return t.stop()}}),t)})))()},statusChanged:function(e){this.status=e,this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)}}},pt=ut,ft=Object(g["a"])(pt,ct,lt,!1,null,null,null),ht=ft.exports,mt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{color:e.status,bordered:""},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconOrder")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("advanced.stocks.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiSwitch",{attrs:{label:e.$t("advanced.stocks.enable"),desc:e.$t("advanced.stocks.hint")},model:{value:e.enableBalancesReceiving,callback:function(t){e.enableBalancesReceiving=t},expression:"enableBalancesReceiving"}}),a("UiRow",{attrs:{mt:"m",mb:"l"}},[a("UiText",{attrs:{size:"body"},domProps:{innerHTML:e._s(e.$t("advanced.stocks.desc"))}})],1),a("UiRow",{attrs:{mt:"m","max-width":"432"}},[a("UiRow",{attrs:{mt:"m"}},[a("UiField",{attrs:{"area-id":"stock-status",label:e.$t("advanced.stocks.paid.label"),"tooltip-text":e.$t("advanced.stocks.paid.hint")}},[a("UiSelect",{attrs:{placeholder:e.$t("advanced.stocks.paid.placeholder"),"icon-left":"search",filtered:"",clearable:""},model:{value:e.outOfStockStatusPaid,callback:function(t){e.outOfStockStatusPaid=t},expression:"outOfStockStatusPaid"}},e._l(e.statusesCRM,(function(t,s){return a("UiOptionGroup",{key:s,attrs:{label:t.name},scopedSlots:e._u([{key:"option",fn:function(){return[a("UiInputDropdown",{attrs:{size:"xs",background:e.getGroupInfo(t).background,"text-color":e.getGroupInfo(t).textColor}},[e._v(" "+e._s(t.name)+" ")])]},proxy:!0}],null,!0)},e._l(t.statuses,(function(e,t){return a("UiOption",{key:s+"-"+t,attrs:{label:e.name,value:e.code,description:e.code}})})),1)})),1)],1)],1),a("UiRow",{attrs:{mt:"m"}},[a("UiField",{attrs:{"area-id":"stock-status",label:e.$t("advanced.stocks.not-paid.label"),"tooltip-text":e.$t("advanced.stocks.not-paid.hint")}},[a("UiSelect",{attrs:{placeholder:e.$t("advanced.stocks.not-paid.placeholder"),"icon-left":"search",filtered:"",clearable:""},model:{value:e.outOfStockStatusNotPaid,callback:function(t){e.outOfStockStatusNotPaid=t},expression:"outOfStockStatusNotPaid"}},e._l(e.statusesCRM,(function(t,s){return a("UiOptionGroup",{key:s,attrs:{label:t.name},scopedSlots:e._u([{key:"option",fn:function(){return[a("UiInputDropdown",{attrs:{size:"xs",background:e.getGroupInfo(t).background,"text-color":e.getGroupInfo(t).textColor}},[e._v(" "+e._s(t.name)+" ")])]},proxy:!0}],null,!0)},e._l(t.statuses,(function(e,t){return a("UiOption",{key:s+"-"+t,attrs:{label:e.name,value:e.code,description:e.code}})})),1)})),1)],1)],1)],1),a("UiRow",{attrs:{mt:"l",pt:"xxs"}},[a("UiInfoBox",{attrs:{icon:"info-outlined"},scopedSlots:e._u([{key:"description",fn:function(){return[e._v(" "+e._s(e.$t("advanced.stocks.notice"))+" ")]},proxy:!0}])})],1),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},bt=[],gt=window.$appData.main.status.crm,vt=window.$appData.additional.stocks,_t={name:"StockSync",components:{SaveErrors:re},mixins:[K],data:function(){return{enableBalancesReceiving:vt.enabled,outOfStockStatusPaid:vt.statuses.out_of_stock_paid,outOfStockStatusNotPaid:vt.statuses.out_of_stock_not_paid,isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{statusesCRM:function(){return gt},outOfStockStatus:function(){return{out_of_stock_paid:this.outOfStockStatusPaid,out_of_stock_not_paid:this.outOfStockStatusNotPaid}},form:function(){return{enableBalancesReceiving:this.enableBalancesReceiving,outOfStockStatus:JSON.stringify(this.outOfStockStatus)}}},methods:{getGroupInfo:function(e){var t;return null!==(t=Z[e.code])&&void 0!==t?t:Q},apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),e.isLoading=!1;case 7:case"end":return t.stop()}}),t)})))()},statusChanged:function(e){this.status=e,this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)}}},yt=_t,xt=Object(g["a"])(yt,mt,bt,!1,null,null,null),wt=xt.exports,Ct=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{color:e.status,bordered:""},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconVisible")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("advanced.collector.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{mt:"xxs",mb:"m"}},[a("UiText",{attrs:{size:"body"},domProps:{innerHTML:e._s(e.$t("advanced.collector.desc.body"))}})],1),a("UiRow",{attrs:{pt:"xxs",mb:"xl"}},[a("div",{staticClass:"info"},[a("div",{staticClass:"info__col"},[a("IconTargetLocation",{staticClass:"info__icon info__icon_green"}),a("div",{staticClass:"info__title"},[e._v(e._s(e.$t("advanced.collector.desc.left.title")))]),a("div",{staticClass:"info__text"},[e._v(e._s(e.$t("advanced.collector.desc.left.body")))])],1),a("div",{staticClass:"info__col"},[a("IconFlash",{staticClass:"info__icon"}),a("div",{staticClass:"info__title"},[e._v(e._s(e.$t("advanced.collector.desc.right.title")))]),a("div",{staticClass:"info__text"},[e._v(e._s(e.$t("advanced.collector.desc.right.body")))])],1)])]),a("UiSwitch",{attrs:{label:e.$t("advanced.collector.activate.label"),desc:e.$t("advanced.collector.activate.hint")},model:{value:e.collectorActive,callback:function(t){e.collectorActive=t},expression:"collectorActive"}}),a("UiCollapse",{attrs:{open:e.collectorActive}},[a("UiRow",{staticClass:"switch-content",attrs:{mt:"m","max-width":"435"}},[a("UiInfoBox",{attrs:{icon:"info-outlined"},scopedSlots:e._u([{key:"description",fn:function(){return[e._v(" "+e._s(e.$t("advanced.collector.notice.copy"))+" "),a("b",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("advanced.collector.notice.settings")))]),a("b",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("advanced.collector.notice.integration")))]),e._v(" "),a("UiLink",{attrs:{href:e.url+"admin/integration/collector",external:"",accent:"",size:"small"}},[e._v(" "+e._s(e.$t("advanced.collector.notice.collector")))])]},proxy:!0}])}),a("UiRow",{attrs:{mt:"m"}},[a("UiField",{attrs:{"area-id":"site-id",label:e.$t("advanced.collector.label")},scopedSlots:e._u([{key:"subtitle",fn:function(){return[a("UiLink",{attrs:{size:"small"},on:{click:function(t){e.hintId=!0}}},[e._v(e._s(e.$t("hint")))])]},proxy:!0}])},[a("UiInput",{attrs:{id:"site-id",placeholder:e.$t("advanced.collector.placeholder")},model:{value:e.collectorKey,callback:function(t){e.collectorKey=t},expression:"collectorKey"}})],1)],1)],1)],1),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")]),a("UiPopup",{attrs:{type:"hint"},scopedSlots:e._u([{key:"footer",fn:function(){return[e._v(" "+e._s(e.$t("advanced.collector.hint"))+" ")]},proxy:!0}]),model:{value:e.hintId,callback:function(t){e.hintId=t},expression:"hintId"}},[a("img",{attrs:{src:e.$i18n.getImage("where-is-search-3.png"),alt:"picture"}})])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},kt=[],St=window.$appData.additional.collector,Ut=window.$appData.main.connection.url,$t={name:"DataCollection",components:{SaveErrors:re},mixins:[K],data:function(){return{collectorActive:St.collectorActive,collectorKey:St.collectorKey,url:Ut,hintId:!1,isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{form:function(){return{collectorActive:this.collectorActive,collectorKey:this.collectorKey}}},methods:{apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),e.isLoading=!1;case 7:case"end":return t.stop()}}),t)})))()},statusChanged:function(e){this.status=e,this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)}}},Rt=$t,Ot=(a("5b77"),Object(g["a"])(Rt,Ct,kt,!1,null,"c6bbe4ea",null)),zt=Ot.exports,It=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{color:e.status,bordered:""},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconSmsChat")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("advanced.consultant.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{mt:"xxs",mb:"s"}},[a("UiText",{attrs:{size:"body"},domProps:{innerHTML:e._s(e.$t("advanced.consultant.desc"))}})],1),a("UiRow",{attrs:{"max-width":"563"}},[a("UiInfoBox",{attrs:{icon:"info-outlined"},scopedSlots:e._u([{key:"description",fn:function(){return[e._v(" "+e._s(e.$t("advanced.consultant.notice.access"))+" "),a("b",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("advanced.consultant.notice.settings")))]),a("b",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("advanced.consultant.notice.integration")))]),a("b",{staticClass:"chain-arrow"},[a("UiLink",{attrs:{href:e.integrationListUrl,size:"small",accent:"",external:""}},[e._v(e._s(e.$t("advanced.consultant.notice.marketplace")))])],1),a("b",[e._v(e._s(e.$t("advanced.consultant.notice.consultant")))])]},proxy:!0}])}),a("UiRow",{attrs:{mt:"m"}},[a("UiField",{attrs:{"area-id":"consultant-code",label:e.$t("advanced.consultant.label")},scopedSlots:e._u([{key:"subtitle",fn:function(){return[a("UiLink",{attrs:{size:"small"},on:{click:function(t){e.hintConsultantCode=!0}}},[e._v(" "+e._s(e.$t("hint")))])]},proxy:!0}])},[a("UiTextarea",{attrs:{id:"consultant-code",resize:"vertical",placeholder:e.$t("advanced.consultant.placeholder")},model:{value:e.consultantScript,callback:function(t){e.consultantScript=t},expression:"consultantScript"}})],1)],1)],1),a("SaveErrors",{attrs:{errors:e.result.errors,warnings:e.result.warnings,success:e.result.success},on:{"status-changed":e.statusChanged}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",disabled:e.isLoading},on:{click:e.apply}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("span",[e._v(e._s(e.$t("save")))])],1),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")]),a("UiPopup",{attrs:{type:"hint"},scopedSlots:e._u([{key:"footer",fn:function(){return[e._v(" "+e._s(e.$t("advanced.consultant.hint"))+" ")]},proxy:!0}]),model:{value:e.hintConsultantCode,callback:function(t){e.hintConsultantCode=t},expression:"hintConsultantCode"}},[a("img",{attrs:{src:e.$i18n.getImage("where-is-search-4.png"),alt:"picture"}})])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},Mt=[],Tt=window.$appData.additional.consultant,jt=window.$appData.main.connection.url,Lt={name:"OnlineConsultant",components:{SaveErrors:re},mixins:[K],data:function(){return{hintConsultantCode:!1,consultantScript:Tt.consultantScript,url:jt,isLoading:!1,result:{},status:ee.default,statuses:ee}},computed:{form:function(){return{consultantScript:this.consultantScript}},integrationListUrl:function(){return this.url.replace(/~*\/+$/,"")+"/admin/integration/list"}},methods:{apply:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,e.result={},t.next=4,e.$store.dispatch("settings/update",e.form);case 4:e.result=t.sent,e.$console.debug(e.result),e.isLoading=!1;case 7:case"end":return t.stop()}}),t)})))()},statusChanged:function(e){this.status=e,this.status!==this.statuses.done||this.done||setTimeout(function(){this.status=this.statuses.default}.bind(this),3e3)}}},Dt=Lt,Et=Object(g["a"])(Dt,It,Mt,!1,null,null,null),Pt=Et.exports,At={name:"AdvancedSettings",components:{AdvancedModuleSettings:Ze,HistorySync:ht,StockSync:wt,AbandonedBaskets:it,DataCollection:zt,OnlineConsultant:Pt},data:function(){return{box:""}}},Bt=At,Nt=Object(g["a"])(Bt,He,Fe,!1,null,null,null),Gt=Nt.exports,qt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("UiRow",{attrs:{mb:"12"}},[a("UiText",{attrs:{size:"title-02"}},[e._v(e._s(e.$t("check.title")))])],1),a("UiRow",{attrs:{mb:"s"}},[a("UiText",{attrs:{size:"body"}},[e._v(e._s(e.$t("check.text.duplicate")))])],1),a("UiRow",{attrs:{mb:"s"}},[a("UiText",{attrs:{size:"body"}},[e._v(" "+e._s(e.$t("check.text.go-to"))+" "),a("span",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("check.text.simla")))]),a("span",{staticClass:"chain-arrow"},[e._v(e._s(e.$t("check.text.sales")))]),a("UiLink",{attrs:{href:e.orderLinkCRM}},[e._v(e._s(e.$t("check.text.orders")))]),e._v(" "+e._s(e.$t("check.text.and-check-order"))+" ")],1)],1),a("UiRow",{attrs:{mb:"s"}},[a("img",{staticClass:"checking-work-image",attrs:{src:e.$i18n.getImage("checking-work-2.png"),alt:""}})]),a("UiRow",{attrs:{mb:"s"}},[a("UiText",{attrs:{size:"body"}},[e._v(e._s(e.$t("check.text.check-options")))])],1),a("UiRow",{attrs:{mb:"s"}},[a("img",{staticClass:"checking-work-image",attrs:{src:e.$i18n.getImage("checking-work-3.png"),alt:""}})]),a("UiRow",{attrs:{mb:"s"}},[a("UiText",{attrs:{size:"body"}},[e._v(e._s(e.$t("check.text.remove-tests")))])],1),a("UiRow",{attrs:{mb:"s"}},[a("UiText",{attrs:{size:"body"}},[e._v(e._s(e.$t("check.text.if-has-any-questions"))+" "),a("UiLink",{attrs:{href:"mailto:"+e.$t("support.mail")+"?subject="+e.$t("support.subject")+"&body="+e.$t("support.body")}},[e._v(e._s(e.$t("check.text.ask-support")))]),e._v(" "+e._s(e.$t("check.text.or-read"))+" "),a("UiLink",{attrs:{href:"https://docs.retailcrm.es/Users/Integration/SiteModules/PrestaShop"}},[e._v(e._s(e.$t("check.text.materials")))])],1)],1)],1)},Wt=[],Ht={name:"CheckingWork",data:function(){return{linkCRM:window.$appData.main.connection.url}},computed:{orderLinkCRM:function(){return this.linkCRM.replace(/~*\/+$/,"")+"/orders/"}}},Ft=Ht,Jt=(a("b0a6"),Object(g["a"])(Ft,qt,Wt,!1,null,"7c51d30c",null)),Vt=Jt.exports,Kt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("UiCollapseGroupNext",{model:{value:e.box,callback:function(t){e.box=t},expression:"box"}},[a("WorkWithOrders"),a("UnloadedOrders")],1),a("UiRow",{attrs:{mb:"12",mt:"m"}},[a("UiText",{attrs:{size:"title-02"}},[e._v(" "+e._s(e.$t("orders.title"))+" ")])],1),a("UiRow",{attrs:{mt:"m"}},[a("OrdersTable")],1)],1)},Yt=[],Xt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconOrder")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("orders.export.title"))+" "),e.isOrdersCountLoad?a("UiText",{staticClass:"settings-box__label",attrs:{size:"body",tag:"span"}},[a("b",[e._v(e._s(e.orders.exportCount))]),e._v(" "+e._s(e.$t("piece.short"))+" ")]):e._e()]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{mt:"xxs",mb:"m"}},[a("UiText",{attrs:{size:"body"}},[e._v(" "+e._s(e.$t("orders.export.desc"))+" ")])],1),a("SearchUnloadedOrder",{attrs:{"is-orders-count-load":e.isOrdersCountLoad,orders:e.orders,customers:e.customers}}),e.isOrdersCountLoad?a("UiRow",{staticClass:"dot-list",attrs:{mt:"m"}},e._l(e.$t("orders.export.advices",""),(function(t){return a("div",{key:t,staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),a("div",{domProps:{innerHTML:e._s(t)}})],1)})),0):e._e()]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},Qt=[],Zt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"search-order"},[e.isOrdersCountLoad?a("div",[e.isDischargeComplete?e._e():a("UiRow",{staticClass:"select-box",attrs:{"max-width":"546"}},[a("div",{staticClass:"select-box__row"},[a("div",{staticClass:"select-box__col"},[a("UiText",{staticClass:"search-order__title"},[e._v(" "+e._s(e.$t("orders.export.count.total"))+" ")]),a("UiText",{attrs:{size:"title-01",accent:""}},[e._v(" "+e._s(e.orders.count)+" ")])],1),a("div",{staticClass:"select-box__col"},[a("UiText",{staticClass:"search-order__title"},[e._v(" "+e._s(e.$t("orders.export.count.unloaded"))+" ")]),a("UiText",{attrs:{size:"title-01",accent:""}},[e._v(" "+e._s(e.orders.exportCount)+" ")])],1),a("div",{staticClass:"select-box__col"},[a("UiText",{staticClass:"search-order__title"},[e._v(" "+e._s(e.$t("orders.export.count.customers"))+" ")]),a("UiText",{attrs:{size:"title-01",accent:""}},[e._v(" "+e._s(e.customers.count)+" ")])],1)])]),e.isDischargeStart?e._e():a("UiRow",{attrs:{mt:"xs"}},[e.orders.exportCount?a("UiTooltip",{attrs:{placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiButton",{class:{"export__btn-unloaded":e.orders.exportCount},attrs:{size:"sm",state:"success"},on:{click:e.startExportUnloaded}},[a("UiIcon",{attrs:{name:"play"}}),e._v(" "+e._s(e.$t("orders.export.run"))+" ")],1)]},proxy:!0}],null,!1,507148053)},[a("span",{domProps:{innerHTML:e._s(e.$t("orders.export.run-desc"))}})]):e._e(),e.orders.count?a("UiTooltip",{attrs:{placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiButton",{class:{"export__btn-all":e.orders.exportCount},attrs:{size:"sm",state:"error",type:e.orders.exportCount?"tertiary":"primary"},on:{click:e.startExportAll}},[a("UiIcon",{attrs:{name:"upload"}}),e.orders.exportCount?e._e():a("span",[e._v(" "+e._s(e.$t("orders.export.run-all"))+" ")])],1)]},proxy:!0}],null,!1,2098187379)},[a("span",{domProps:{innerHTML:e._s(e.$t("orders.export.run-all-desc"))}})]):e._e()],1),e.isDischargeStart&&!e.isDischargeComplete?a("UiRow",{staticClass:"search-order__progress",attrs:{mt:"xs"}},[a("UiProgress",{staticClass:"search-order__progress-line",attrs:{"with-background":!1,percent:e.loadPercent,"line-color":"#E9ECEE"}}),a("UiButton",{staticClass:"search-order__pause",attrs:{size:"sm",form:"square",type:"tertiary"},on:{click:e.pauseDischarge}},[e.isPause?a("IconPlayCircle"):a("IconPauseCircle")],1)],1):e._e(),e.isDischargeComplete?a("div",[a("UiIcon",{staticClass:"search-order__done-icon",attrs:{name:"checkmarkCircleOutlined"}}),a("UiText",{staticClass:"search-order__done-text"},[e._v(e._s(e.$t("orders.export.success")))])],1):e._e()],1):a("div",[a("UiText",{staticClass:"search-order__title"},[e._v(" "+e._s(e.$t("orders.export.searching"))+" ")]),a("UiLoader",{staticClass:"search-order__loader",attrs:{overlay:!1}})],1)])},ea=[],ta={name:"SearchUnlodadedOrder",props:{isOrdersCountLoad:{type:Boolean,default:!1},orders:{type:Object,default:function(){return{count:null,exportCount:null,exportStepSize:null}}},customers:{type:Object,default:function(){return{count:null,exportCount:null,exportStepSize:null}}}},data:function(){return{isPause:!1,isDone:!1,isExportAll:!1,isDischargeStart:!1,isDischargeComplete:!1,loadStepOrders:0,loadStepCustomers:0,loadPercent:0}},methods:{startExport:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isDischargeStart=!0,e.isDone=!1,e.loadStepOrders=0,e.loadStepCustomers=0,t.next=6,e.export();case 6:case"end":return t.stop()}}),t)})))()},startExportAll:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isExportAll=!0,t.next=3,e.startExport();case 3:case"end":return t.stop()}}),t)})))()},startExportUnloaded:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isExportAll=!1,t.next=3,e.startExport();case 3:case"end":return t.stop()}}),t)})))()},pauseDischarge:function(){this.isPause=!this.isPause,this.isPause||this.export()},preparePayload:function(){var e={};return this.loadStepOrders*this.orders.exportStepSizethis.orders.count&&(e=this.orders.count);var t=this.loadStepCustomers*this.customers.exportStepSize;t>this.customers.exportCount&&(t=this.customers.exportCount);var a=e+t+(this.isDone?1:0),s=this.orders.count+this.customers.exportCount+1;this.$console.info("Processed: ",a,"Total: ",s),this.loadPercent=Math.round(100*a/s)},updatePercentUnloaded:function(){var e=this.loadStepOrders*this.orders.exportStepSize;e>this.orders.exportCount&&(e=this.orders.exportCount);var t=e+(this.isDone?1:0),a=this.orders.exportCount+1;this.$console.info("Processed: ",t,"Total: ",a),this.loadPercent=Math.round(100*t/a)},export:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(!e.isPause){t.next=2;break}return t.abrupt("return");case 2:if(!e.isDone){t.next=5;break}return setTimeout((function(){e.isDischargeComplete=!0}),250),t.abrupt("return");case 5:if(a=e.isExportAll?e.preparePayload():e.preparePayloadUnloaded(),!a){t.next=12;break}return t.next=9,e.$store.dispatch("export/export",a);case 9:s=t.sent,void 0!==s.success&&s.success||alert(s.errorMsg),e.$console.debug(s);case 12:return e.isExportAll?e.updatePercent():e.updatePercentUnloaded(),t.next=15,e.export();case 15:case"end":return t.stop()}}),t)})))()}}},aa=ta,sa=(a("b3a9"),Object(g["a"])(aa,Zt,ea,!1,null,"3708db8a",null)),na=sa.exports,oa={name:"UnloadedOrders",components:{SearchUnloadedOrder:na},mixins:[K],data:function(){return{isOrdersCountLoad:!1,orders:{count:null,exportCount:null,exportStepSize:null},customers:{count:null,exportCount:null,exportStepSize:null}}},mounted:function(){this.isOrdersCountLoad||this.loadCount()},methods:{loadCount:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("export/getCount");case 2:a=t.sent,e.$console.debug(a),void 0!==a.success&&a.success&&void 0!==a.orders&&void 0!==a.customers||alert(a.errorMsg),e.orders=a.orders,e.customers=a.customers,e.isOrdersCountLoad=!0;case 8:case"end":return t.stop()}}),t)})))()}}},ra=oa,ia=(a("6aa8"),Object(g["a"])(ra,Xt,Qt,!1,null,"48505a26",null)),ca=ia.exports,la=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconOrder")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("orders.upload.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{attrs:{mb:"xxs"}},[a("UiText",{attrs:{size:"body"}},[e._v(" "+e._s(e.$t("orders.upload.desc"))+" ")])],1),a("UiRow",{staticClass:"dot-list",attrs:{mt:"12",mb:"28"}},e._l(e.$t("orders.upload.advices",""),(function(t){return a("div",{key:t,staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),a("div",{domProps:{innerHTML:e._s(t)}})],1)})),0),a("UiRow",{attrs:{mb:"12","max-width":"464"}},[a("UiField",{attrs:{"area-id":"order-id",label:"ID заказов"},scopedSlots:e._u([{key:"subtitle",fn:function(){return[a("UiLink",{attrs:{size:"small"},on:{click:function(t){e.hintOrderId=!0}}},[e._v(e._s(e.$t("hint")))])]},proxy:!0}])},[a("UiInput",{attrs:{id:"order-id",placeholder:e.$t("orders.upload.placeholder")},model:{value:e.ordersId,callback:function(t){e.ordersId=t},expression:"ordersId"}})],1)],1),a("UiRow",[a("UiButton",{attrs:{size:"sm"},on:{click:e.upload}},[e._v(" "+e._s(e.$t("orders.upload.btn"))+" ")])],1),a("UiPopup",{attrs:{type:"hint"},scopedSlots:e._u([{key:"footer",fn:function(){return[e._v(" "+e._s(e.$t("orders.upload.hint"))+" ")]},proxy:!0}]),model:{value:e.hintOrderId,callback:function(t){e.hintOrderId=t},expression:"hintOrderId"}},[a("img",{attrs:{src:e.$i18n.getImage("where-is-search-5.png"),alt:"picture"}})])]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},da=[],ua=a("2909"),pa=(a("d3b7"),a("25f0"),a("159b"),a("99af"),a("fb6a"),a("ddb0"),a("4e82"),{name:"WorkWithOrders",mixins:[K],data:function(){return{hintOrderId:!1,ordersId:""}},methods:{upload:function(){this.$store.dispatch("orders/upload",this.partitionId(this.ordersId))},partitionId:function(e){if(""===e)return[];var t=e.split(","),a=t.filter((function(e){return-1===e.toString().indexOf("-")})),s=t.filter((function(e){return-1!==e.toString().indexOf("-")})),n=[];return s.forEach((function(e){var t=e.split("-");n=[].concat(Object(ua["a"])(n),Object(ua["a"])(Object(ua["a"])(Array(+t[1]+1).keys()).slice(+t[0],+t[1]+1)))})),[].concat(Object(ua["a"])(a),Object(ua["a"])(n)).map((function(e){return+e})).sort((function(e,t){return e-t}))}}}),fa=pa,ha=Object(g["a"])(fa,la,da,!1,null,null,null),ma=ha.exports,ba=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("UiRow",{staticClass:"top-bar",attrs:{mb:"m"}},[a("UiRow",{staticClass:"top-bar__search"},[a("UiInput",{staticClass:"top-bar__search-field",attrs:{placeholder:e.$t("orders.table.search.placeholder"),"icon-left":"search"},model:{value:e.CMSId,callback:function(t){e.CMSId=t},expression:"CMSId"}}),a("UiButton",{attrs:{type:"secondary",size:"sm"},on:{click:function(t){return e.searchByReset(e.CMSId)}}},[e._v(" "+e._s(e.$t("orders.table.search.btn"))+" ")])],1),a("UiTabs",{attrs:{type:"radiogroup",size:"sm",rubber:""},on:{changeTab:function(t){return e.searchByReset(e.CMSId)}},model:{value:e.orderStatus,callback:function(t){e.orderStatus=t},expression:"orderStatus"}},[a("UiTabsItem",{attrs:{label:e.$t("orders.table.filter.all")}}),a("UiTabsItem",{attrs:{label:e.$t("orders.table.filter.succeeded")},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconCheckmark")]},proxy:!0}])}),a("UiTabsItem",{attrs:{label:e.$t("orders.table.filter.failed"),icon:"warning"}})],1)],1),a("UiRow",{staticClass:"table-wrapper"},[e.isLoading?a("UiLoader"):e._e(),a("table",{staticClass:"table"},[a("thead",{staticClass:"table__head"},[a("tr",[a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("orders.table.head.date"))+" ")]),a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("orders.table.head.id_cms"))+" ")]),a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("orders.table.head.id_crm"))+" ")]),a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("orders.table.head.status"))+" ")]),a("th")])]),a("tbody",[e.orders.length>0?e._l(e.orders,(function(e,t){return a("OrdersRow",{key:t,attrs:{order:e}})})):[a("tr",{staticClass:"table__row"},[a("td",{staticClass:"table__cell table__cell_center",attrs:{colspan:"5"}},[e.isLoading?e._e():a("UiText",{attrs:{size:"paragraph"}},[e._v(" "+e._s(e.$t("orders.table.not-found"))+" ")])],1)])]],2)]),a("UiRow",{attrs:{mt:"s"}},[e.pagesCount>1?a("UiPagination",{attrs:{"arrow-placement":"end","pages-count":e.pagesCount},on:{currentPageChange:function(t){return e.searchBy(e.CMSId)}},model:{value:e.currentPage,callback:function(t){e.currentPage=t},expression:"currentPage"}}):e._e()],1)],1)],1)},ga=[],va=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("tr",{staticClass:"table__row"},[a("td",{staticClass:"table__cell"},[a("UiText",{attrs:{size:"small"}},[e._v(" "+e._s(e.orderDate)+", "),a("UiText",{attrs:{tag:"span",color:"gray"}},[e._v(" "+e._s(e.orderTime)+" ")])],1)],1),a("td",{staticClass:"table__cell"},[e.order.CMSId?a("UiLink",{attrs:{size:"small",href:e.orderLinkCMS,external:""}},[e._v(" "+e._s(e.order.CMSId)+" ")]):e._e()],1),a("td",{staticClass:"table__cell"},[e.order.CRMId?a("UiLink",{attrs:{size:"small",href:e.orderLinkCRM,external:""}},[e._v(" "+e._s(e.order.CRMId)+" ")]):e._e()],1),a("td",{staticClass:"table__cell"},[e.orderIsLoaded?a("UiText",{staticClass:"table__status",attrs:{size:"small"}},[a("IconCheckmark",{staticClass:"table__icon-status"}),e._v(" "+e._s(e.$t("orders.table.uploaded"))+" ")],1):a("UiText",{staticClass:"table__status",attrs:{size:"small",color:"action"}},[a("UiTooltip",{attrs:{placement:"top"},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiIcon",{staticClass:"table__icon-status table__icon-status_error",attrs:{name:"warning"}}),a("span",{staticClass:"table__status-text"},[e._v(e._s(e.$t("orders.table.failed")))])]},proxy:!0}])},[1===e.order.errors.length?a("span",[e._v(" "+e._s(e.order.errors[0])+" ")]):a("div",e._l(e.order.errors,(function(t,s){return a("div",{key:s,staticClass:"dot-list__item"},[a("IconDot",{staticClass:"dot-list__icon"}),a("div",[e._v(e._s(t))])],1)})),0)])],1)],1),a("td",[a("UiTooltip",{attrs:{placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiButton",{staticClass:"table__button",class:{table__button_visible:e.isLoading||e.isDischargeComplete},attrs:{size:"sm",form:"square",type:"tertiary"},on:{click:e.onRepeatDischarge}},[e.isDischargeComplete?[e.orderIsLoaded?a("IconCheckmark"):a("IconWarningOutlined")]:[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("IconUploadFrom")]],2)]},proxy:!0}])},[e.isDischargeComplete?[e.orderIsLoaded?a("span",[e._v(e._s(e.$t("orders.table.uploaded")))]):a("span",[e._v(e._s(e.$t("orders.table.failed")))])]:[e.isLoading?a("span",[e._v(e._s(e.$t("orders.table.uploading")))]):a("span",[e._v(e._s(e.$t("orders.table.upload")))])]],2)],1)])},_a=[],ya=(a("9911"),a("a15b"),{props:{order:{type:Object,default:function(){}}},data:function(){return{linkCMS:window.$appData.controller.link,linkCRM:window.$appData.main.connection.url,isLoading:!1,isDischargeComplete:!1}},computed:{orderDate:function(){return this.order.datetime.split(" ")[0]},orderTime:function(){var e=this.order.datetime.split(" ");return e.length>1?e[1].substr(0,5):""},orderLinkCMS:function(){return this.linkCMS+"&vieworder=&id_order="+this.order.CMSId},orderLinkCRM:function(){return this.linkCRM.replace(/~*\/+$/,"")+"/orders/"+this.order.CRMId+"/edit"},orderIsLoaded:function(){return void 0===this.order.errors||null===this.order.errors||0===this.order.errors.length},orderError:function(){return this.order.errors.join(", ")}},methods:{onRepeatDischarge:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,t.next=3,e.$store.dispatch("orders/upload",[e.order.CMSId]);case 3:a=t.sent,e.order.datetime=(new Date).toISOString().replace("T"," ").substr(0,19),e.order.errors=a.errors,void 0!==a.success&&!1!==a.success||void 0!==a.errors&&0!==a.errors.length||(e.order.errors=["Unknown error"]),e.isLoading=!1,e.isDischargeComplete=!0,e.$console.debug(a),setTimeout((function(){e.isDischargeComplete=!1}),2e3);case 11:case"end":return t.stop()}}),t)})))()}}}),xa=ya,wa=(a("11eb"),Object(g["a"])(xa,va,_a,!1,null,"5b884189",null)),Ca=wa.exports,ka={name:"OrdersTable",components:{OrdersRow:Ca},data:function(){return{CMSId:"",isLoading:!1,currentPage:1,pagesCount:1,orderStatus:0,orders:[]}},mounted:function(){this.searchBy("")},methods:{partitionId:function(e){if(""===e)return[];var t=e.split(","),a=t.filter((function(e){return-1===e.toString().indexOf("-")})),s=t.filter((function(e){return-1!==e.toString().indexOf("-")})),n=[];return s.forEach((function(e){var t=e.split("-");n=[].concat(Object(ua["a"])(n),Object(ua["a"])(Object(ua["a"])(Array(+t[1]+1).keys()).slice(+t[0],+t[1]+1)))})),[].concat(Object(ua["a"])(a),Object(ua["a"])(n)).map((function(e){return+e})).sort((function(e,t){return e-t}))},searchBy:function(e){var t=this;return Object(f["a"])(regeneratorRuntime.mark((function a(){var s;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return t.isLoading=!0,a.next=3,t.$store.dispatch("orders/search",{orders:t.partitionId(e),page:t.currentPage,filter:t.orderStatus});case 3:s=a.sent,t.$console.debug(s),t.orders=s.orders.map((function(e){return{datetime:e.last_uploaded,CMSId:e.id_order,CRMId:e.id_order_crm,errors:JSON.parse(e.errors)}})),t.currentPage=s.pagination.currentPage,t.pagesCount=s.pagination.totalPageCount,t.isLoading=!1;case 9:case"end":return a.stop()}}),a)})))()},searchByReset:function(e){var t=this;return Object(f["a"])(regeneratorRuntime.mark((function a(){return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:t.pagesCount=0,t.currentPage=1,t.searchBy(e);case 3:case"end":return a.stop()}}),a)})))()}}},Sa=ka,Ua=(a("6f62"),Object(g["a"])(Sa,ba,ga,!1,null,"6620b8fb",null)),$a=Ua.exports,Ra={name:"OrdersSettings",components:{UnloadedOrders:ca,WorkWithOrders:ma,OrdersTable:$a},mixins:[K],data:function(){return{box:""}}},Oa=Ra,za=Object(g["a"])(Oa,Kt,Yt,!1,null,null,null),Ia=za.exports,Ma=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("UiCollapseGroupNext",{model:{value:e.box,callback:function(t){e.box=t},expression:"box"}},[a("AdvancedDebugSettings"),a("JobManager"),a("Logs")],1)],1)},Ta=[],ja=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{bordered:""},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconSettings")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("advanced.main.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiSwitch",{attrs:{label:e.$t("advanced.system.web-jobs.label")},scopedSlots:e._u([{key:"desc",fn:function(){return[a("div",{domProps:{innerHTML:e._s(e.$t("advanced.system.web-jobs.desc"))}})]},proxy:!0}]),model:{value:e.webJobs,callback:function(t){e.webJobs=t},expression:"webJobs"}}),a("UiSwitch",{attrs:{label:e.$t("advanced.system.debug.label")},scopedSlots:e._u([{key:"desc",fn:function(){return[a("div",{domProps:{innerHTML:e._s(e.$t("advanced.system.debug.desc"))}})]},proxy:!0}]),model:{value:e.debug,callback:function(t){e.debug=t},expression:"debug"}})]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm"},on:{click:e.apply}},[e._v(" "+e._s(e.$t("save"))+" ")]),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},La=[],Da=window.$appData.additional.settings,Ea={name:"AdvancedDebugSettings",mixins:[K],data:function(){return{webJobs:Da.webJobs,debug:Da.debug}},methods:{apply:function(){this.$store.dispatch("settings/update",{webJobs:this.webJobs,debugMode:this.debug})}}},Pa=Ea,Aa=(a("9290"),Object(g["a"])(Pa,ja,La,!1,null,"40679078",null)),Ba=Aa.exports,Na=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{bordered:""},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconСheckmarkSquare")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("debug.jobs.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{staticClass:"select-box__row",attrs:{mt:"xxs",mb:"m"}},[a("UiText",{attrs:{size:"body"}},[e._v(" "+e._s(e.$t("debug.jobs.desc"))+" ")]),a("UiButton",{staticClass:"select-box__col",attrs:{type:"tertiary",size:"sm"},on:{click:e.update}},[a("IconRefresh"),e._v(" "+e._s(e.$t("debug.jobs.refresh"))+" ")],1)],1),a("UiRow",{attrs:{mt:"xxs",mb:"m"}},[a("table",{staticClass:"table"},[a("thead",{staticClass:"table__head"},[a("tr",[a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("debug.jobs.table-header.job"))+" ")]),a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("debug.jobs.table-header.last-run"))+" ")]),a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("debug.jobs.table-header.status"))+" ")]),a("th",[a("UiTooltip",{attrs:{placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiButton",{staticClass:"table__button",attrs:{size:"sm",form:"square",type:"tertiary"},on:{click:e.update}},[a("IconRefresh")],1)]},proxy:!0}])},[a("span",[e._v(e._s(e.$t("debug.jobs.refresh")))])])],1)])]),e.jobs.length>0?a("tbody",e._l(e.jobs,(function(e,t){return a("JobRow",{key:t,attrs:{job:e}})})),1):a("tbody",[a("tr",{staticClass:"table__row"},[a("td",{staticClass:"table__cell table__cell_center",attrs:{colspan:"4"}},[a("UiText",{attrs:{size:"paragraph"}},[e._v(" "+e._s(e.$t("debug.jobs.empty"))+" ")])],1)])])])]),a("UiRow",{staticClass:"select-box__row",attrs:{mt:"xxs",mb:"m"}},[a("UiText",{attrs:{size:"body"}},[e._v(" "+e._s(e.$t("debug.jobs.notice"))+" ")]),a("UiButton",{staticClass:"select-box__col",attrs:{type:"tertiary",size:"sm"},on:{click:e.resetJobManager}},[a("IconRefresh"),e._v(" "+e._s(e.$t("debug.jobs.reset"))+" ")],1)],1)]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",type:"primary"},on:{click:e.resetJobManager}},[e._v(" "+e._s(e.$t("debug.jobs.reset"))+" ")]),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")]),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.update}},[e._v(" "+e._s(e.$t("debug.jobs.refresh"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},Ga=[],qa=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("tr",{staticClass:"table__row"},[a("td",{staticClass:"table__cell"},[a("UiText",{attrs:{size:"small"}},[e.job.running?a("UiTooltip",{staticStyle:{"margin-left":"-24px"},attrs:{placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiIcon",{attrs:{name:"circleLoading"}})]},proxy:!0}],null,!1,797044280)},[a("span",[e._v(e._s(e.$t("debug.jobs.running")))])]):e._e(),e.$te("debug.jobs.names."+e.job.name)?a("UiTooltip",{staticStyle:{"vertical-align":"middle"},attrs:{placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[e._v(" "+e._s(e.$t("debug.jobs.names."+e.job.name))+" ")]},proxy:!0}],null,!1,1826889603)},[a("span",[e._v(" "+e._s(e.job.name))])]):a("span",[e._v(" "+e._s(e.job.name))])],1)],1),a("td",{staticClass:"table__cell"},[a("UiText",{attrs:{size:"small"}},[e._v(" "+e._s(e.getDate)+", "),a("UiText",{attrs:{tag:"span",color:"gray"}},[e._v(" "+e._s(e.getTime)+" ")])],1)],1),a("td",{staticClass:"table__cell"},[e.job.success?a("UiText",{staticClass:"table__status",attrs:{size:"small"}},[a("IconCheckmark",{staticClass:"table__icon-status table__icon-status_success"})],1):a("UiText",{staticClass:"table__status",attrs:{size:"small",color:"action"}},[a("UiTooltip",{attrs:{placement:"top",closable:!0},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiIcon",{staticClass:"table__icon-status table__icon-status_error",attrs:{name:"warning"}})]},proxy:!0}])},[a("UiText",{staticClass:"table__status",attrs:{size:"small",color:"action"}},[e._v(" "+e._s(e.job.error.message)+" ")]),a("br"),a("UiText",{attrs:{size:"tiny"}},[e._v(" Stacktrace: "),a("br"),e._v(" "+e._s(e.job.error.trace)+" ")])],1)],1)],1),a("td",[a("UiTooltip",{attrs:{placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiButton",{directives:[{name:"show",rawName:"v-show",value:!e.isDischargeComplete,expression:"!isDischargeComplete"}],staticClass:"table__button",class:{table__button_visible:e.isLoading},attrs:{size:"sm",form:"square",type:"tertiary"},on:{click:e.onRepeatDischarge}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):a("IconUploadFrom")],1)]},proxy:!0}])},[a("span",[e._v(e._s(e.$t("debug.jobs.run")))])]),a("UiTooltip",{attrs:{show:e.isDischargeComplete,trigger:"manual",placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiButton",{directives:[{name:"show",rawName:"v-show",value:e.isDischargeComplete,expression:"isDischargeComplete"}],staticClass:"table__button table__button_visible",attrs:{size:"sm",form:"square",type:"tertiary"}},[a("IconWarningOutlined",{staticClass:"table__button-warning"})],1)]},proxy:!0}])},[a("span",[e._v(e._s(e.$t("debug.jobs.succeeded")))])])],1)])},Wa=[],Ha={props:{job:{type:Object,default:function(){}}},data:function(){return{isLoading:!1,isDischargeComplete:!1}},computed:{getDate:function(){return this.job.lastRun.date.split(" ")[0]},getTime:function(){var e=this.job.lastRun.date.split(" ");return e.length>1?e[1].substr(0,5):""}},methods:{onRepeatDischarge:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,t.next=3,e.$store.dispatch("jobs/run",e.job.name);case 3:a=t.sent,e.isLoading=!1,e.isDischargeComplete=!0,e.$console.debug(a),setTimeout((function(){e.isDischargeComplete=!1}),2e3);case 8:case"end":return t.stop()}}),t)})))()}}},Fa=Ha,Ja=(a("4e3f"),Object(g["a"])(Fa,qa,Wa,!1,null,"f14a63f8",null)),Va=Ja.exports,Ka={name:"JobManager",components:{JobRow:Va},mixins:[K],data:function(){return{jobs:this.update()}},methods:{update:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("jobs/get");case 2:a=t.sent,void 0!==a.result&&(e.jobs=a.result),e.$console.debug(a);case 5:case"end":return t.stop()}}),t)})))()},resetJobManager:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("jobs/reset");case 2:return a=t.sent,t.next=5,e.update();case 5:e.$console.debug(a);case 6:case"end":return t.stop()}}),t)})))()}}},Ya=Ka,Xa=(a("51d6"),Object(g["a"])(Ya,Na,Ga,!1,null,"dd30a2e8",null)),Qa=Xa.exports,Za=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiCollapseBoxNext",{staticClass:"settings-box",attrs:{bordered:""},scopedSlots:e._u([{key:"icon",fn:function(){return[a("IconSmsChat")]},proxy:!0},{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("debug.logs.title"))+" ")]},proxy:!0},{key:"body-content",fn:function(){return[a("UiRow",{staticClass:"select-box__row",attrs:{mt:"xxs",mb:"m"}},[a("UiText",{attrs:{size:"body"}},[e._v(" "+e._s(e.$t("debug.logs.desc"))+" ")]),a("UiButton",{staticClass:"select-box__col",attrs:{type:"tertiary",size:"sm"},on:{click:e.update}},[a("IconRefresh"),e._v(" "+e._s(e.$t("debug.logs.refresh"))+" ")],1)],1),a("UiRow",{attrs:{mt:"xxs",mb:"m"}},[a("table",{staticClass:"table"},[a("thead",{staticClass:"table__head"},[a("tr",[a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("debug.logs.table-header.name"))+" ")]),a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("debug.logs.table-header.date"))+" ")]),a("th",{staticClass:"table__head-cell"},[e._v(" "+e._s(e.$t("debug.logs.table-header.size"))+" ")]),a("th",[a("UiTooltip",{attrs:{placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiButton",{staticClass:"table__button",attrs:{size:"sm",form:"square",type:"tertiary"},on:{click:e.update}},[a("IconRefresh")],1)]},proxy:!0}])},[a("span",[e._v(e._s(e.$t("debug.logs.refresh")))])])],1)])]),e.logs.length>0?a("tbody",e._l(e.logs,(function(e,t){return a("LogRow",{key:t,attrs:{log:e}})})),1):a("tbody",[a("tr",{staticClass:"table__row"},[a("td",{staticClass:"table__cell table__cell_center",attrs:{colspan:"4"}},[a("UiText",{attrs:{size:"paragraph"}},[e._v(" "+e._s(e.$t("debug.logs.empty"))+" ")])],1)])])])]),a("UiRow",{staticClass:"select-box__row",attrs:{mt:"xxs",mb:"m"}},[a("UiText",{attrs:{size:"body"}},[e._v(" "+e._s(e.$t("debug.logs.notice"))+" ")]),a("UiButton",{staticClass:"select-box__col",attrs:{type:"tertiary",size:"sm"},on:{click:e.downloadAll}},[a("IconUploadFrom"),e._v(" "+e._s(e.$t("debug.logs.download-all"))+" ")],1)],1)]},proxy:!0},{key:"footer-content",fn:function(){return[a("UiButton",{attrs:{size:"sm",type:"primary"},on:{click:e.downloadAll}},[e._v(" "+e._s(e.$t("debug.logs.download-all"))+" ")]),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.close}},[e._v(" "+e._s(e.$t("close"))+" ")]),a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:e.update}},[e._v(" "+e._s(e.$t("debug.logs.refresh"))+" ")])]},proxy:!0}]),model:{value:e.isOpen,callback:function(t){e.isOpen=t},expression:"isOpen"}})},es=[],ts=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("tr",{staticClass:"table__row"},[a("td",{staticClass:"table__cell"},[a("UiText",{attrs:{size:"small"}},[e.log.running?a("UiIcon",{attrs:{name:"circleLoading"}}):e._e(),e._v(" "+e._s(e.log.name)+" ")],1)],1),a("td",{staticClass:"table__cell"},[a("UiText",{attrs:{size:"small"}},[e._v(" "+e._s(e.getDate)+", "),a("UiText",{attrs:{tag:"span",color:"gray"}},[e._v(" "+e._s(e.getTime)+" ")])],1)],1),a("td",{staticClass:"table__cell"},[a("UiText",{attrs:{size:"small"}},[e._v(" "+e._s(e.log.size)+" ")])],1),a("td",[a("UiTooltip",{attrs:{placement:"bottom","center-text":"",dark:""},scopedSlots:e._u([{key:"trigger",fn:function(){return[a("UiButton",{staticClass:"table__button",class:{table__button_visible:e.isLoading},attrs:{size:"sm",form:"square",type:"tertiary"},on:{click:e.onRepeatDischarge}},[e.isLoading?a("UiIcon",{attrs:{name:"circleLoading"}}):e.isDischargeComplete?a("UiIcon",{attrs:{name:"checkmarkCircleOutlined"}}):a("IconUploadFrom")],1)]},proxy:!0}])},[a("span",[e._v(e._s(e.$t("debug.logs.download")))])])],1)])},as=[],ss={props:{log:{type:Object,default:function(){}}},data:function(){return{isLoading:!1,isDischargeComplete:!1}},computed:{getDate:function(){return this.log.modified.split(" ")[0]},getTime:function(){var e=this.log.modified.split(" ");return e.length>1?e[1].substr(0,5):""}},methods:{onRepeatDischarge:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isLoading=!0,t.next=3,e.$store.dispatch("logs/download",e.log.name);case 3:a=t.sent,e.isLoading=!1,e.isDischargeComplete=!0,e.$console.debug(a),setTimeout((function(){e.isDischargeComplete=!1}),2e3);case 8:case"end":return t.stop()}}),t)})))()}}},ns=ss,os=(a("29ad"),Object(g["a"])(ns,ts,as,!1,null,"794efe32",null)),rs=os.exports,is={name:"Logs",components:{LogRow:rs},mixins:[K],data:function(){return{logs:this.update()}},methods:{update:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("logs/get");case 2:a=t.sent,void 0!==a.result&&(e.logs=a.result),e.$console.debug(a);case 5:case"end":return t.stop()}}),t)})))()},downloadAll:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("logs/downloadAll");case 2:a=t.sent,e.$console.debug(a);case 4:case"end":return t.stop()}}),t)})))()}}},cs=is,ls=(a("9e53"),Object(g["a"])(cs,Za,es,!1,null,"4dbd8fc4",null)),ds=ls.exports,us={name:"DebugSettings",components:{AdvancedDebugSettings:Ba,Logs:ds,JobManager:Qa},mixins:[K],data:function(){return{showUnloadedOrders:!1,box:""}}},ps=us,fs=Object(g["a"])(ps,Ma,Ta,!1,null,null,null),hs=fs.exports;s["default"].use(G["a"]);var ms,bs,gs,vs,_s,ys=[{path:"/",name:"GeneralSettings",component:We},{path:"/advanced",name:"AdvancedSettings",component:Gt},{path:"/debug",name:"DebugSettings",component:hs},{path:"/orders",name:"OrdersSettings",component:Ia},{path:"/check-work",name:"CheckingWork",component:Vt}],xs=new G["a"]({routes:ys}),ws=xs,Cs=a("2f62"),ks=(a("caad"),a("2532"),function(e,t){var a={};for(var s in console)"function"===typeof console[s]&&(!t.includes(s,0)||e?a[s]=console[s].bind(window.console):a[s]=function(){});return a}),Ss=ks(window.$appData.additional.settings.debug,["debug","trace"]),Us=Ss,$s=a("ade3"),Rs=(a("3ca3"),a("2b3d"),a("bc3a")),Os=a.n(Rs),zs=window.$appData.controller,Is={links:function(){return{settings:zs.settings}},get:function(e){var t=this.links().settings;return Os.a.get(t,{params:e})},post:function(e){var t=this.links().settings,a=new URLSearchParams;for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&a.append(s,e[s]);var n={headers:{"Content-Type":"application/x-www-form-urlencoded"}};return Os.a.post(t,a,n)},catalog:function(){return this.get({catalog:!0})},delivery:function(){return this.get({delivery:!0})},payment:function(){return this.get({payment:!0})},status:function(){return this.get({status:!0})},update:function(e){return this.post(e)}},Ms="UPDATE_INTEGRATION",Ts="UPDATE_INTEGRATION_SUCCESS",js="UPDATE_INTEGRATION_ERROR",Ls="GET_INTEGRATION",Ds="GET_INTEGRATION_SUCCESS",Es="GET_INTEGRATION_ERROR",Ps={namespaced:!0,mutations:(ms={},Object($s["a"])(ms,Ms,(function(e){})),Object($s["a"])(ms,Ts,(function(e,t){})),Object($s["a"])(ms,js,(function(e,t){})),Object($s["a"])(ms,Ls,(function(e){})),Object($s["a"])(ms,Ds,(function(e,t){})),Object($s["a"])(ms,Es,(function(e,t){})),ms),actions:{update:function(e,t){var a=this;return Object(f["a"])(regeneratorRuntime.mark((function s(){var n,o;return regeneratorRuntime.wrap((function(s){while(1)switch(s.prev=s.next){case 0:return n=e.commit,n(Ms),s.prev=2,a.$console.debug("Request: ",t),s.next=6,Is.update(t);case 6:return o=s.sent,a.$console.debug("Response: ",o.data),n(Ts,o.data),s.abrupt("return",o.data);case 12:if(s.prev=12,s.t0=s["catch"](2),a.$console.error("Error: ",s.t0),n(js,s.t0.response.data),void 0===s.t0.response||void 0===s.t0.response.data){s.next=18;break}return s.abrupt("return",s.t0.response.data);case 18:return s.abrupt("return",{success:!1,errorMsg:s.t0,errors:[s.t0]});case 19:case"end":return s.stop()}}),s,null,[[2,12]])})))()},getData:function(e,t){var a=this;return Object(f["a"])(regeneratorRuntime.mark((function s(){var n,o;return regeneratorRuntime.wrap((function(s){while(1)switch(s.prev=s.next){case 0:n=e.commit,n(Ls),s.prev=2,a.$console.debug("Request: ",t),s.t0=t,s.next="catalog"===s.t0?7:"delivery"===s.t0?11:"payment"===s.t0?15:"status"===s.t0?19:23;break;case 7:return s.next=9,Is.catalog();case 9:return o=s.sent,s.abrupt("break",23);case 11:return s.next=13,Is.delivery();case 13:return o=s.sent,s.abrupt("break",23);case 15:return s.next=17,Is.payment();case 17:return o=s.sent,s.abrupt("break",23);case 19:return s.next=21,Is.status();case 21:return o=s.sent,s.abrupt("break",23);case 23:return a.$console.debug("Response: ",o.data),n(Ds,o.data),s.abrupt("return",o.data);case 28:return s.prev=28,s.t1=s["catch"](2),a.$console.error("Error: ",s.t1),n(Es,s.t1.response.data),s.abrupt("return",null);case 33:case"end":return s.stop()}}),s,null,[[2,28]])})))()}}},As=(a("841c"),window.$appData.controller.orders),Bs={links:function(){return{controller:As}},search:function(e){var t=this.links().controller,a=new URLSearchParams;for(var s in e.orders)a.append("orders[]",e.orders[s]);a.append("page",e.page),a.append("filter",e.filter);var n={headers:{"Content-Type":"application/x-www-form-urlencoded"},params:a};return Os.a.get(t,n)},upload:function(e){var t=this.links().controller,a=new URLSearchParams;for(var s in e)a.append("orders[]",e[s]);var n={headers:{"Content-Type":"application/x-www-form-urlencoded"}};return Os.a.post(t,a,n)}},Ns="UPLOAD_ORDERS",Gs="UPLOAD_ORDERS_SUCCESS",qs="UPLOAD_ORDERS_ERROR",Ws="SEARCH_ORDERS",Hs="SEARCH_ORDERS_SUCCESS",Fs="SEARCH_ORDERS_ERROR",Js={namespaced:!0,mutations:(bs={},Object($s["a"])(bs,Ns,(function(e){})),Object($s["a"])(bs,Gs,(function(e,t){})),Object($s["a"])(bs,qs,(function(e,t){})),Object($s["a"])(bs,Ws,(function(e){})),Object($s["a"])(bs,Hs,(function(e,t){})),Object($s["a"])(bs,Fs,(function(e,t){})),bs),actions:{upload:function(e,t){var a=this;return Object(f["a"])(regeneratorRuntime.mark((function s(){var n,o;return regeneratorRuntime.wrap((function(s){while(1)switch(s.prev=s.next){case 0:return n=e.commit,n(Ns),s.prev=2,a.$console.debug("Request: ",t),s.next=6,Bs.upload(t);case 6:return o=s.sent,a.$console.debug("Response: ",o.data),n(Gs,o.data),s.abrupt("return",o.data);case 12:return s.prev=12,s.t0=s["catch"](2),a.$console.error("Error: ",s.t0),n(qs,s.t0.response.data),s.abrupt("return",null);case 17:case"end":return s.stop()}}),s,null,[[2,12]])})))()},search:function(e,t){var a=this;return Object(f["a"])(regeneratorRuntime.mark((function s(){var n,o;return regeneratorRuntime.wrap((function(s){while(1)switch(s.prev=s.next){case 0:return n=e.commit,n(Ns),s.prev=2,a.$console.debug("Request: ",t),s.next=6,Bs.search(t);case 6:return o=s.sent,a.$console.debug("Response: ",o.data),n(Gs,o.data),s.abrupt("return",o.data);case 12:return s.prev=12,s.t0=s["catch"](2),a.$console.error("Error: ",s.t0),n(qs,s.t0.response.data),s.abrupt("return",null);case 17:case"end":return s.stop()}}),s,null,[[2,12]])})))()}}},Vs=window.$appData.controller.export,Ks={links:function(){return{controller:Vs}},count:function(){var e=this.links().controller;return Os.a.get(e)},export:function(e){var t=this.links().controller,a=new URLSearchParams;for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&a.append(s,e[s]);var n={headers:{"Content-Type":"application/x-www-form-urlencoded"}};return Os.a.post(t,a,n)}},Ys="EXPORT",Xs="EXPORT_SUCCESS",Qs="EXPORT_ERROR",Zs="GET_COUNT",en="GET_COUNT_SUCCESS",tn="GET_COUNT_ERROR",an={namespaced:!0,mutations:(gs={},Object($s["a"])(gs,Ys,(function(e){})),Object($s["a"])(gs,Xs,(function(e,t){})),Object($s["a"])(gs,Qs,(function(e,t){})),Object($s["a"])(gs,Zs,(function(e){})),Object($s["a"])(gs,en,(function(e,t){})),Object($s["a"])(gs,tn,(function(e,t){})),gs),actions:{export:function(e,t){var a=this;return Object(f["a"])(regeneratorRuntime.mark((function s(){var n,o;return regeneratorRuntime.wrap((function(s){while(1)switch(s.prev=s.next){case 0:return n=e.commit,n(Ys),s.prev=2,a.$console.debug("Request: ",t),s.next=6,Ks.export(t);case 6:return o=s.sent,a.$console.debug("Response: ",o.data),n(Xs,o.data),s.abrupt("return",o.data);case 12:return s.prev=12,s.t0=s["catch"](2),a.$console.error("Error: ",s.t0),n(Qs,s.t0.response.data),s.abrupt("return",null);case 17:case"end":return s.stop()}}),s,null,[[2,12]])})))()},getCount:function(e){var t=this;return Object(f["a"])(regeneratorRuntime.mark((function a(){var s,n;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return s=e.commit,s(Ys),a.prev=2,t.$console.debug("Request: getCount"),a.next=6,Ks.count();case 6:return n=a.sent,t.$console.debug("Response: ",n.data),s(Xs,n.data),a.abrupt("return",n.data);case 12:return a.prev=12,a.t0=a["catch"](2),t.$console.error("Error: ",a.t0),s(Qs,a.t0.response.data),a.abrupt("return",null);case 17:case"end":return a.stop()}}),a,null,[[2,12]])})))()}}},sn=window.$appData.controller,nn={links:function(){return{jobs:sn.jobs}},get:function(){var e=this.links().jobs;return Os.a.get(e)},post:function(e){var t=this.links().jobs,a=new URLSearchParams;for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&a.append(s,e[s]);var n={headers:{"Content-Type":"application/x-www-form-urlencoded"}};return Os.a.post(t,a,n)},reset:function(){return this.post({reset:!0})},run:function(e){return this.post({jobName:e})}},on="GET_JOBS",rn="GET_JOBS_SUCCESS",cn="GET_JOBS_ERROR",ln="RUN_JOBS",dn="RUN_JOBS_SUCCESS",un="RUN_JOBS_ERROR",pn="RESET_JOBS",fn="RESET_JOBS_SUCCESS",hn="RESET_JOBS_ERROR",mn={namespaced:!0,mutations:(vs={},Object($s["a"])(vs,on,(function(e){})),Object($s["a"])(vs,rn,(function(e,t){})),Object($s["a"])(vs,cn,(function(e,t){})),Object($s["a"])(vs,ln,(function(e){})),Object($s["a"])(vs,dn,(function(e,t){})),Object($s["a"])(vs,un,(function(e,t){})),Object($s["a"])(vs,pn,(function(e){})),Object($s["a"])(vs,fn,(function(e,t){})),Object($s["a"])(vs,hn,(function(e,t){})),vs),actions:{get:function(e){var t=this;return Object(f["a"])(regeneratorRuntime.mark((function a(){var s,n;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return s=e.commit,s(on),a.prev=2,a.next=5,nn.get();case 5:return n=a.sent,t.$console.debug("Response: ",n.data),s(rn,n.data),a.abrupt("return",n.data);case 11:return a.prev=11,a.t0=a["catch"](2),t.$console.error("Error: ",a.t0),s(cn,a.t0.response.data),a.abrupt("return",null);case 16:case"end":return a.stop()}}),a,null,[[2,11]])})))()},run:function(e,t){var a=this;return Object(f["a"])(regeneratorRuntime.mark((function s(){var n,o;return regeneratorRuntime.wrap((function(s){while(1)switch(s.prev=s.next){case 0:return n=e.commit,n(ln),s.prev=2,a.$console.debug("Request: ",t),s.next=6,nn.run(t);case 6:return o=s.sent,a.$console.debug("Response: ",o.data),n(dn,o.data),s.abrupt("return",o.data);case 12:return s.prev=12,s.t0=s["catch"](2),a.$console.error("Error: ",s.t0),n(un,s.t0.response.data),s.abrupt("return",null);case 17:case"end":return s.stop()}}),s,null,[[2,12]])})))()},reset:function(e){var t=this;return Object(f["a"])(regeneratorRuntime.mark((function a(){var s,n;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return s=e.commit,s(pn),a.prev=2,a.next=5,nn.reset();case 5:return n=a.sent,t.$console.debug("Response: ",n.data),s(fn,n.data),a.abrupt("return",n.data);case 11:return a.prev=11,a.t0=a["catch"](2),t.$console.error("Error: ",a.t0),s(hn,a.t0.response.data),a.abrupt("return",null);case 16:case"end":return a.stop()}}),a,null,[[2,11]])})))()}}},bn=window.$appData.controller,gn={links:function(){return{logs:bn.logs}},get:function(){var e=this.links().logs;return Os.a.get(e)},post:function(e){var t=this.links().logs,a=new URLSearchParams;for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&a.append(s,e[s]);var n={headers:{"Content-Type":"application/x-www-form-urlencoded"},responseType:"arraybuffer"};return Os.a.post(t,a,n)},downloadFileFromRequest:function(e){var t=e.headers["content-disposition"].split("filename=")[1].split(";")[0],a=e.headers["content-type"],s=e.data,n=URL.createObjectURL(new Blob([s],{type:a})),o=document.createElement("a");o.href=n,o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o)},downloadAll:function(){var e=this;return Object(f["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.post({all:!0});case 2:return a=t.sent,e.downloadFileFromRequest(a),t.abrupt("return",{success:!0});case 5:case"end":return t.stop()}}),t)})))()},download:function(e){var t=this;return Object(f["a"])(regeneratorRuntime.mark((function a(){var s;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.next=2,t.post({logName:e});case 2:return s=a.sent,t.downloadFileFromRequest(s),a.abrupt("return",{success:!0});case 5:case"end":return a.stop()}}),a)})))()}},vn="GET_LOGS",_n="GET_LOGS_SUCCESS",yn="GET_LOGS_ERROR",xn="DOWNLOAD_LOGS",wn="DOWNLOAD_LOGS_SUCCESS",Cn="DOWNLOAD_LOGS_ERROR",kn="DOWNLOAD_ALL_LOGS",Sn="DOWNLOAD_ALL_LOGS_SUCCESS",Un="DOWNLOAD_ALL_LOGS_ERROR",$n={namespaced:!0,mutations:(_s={},Object($s["a"])(_s,vn,(function(e){})),Object($s["a"])(_s,_n,(function(e,t){})),Object($s["a"])(_s,yn,(function(e,t){})),Object($s["a"])(_s,xn,(function(e){})),Object($s["a"])(_s,wn,(function(e,t){})),Object($s["a"])(_s,Cn,(function(e,t){})),Object($s["a"])(_s,kn,(function(e){})),Object($s["a"])(_s,Sn,(function(e,t){})),Object($s["a"])(_s,Un,(function(e,t){})),_s),actions:{get:function(e){var t=this;return Object(f["a"])(regeneratorRuntime.mark((function a(){var s,n;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return s=e.commit,s(vn),a.prev=2,a.next=5,gn.get();case 5:return n=a.sent,t.$console.debug("Response: ",n.data),s(_n,n.data),a.abrupt("return",n.data);case 11:return a.prev=11,a.t0=a["catch"](2),t.$console.error("Error: ",a.t0),s(yn,a.t0.response.data),a.abrupt("return",null);case 16:case"end":return a.stop()}}),a,null,[[2,11]])})))()},download:function(e,t){var a=this;return Object(f["a"])(regeneratorRuntime.mark((function s(){var n,o;return regeneratorRuntime.wrap((function(s){while(1)switch(s.prev=s.next){case 0:return n=e.commit,n(xn),s.prev=2,a.$console.debug("Request: ",t),s.next=6,gn.download(t);case 6:return o=s.sent,a.$console.debug("Response: ",o.data),n(wn,o.data),s.abrupt("return",o.data);case 12:return s.prev=12,s.t0=s["catch"](2),a.$console.error("Error: ",s.t0),n(Cn,s.t0.response.data),s.abrupt("return",null);case 17:case"end":return s.stop()}}),s,null,[[2,12]])})))()},downloadAll:function(e){var t=this;return Object(f["a"])(regeneratorRuntime.mark((function a(){var s,n;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return s=e.commit,s(kn),a.prev=2,a.next=5,gn.downloadAll();case 5:return n=a.sent,t.$console.debug("Response: ",n.data),s(Sn,n.data),a.abrupt("return",n.data);case 11:return a.prev=11,a.t0=a["catch"](2),t.$console.error("Error: ",a.t0),s(Un,a.t0.response.data),a.abrupt("return",null);case 16:case"end":return a.stop()}}),a,null,[[2,11]])})))()}}};s["default"].use(Cs["a"]),Cs["a"].Store.prototype.$console=Us;var Rn=new Cs["a"].Store({modules:{settings:Ps,orders:Js,export:an,jobs:mn,logs:$n}}),On=Rn,zn=a("a925"),In=a("c665"),Mn=In.keys().reduce((function(e,t){var a=t.split(".")[1].replace("/","");return e[a]=In(t),e}),{}),Tn=localStorage.getItem("language"),jn=window.$appData.locale,Ln="ru",Dn=Tn||jn||Ln;s["default"].use(zn["a"]),zn["a"].prototype.$console=Us;var En=new zn["a"]({locale:Dn,fallbackLocale:Ln,messages:Mn});En.set=function(e){this.locale=e,localStorage.setItem("language",e)},En.get=function(){return this.locale},En.locales=function(){return this.availableLocales},En.getImage=function(e){var t="";try{t=a("7584")("./"+this.locale+"/"+e)}catch(s){this.$console.warn("Cannot find image ",e," for current locale ",this.locale);try{t=a("7584")("./"+this.fallbackLocale+"/"+e),this.$console.warn("Using fallback locale",this.fallbackLocale)}catch(s){this.$console.warn("Cannot find image ",e," for fallback locale ",this.fallbackLocale)}}return t};var Pn=En,An=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("UiPopup",{attrs:{open:e.isOpen,type:"confirm",role:"dialog"},on:{togglePopup:function(t){!t&&e.$emit("confirm-cancel")}},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.title))]},proxy:!0},{key:"default",fn:function(){return[e._v(" "+e._s(e.content)+" ")]},proxy:!0},{key:"footer",fn:function(){return[a("UiButton",{attrs:{size:"sm",type:"secondary"},on:{click:function(t){e.$emit("confirm-cancel"),e.close()}}},[e._v(" "+e._s(e.cancelTitle)+" ")]),a("UiButton",{attrs:{size:"sm"},on:{click:function(t){e.$emit("confirm-ok"),e.close()}}},[e._v(" "+e._s(e.okTitle)+" ")])]},proxy:!0}])})},Bn=[],Nn={name:"ModalConfirm",props:{title:{type:String,default:"Подтверждение действия"},content:{type:[String,Function,Object],default:"Вы изменили данные на странице. При переходе все несохраненные данные будут потеряны"},okTitle:{type:String,default:"Закрыть без сохранения"},okState:{type:String,default:"default"},cancelTitle:{type:String,default:"Отмена"},cancelState:{type:String,default:"default"}},data:function(){return{isOpen:!0}},methods:{open:function(){this.isOpen=!0},close:function(){this.isOpen=!1}}},Gn=Nn,qn=Object(g["a"])(Gn,An,Bn,!1,null,null,null),Wn=qn.exports,Hn=s["default"].extend({extends:Wn,destroyed:function(){this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}}),Fn=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=new Hn({parent:e,propsData:Object(J["a"])(Object(J["a"])({},a),{},{content:t})}),n=document.createElement("div");return document.body.appendChild(n),s.$mount(n),e.__addModalToRegistry(s),new Promise((function(e){s.open(),s.$on("confirm-ok",(function(){e(!0),s.$destroy()})),s.$on("confirm-cancel",(function(){e(!1),s.$destroy()}))}))},Jn={install:function(e){e.mixin({beforeCreate:function(){var e=this;this.$modal={confirm:function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Fn(e,t,a)}}},created:function(){this.__modalRegistry=[]},beforeDestroy:function(){this.__modalRegistry&&(this.__modalRegistry.forEach((function(e){return e.$destroy()})),this.__modalRegistry=[])},methods:{__addModalToRegistry:function(e){this.__modalRegistry&&this.__modalRegistry.push(e)}}})}};s["default"].config.productionTip=!1,s["default"].prototype.$console=Us,s["default"].use(o.a,{getLocale:function(){return Pn.locale}}),s["default"].use(Jn),s["default"].use(r),Us.debug(window.$appData),new s["default"]({router:ws,store:On,i18n:Pn,render:function(e){return e(N)}}).$mount("#app")},"5b03":function(e,t,a){"use strict";var s=a("b9a0"),n=a.n(s);a.d(t,"default",(function(){return n.a}))},"5b07":function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".table__row[data-v-f14a63f8]{border-bottom:1px solid #dee2e6;transition:background-color .25s ease}.table__row[data-v-f14a63f8]:hover{background-color:#f9fafb}.table__row:hover .table__button[data-v-f14a63f8]{opacity:1;visibility:visible}.table__cell[data-v-f14a63f8]{padding:20px 8px}.table__cell[data-v-f14a63f8]:first-of-type{padding-left:24px;padding-right:8px}.table__status[data-v-f14a63f8]{display:flex;align-items:center}.table__status-text[data-v-f14a63f8]{border-bottom:1px dotted;text-decoration:none}.table__icon-status[data-v-f14a63f8]{fill:#c7cdd4;margin-right:4px;width:20px;height:20px}.table__icon-status_success[data-v-f14a63f8]{fill:#22c993}.table__icon-status_error[data-v-f14a63f8]{fill:#ff5353}.table__button[data-v-f14a63f8]{transition:opacity .25s ease;opacity:0;visibility:hidden}.table__button_visible[data-v-f14a63f8]{opacity:1;visibility:visible}.table__button-warning[data-v-f14a63f8]{fill:#fea530}",""]),e.exports=t},"5b77":function(e,t,a){"use strict";a("cd27")},6138:function(e,t,a){"use strict";a("eff4")},6856:function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".export__btn-unloaded[data-v-3708db8a]{border-bottom-right-radius:0;border-top-right-radius:0}.export__btn-all[data-v-3708db8a]{padding-left:0;padding-right:0;border-bottom-left-radius:0;border-top-left-radius:0;min-width:40px}.search-order[data-v-3708db8a]{position:relative;background-color:#f9fafb;padding:16px 24px;border-radius:4px;text-align:center}.search-order__title[data-v-3708db8a]{color:#636f7f;height:40px;display:flex;justify-content:center;align-items:center}.search-order__loader[data-v-3708db8a]{position:relative;margin:16px auto 0}.search-order__progress[data-v-3708db8a]{display:flex;justify-content:space-between;align-items:center}.search-order__progress-line[data-v-3708db8a]{flex:1 auto}.search-order__pause[data-v-3708db8a]{margin-left:16px}.search-order__done-icon[data-v-3708db8a]{fill:#20a77f;width:40px;height:40px;display:inline-block}.search-order__done-text[data-v-3708db8a]{color:#20a77f}",""]),e.exports=t},"6a22":function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{d:"M14 12a2 2 0 10-4 0 2 2 0 004 0z"}})]))}}},"6aa8":function(e,t,a){"use strict";a("fbff")},"6c99":function(e,t,a){e.exports=a.p+"img/delivery-info-2.png"},"6f62":function(e,t,a){"use strict";a("54cc")},"70cc":function(e,t,a){var s=a("2db6");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("915fb32a",s,!0,{sourceMap:!1,shadowMode:!1})},7382:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M11.994 5a10.643 10.643 0 019.994 6.7c.016.1.016.2 0 .3a.81.81 0 01-.06.33A10.644 10.644 0 0111.994 19c-4.37.022-8.31-2.63-9.934-6.69A.81.81 0 012 12a1 1 0 01.06-.33A10.643 10.643 0 0111.994 5zm-2.998 7a3 3 0 102.998-3 3 3 0 00-2.998 3z"}})]))}}},7493:function(e,t,a){e.exports=a.p+"img/where-is-search-3.png"},"754c":function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".top-bar[data-v-6620b8fb]{justify-content:space-between;align-items:flex-end;width:100%}.top-bar[data-v-6620b8fb],.top-bar__search[data-v-6620b8fb]{display:flex}.top-bar__search-field[data-v-6620b8fb]{margin-right:8px;max-width:200px}.table[data-v-6620b8fb]{width:100%;border-collapse:collapse;border:none;text-align:left}.table-wrapper[data-v-6620b8fb]{position:relative}.table__head[data-v-6620b8fb]{background:#f4f6f8;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.nobootstrap .table__head-cell[data-v-6620b8fb],.table__head-cell[data-v-6620b8fb]{color:#8a96a6;padding-top:12px;padding-bottom:12px;font-weight:500;font-size:12px;line-height:1.16666667}.nobootstrap .table__head-cell[data-v-6620b8fb]:first-of-type,.table__head-cell[data-v-6620b8fb]:first-of-type{padding-left:24px}.table__cell_center[data-v-6620b8fb]{text-align:center}",""]),e.exports=t},7584:function(e,t,a){var s={"./es/where-is-search-1.png":"c135","./ru/checking-work-2.png":"eb96","./ru/checking-work-3.png":"229f","./ru/delivery-info-1.png":"153a","./ru/delivery-info-2.png":"6c99","./ru/where-is-search-1.png":"d5f5","./ru/where-is-search-2.png":"3000","./ru/where-is-search-3.png":"7493","./ru/where-is-search-4.png":"8a1e","./ru/where-is-search-5.png":"48fa"};function n(e){var t=o(e);return a(t)}function o(e){if(!a.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return s[e]}n.keys=function(){return Object.keys(s)},n.resolve=o,e.exports=n,n.id="7584"},"772c":function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".additional[data-v-40679078]{padding:24px 24px 24px 52px;margin-bottom:-12px;background:#f9fafb}.additional__row[data-v-40679078]{margin-bottom:15px;padding-bottom:20px;border-bottom:1px solid #dee2e6}.additional__title[data-v-40679078]{font-weight:400;font-size:16px;line-height:1.5}.additional__text[data-v-40679078]{font-weight:400;font-size:14px;line-height:1.42857143;color:#8a96a6;margin-top:8px}",""]),e.exports=t},"782a":function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{d:"M18.09 10.22l-7 11.42a.76.76 0 01-.64.36h-.2a.51.51 0 01-.37-.16.49.49 0 01-.13-.38l.56-6.46H6.74a.76.76 0 01-.65-.38l-.19-.33a.49.49 0 010-.51l7-11.42a.76.76 0 01.66-.36h.2a.51.51 0 01.37.16.49.49 0 01.13.38L13.69 9h3.57a.76.76 0 01.65.38l.19.33a.49.49 0 01-.01.51z"}})]))}}},"79a6":function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M20.21 14.074a2.005 2.005 0 01-.72-1.643v-.861c-.032-.632.235-1.24.72-1.644l.8-.661c.376-.312.473-.85.23-1.273l-1.16-2.004a1 1 0 00-.86-.501.838.838 0 00-.35.07l-1 .36c-.223.088-.46.133-.7.131a1.997 1.997 0 01-1.08-.32 5.479 5.479 0 00-.74-.431 2.004 2.004 0 01-1.06-1.453l-.17-1.002a1 1 0 00-1-.842h-2.3a1 1 0 00-1 .842l-.17 1.002a2.004 2.004 0 01-1.02 1.453 5.477 5.477 0 00-.74.43c-.322.209-.697.32-1.08.321a1.887 1.887 0 01-.7-.13l-1-.36a.839.839 0 00-.35-.071 1 1 0 00-.86.501L2.76 7.992c-.241.426-.14.964.24 1.273l.8.66c.485.404.752 1.013.72 1.644v.861c.032.632-.235 1.24-.72 1.644l-.8.661c-.38.309-.481.847-.24 1.273l1.16 2.004a1 1 0 00.86.501c.12.002.24-.022.35-.07l1-.36c.223-.088.46-.133.7-.131.383 0 .758.112 1.08.32.235.163.483.307.74.431.563.29.956.828 1.06 1.453l.17 1.002a1 1 0 001 .842h2.3a1 1 0 001-.842l.17-1.002a2.004 2.004 0 011.06-1.453c.258-.124.505-.268.74-.43.322-.209.697-.32 1.08-.321.24-.002.477.043.7.13l1 .36c.11.05.23.073.35.071a1 1 0 00.86-.501l1.16-2.004c.228-.44.1-.981-.3-1.273l-.79-.66zM12 17.511A5.506 5.506 0 016.5 12 5.506 5.506 0 0112 6.489c3.038 0 5.5 2.467 5.5 5.511 0 1.462-.58 2.863-1.61 3.897A5.494 5.494 0 0112 17.51zM10 12c0-1.107.896-2.004 2-2.004 1.105 0 2 .897 2 2.004a2.002 2.002 0 01-2 2.004c-1.104 0-2-.897-2-2.004z"}})]))}}},8369:function(e,t,a){var s=a("772c");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("7608183d",s,!0,{sourceMap:!1,shadowMode:!1})},"8a1e":function(e,t,a){e.exports=a.p+"img/where-is-search-4.png"},"8c10":function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M4.03 2.999a.48.48 0 01.35.151l16.467 16.46a.48.48 0 010 .7l-.53.53a.48.48 0 01-.699 0l-4.906-4.9-3.888 3.89A3.996 3.996 0 017.996 21h-.34c-1.06 0-2.077-.42-2.827-1.17l-.66-.66A4.002 4.002 0 013 16.34V16c0-1.066.424-2.088 1.18-2.84l3.866-3.87L3.15 4.38a.48.48 0 010-.7l.53-.53a.48.48 0 01.35-.151zM7.995 19a1.998 1.998 0 001.38-.59l3.917-3.88-1.21-1.2-1.998 2a.5.5 0 01-.71 0l-.7-.7a.5.5 0 010-.71l2-2-1.21-1.22-3.877 3.88a2 2 0 00-.59 1.42v.34a2 2 0 00.59 1.42l.65.65c.375.378.886.59 1.419.59h.34zM19.818 4.83l-.66-.66A3.996 3.996 0 0016.33 3h-.34a3.996 3.996 0 00-2.837 1.18l-2.628 2.63 1.468 1.42 2.629-2.64A1.998 1.998 0 0115.99 5h.34c.532 0 1.043.212 1.418.59l.65.65a2 2 0 01.59 1.42V8a2 2 0 01-.59 1.42l-2.628 2.64 1.409 1.41 2.628-2.63A4.001 4.001 0 0020.987 8v-.34c0-1.061-.42-2.08-1.17-2.83zm-5.176 3.82l.7.7a.5.5 0 010 .71l-.78.79-1.41-1.41.78-.79a.5.5 0 01.71 0z"}})]))}}},"8e3d":function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".select-box__col[data-v-dd30a2e8]{min-width:auto}.table[data-v-dd30a2e8]{width:100%;border-collapse:collapse;text-align:left}.table__head[data-v-dd30a2e8]{background:#f4f6f8;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.table__head-cell[data-v-dd30a2e8]{color:#8a96a6;padding-top:12px;padding-bottom:12px;font-weight:500;font-size:12px;line-height:1.16666667}.table__head-cell[data-v-dd30a2e8]:first-of-type{padding-left:24px}.table__cell_center[data-v-dd30a2e8]{text-align:center}",""]),e.exports=t},"8f45":function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".settings-box__label[data-v-48505a26]{color:#8a96a6;margin-left:8px}",""]),e.exports=t},9290:function(e,t,a){"use strict";a("8369")},"93c6":function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".nav-link{text-decoration:none}",""]),e.exports=t},9706:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10A10 10 0 0012 2zm0 18a8 8 0 110-16 8 8 0 010 16zM9.39 7.697a.75.75 0 01.76.023L16 11.36a.76.76 0 010 1.28l-5.85 3.64A.75.75 0 019 15.65v-7.3a.75.75 0 01.39-.653z",fill:"currentColor"}})]))}}},"9c0e":function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12 1.71a.49.49 0 00-.15-.36l-.2-.2a.5.5 0 00-.711 0L7.395 4.68a.51.51 0 000 .71l3.544 3.53a.5.5 0 00.71 0l.2-.2A.49.49 0 0012 8.36V6a6.003 6.003 0 016.006 6c0 .969-.237 1.923-.69 2.78a.5.5 0 00.09.59l.73.73c.111.11.266.161.42.14a.52.52 0 00.371-.24 7.993 7.993 0 00.002-7.997A8.01 8.01 0 0012 4V1.71zm.706 13.222a.5.5 0 01.355.148l3.544 3.53a.51.51 0 010 .71l-3.544 3.53a.501.501 0 01-.71 0l-.2-.2a.49.49 0 01-.151-.36V20a8.01 8.01 0 01-6.93-4.004A7.993 7.993 0 015.074 8a.52.52 0 01.37-.26.5.5 0 01.42.14l.741.74a.51.51 0 01.09.59 5.825 5.825 0 00-.7 2.79c0 3.314 2.689 6 6.006 6v-2.36a.49.49 0 01.15-.36l.2-.2a.5.5 0 01.356-.148z"}})]))}}},"9e53":function(e,t,a){"use strict";a("4fe1")},a1f8:function(e,t,a){var s=a("f492");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("ff1e77f4",s,!0,{sourceMap:!1,shadowMode:!1})},a8e9:function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".table[data-v-4dbd8fc4]{width:100%;border-collapse:collapse;text-align:left}.table__head[data-v-4dbd8fc4]{background:#f4f6f8;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.table__head-cell[data-v-4dbd8fc4]{color:#8a96a6;padding-top:12px;padding-bottom:12px;font-weight:500;font-size:12px;line-height:1.16666667}.table__head-cell[data-v-4dbd8fc4]:first-of-type{padding-left:24px}.table__cell_center[data-v-4dbd8fc4]{text-align:center}",""]),e.exports=t},ab6c:function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".presta-wrapper[data-v-e6e76f56]{position:relative;color:#1e2248}.view-mode[data-v-e6e76f56]{margin:10px 0;padding:10px 0;text-align:center;height:45px;position:sticky;top:0;background:#fff;z-index:1}.main[data-v-e6e76f56]{margin:0 auto;max-width:950px;padding-bottom:64px}.main__panel[data-v-e6e76f56]{height:36px;display:flex;justify-content:space-between}.main__logo[data-v-e6e76f56]{height:36px;width:auto;margin-right:32px}.main__backward[data-v-e6e76f56]{flex-direction:row-reverse}.main__icon-backward[data-v-e6e76f56]{margin-right:4px}.main__body[data-v-e6e76f56]{display:flex}.main__aside[data-v-e6e76f56]{width:220px;margin-right:24px}.main__content[data-v-e6e76f56]{flex:1}",""]),e.exports=t},affc:function(e,t,a){"use strict";a("208c")},b039:function(e,t){e.exports={locale:{short:"ru",long:"Русский",ru:{short:"ru",long:"Русский"},en:{short:"en",long:"Английский"},es:{short:"es",long:"Испанский"}},close:"Закрыть",save:"Сохранить",run:"Запустить модуль",warning:"Важно",error:"Ошибка","not-selected":"Не выбрано",hint:"Где искать?",prestashop:"PrestaShop",crm:"CRM",piece:{short:"шт.",long:"штука"},menu:{settings:"Настройки модуля",advanced:"Дополнительно",debug:"Мониторинг",orders:"Работа с заказами",check:"Проверка работы"},support:{title:"Техподдержка Simla.com",mail:"support@simla.com",subject:"PrestaShop module issue",body:""},catalog:{connected:{title:"Каталог товаров подключен",count:{products:"товаров загружено",offers:"торговых предложений загружено"},date:{old:"Более 7 дней",day:"д.",hour:"ч.",min:"м.",passed:"прошло с момента последней загрузки"},generate:"Загрузить сейчас"},outdated:{title:"Ссылка на каталог товаров устарела",update:"Обновить сейчас"},"not-connected":{title:"Каталог товаров не подключен",notice:"Подключение произойдет автоматически. Обычно, на его создание уходит 15 минут, но может занять до 4 часов. Если спустя это время каталог не будет создан, обратитесь в техподдержку.",check:"Проверить еще раз",support:"Написать в техподдержку",info:"Что такое файл каталога?"}},settings:{"refresh-types":"Обновить типы",connection:{title:"Соединение",address:"Адрес CRM","create-key":"Cоздайте API-ключ в разделе",settings:"Настройки",integration:"Интеграция","api-access":"Ключи доступа к API","api-key":"API ключ","enter-url":"https://demo.simla.com","enter-api-key":"Введите API ключ","make-connection":"Установить соединение","address-hint-desc":"Адрес CRM доступен в адресной строке вашего браузера","api-key-hint-desc":"Вставьте данные из поля «Ключ»"},delivery:{title:"Типы доставок",desc:"Настройте соответствие способов доставки PrestaShop и CRM","add-new-type-in":"Добавить новый тип доставки в CRM можно в разделе",types:"Типы доставок","press-refresh":"После добавления нового типа доставки нажмите кнопку","learn-about":"Узнайте","important-things":"на что обратить внимание","when-creating-types":"при создании нового типа доставки",select:"Выберите тип доставки",notice:"Если в дальнейшем подключите новую службу доставки на стороне PrestaShop, не забудьте добавить ей сопоставление в настройках модуля для корректной работы, иначе заказ в CRM будет выгружен без указания доставки.",popup:{title:"Типы доставки",header:"Обратите внимание при создании нового типа доставки в CRM",countries:"В основных настройках выбраны страны, в которые осуществляется доставка данным способом",payments:"Во вкладке «Способы оплаты» отмечены нужные. Если не выбрано ни одного, данный тип доставок при оформлении заказа предлагаться не будет."}},payment:{title:"Типы оплат",desc:"Настройте соответствие способов оплаты PrestaShop и CRM","add-new-type-in":"Добавить новый тип оплаты в CRM можно в разделе",types:"Типы оплат","press-refresh":"После добавления нового типа оплаты нажмите",select:"Выберите тип оплаты",notice:{"after-setup":"После настройки модуля, проверьте доступность способов оплат для имеющихся типов доставки. Для этого перейдите в административную панель сайта",improve:"Улучшения",payment:"Оплата",settings:"Настройки",restrictions:"внизу указан блок «Ограничения перевозчика»"}},statuses:{title:"Статусы заказов",desc:"Настройте соответствие статусов заказа PrestaShop и CRM","add-new-type-in":"Добавить новый статус в CRM можно в разделе",types:"Статусы","press-refresh":"После добавления нового статуса нажмите ",refresh:"Обновить статусы",select:"Выберите статус заказа",warning:"Значения в сопоставлениях не должны повторяться",notice:"Если в процессе работы на стороне PrestaShop будет добавлен новый статус, его необходимо сопоставить здесь, в настройках модуля, иначе синхронизация заказов по новому статусу не будет совершена"}},advanced:{main:{title:"Расширенные настройки модуля",corporate:{label:"Поддержка корпоративных клиентов",desc:"Будет функционировать, если работа с корпоративными клиентами активирована в Simla.com"},"number-send":{label:"Отправка номера заказа в Simla.com",desc:"Позволяет передавать номер заказа из PrestaShop в Simla.com при выгрузке заказа"},"number-receive":{label:"Получение номера заказа из Simla.com",desc:"Позволяет передавать номер заказа из Simla.com в PrestaShop при обратной синхронизации"}},sync:{title:"Двусторонняя синхронизация",desc:"При изменении заказа или клиента, данные будут поступать не только из PrestaShop в Simla.com, но и из Simla.com в PrestaShop",enable:"Синхронизировать заказы из CRM",hint:"Включите, если хотите, чтобы в PrestaShop выгружались изменения заказов или клиентов из Simla.com",delivery:{label:"Тип доставки по умолчанию",hint:"Присваивается заказу пришедшему из CRM, если в нем указана доставка, которой не задано соответствие в настройках модуля",placeholder:"Выберите тип доставки"},payment:{label:"Тип оплаты по умолчанию",hint:"Присваивается заказу, пришедшему из CRM, если в нем указана оплата, которой не задано соответствие в настройках модуля",placeholder:"Выберите тип оплаты"}},stocks:{title:"Работа с остатками",desc:"В модуле предусмотрено списание товара в PrestaShop при выгрузке заказа из Simla.com. В случае, если какого-то из товаров в заказе будет не достаточно на складе PrestaShop, то заказ будет переведен в выбранный ниже статус в зависимости от наличия полной оплаты",enable:"Получать остатки из Simla.com",hint:"Simla.com будет в автоматическом режиме передавать PrestaShop актуальную информацию по остаткам",paid:{label:"Если заказ оплачен",hint:"Заказ будет переведен в этот статус в случае, если был оплачен и какого-то из товаров в заказе не достаточно на складе PrestaShop",placeholder:"Выберите статус для оплаченного заказа"},"not-paid":{label:"Если заказ не оплачен",hint:"Заказ будет переведен в этот статус в случае, если не был оплачен и какого-то из товаров в заказе не достаточно на складе PrestaShop",placeholder:"Выберите статус для неоплаченного заказа"},notice:"Статус обновляется как в PrestaShop, так и в Simla.com. Если в PrestaShop разрешен заказ товаров с нулевым стоком, то статус заказа не будет изменен, а товар все равно будет списан в PrestaShop."},carts:{title:"Брошенные корзины",desc:"Брошенная корзина — это корзина в интернет-магазине, в которую пользователь добавил товары, но не купил их",enable:"Создавать заказы для брошенных корзин",hint:"Включите, если хотите, чтобы в Simla.com выгружались брошенные корзины покупателей как новые заказы",status:{label:"Статус заказа для брошенных корзин",hint:"Заказы, сгенерированные из брошенных корзин, появятся в Simla.com с выбранным статусом",placeholder:"Выберите статус заказа"},time:{label:"Выгружать брошенные корзины",hint:"Время, по прошествию которого корзина считается брошенной и будет выгружена в Simla.com",placeholder:"Выберите период",value:{900:"После 15 минут",1800:"После 30 минут",2700:"После 45 минут",3600:"После 1 часа"}}},collector:{title:"Сервис сбора данных",desc:{body:"Позволит отследить действия посетителей на сайте, чтобы лучше их узнать и обеспечить тесное взаимодействие системы с пользователями, которые находятся на вашем сайте",left:{title:"Подробное отслеживание",body:"Фиксируем и показываем все действия посетителя на сайте: начал сессию, добавил товар корзину и так далее"},right:{title:"Данные в реальном времени",body:"Отображаем свойства посетителей в карточке клиента: какие UTM-метки присвоились, какие именно товары только что смотрели и прочее"}},activate:{label:"Активировать",hint:"Сервис должен быть так же включен на стороне Simla.com"},notice:{copy:"Cкопируйте идентификатор в разделе",settings:"Настройки",integration:"Интеграция",collector:"Сервис сбора данных"},label:"Идентификатор",placeholder:"Вставьте ключ сайта",hint:"Скопируйте ключ от нужного магазина"},consultant:{title:"Онлайн-консультант",desc:"Чат, размещаемый на вашем сайте и предназначенный для вовлечения в продажи посетителей. Для работы, приобретите модуль онлайн-консультанта и вставьте здесь код",notice:{access:"Доступ к личному кабинету модуля находится в разделе",settings:"Настройки",integration:"Интеграция",marketplace:"Маркетплейс",consultant:"Онлайн-консультант"},label:"Код онлайн-консультанта",placeholder:"Укажите код Онлайн-консультанта",hint:"Скопируйте код в настройках модуля Онлайн-консультанта"},system:{title:"Системные настройки","web-jobs":{label:"Менеджер задач",desc:"Позволяет автоматически запускать менеджер задач в `header`. Изменяйте эту настройку только если знаете что делаете"},debug:{label:"Расширенное логирование",desc:"Позволяет получить более детальную информацию о работе модуля в файлах логов"}}},debug:{title:"Мониторинг",jobs:{title:"Менеджер задач",desc:"Задачи - фоновые процессы, обеспечивающие работу двусторонней синхронизации заказов, брошенных корзин и остатков, генерацию каталога и т.д.",refresh:"Обновить задачи","table-header":{job:"Задача","last-run":"Последний запуск",status:"Статус"},empty:"Ни одна задача еще не была запущена",run:"Запустить вручную",running:"Задача выполняется",succeeded:"Задача была выполнена",names:{RetailcrmAbandonedCartsEvent:"Синхронизация брошенных корзин",RetailcrmIcmlEvent:"Генерация файла каталога",RetailcrmIcmlUpdateUrlEvent:"Обновленние ссылки каталога",RetailcrmSyncEvent:"Обратная синхронизация",RetailcrmInventoriesEvent:"Синхронизация остатков",RetailcrmExportEvent:"Выгрузка архива заказов и клиентов",RetailcrmUpdateSinceIdEvent:"Сброс метки истории",RetailcrmClearLogsEvent:"Очистка старых файлов журналов"},notice:"Если возникли ошибки в работе менеджера задач, его можно сбросить",reset:"Сбросить"},logs:{title:"Журналы",desc:"Файлы журналов с отладочной информацией о работе модуля",refresh:"Обновить журналы","table-header":{name:"Файл",date:"Изменен",size:"Размер"},empty:"Файлы не найдены",download:"Скачать",notice:"Также можно скачать архив со всеми файлами","download-all":"Скачать все"}},orders:{title:"Работа с заказами",upload:{title:"Выгрузка заказов",desc:"В этом разделе вы сможете загрузить заказы из PrestaShop в Simla.com",advices:["Выгружайте несколько заказов единовременно, указав их через запятую без пробелов (1,2,3,4,5) или укажите диапазон (1-5)","Единовременно можно выгрузить до 10 заказов"],placeholder:"Один или несколько через запятую или диапазон",hint:"Номер ID соответствует номеру заказа в PrestaShop",btn:"Выгрузить заказы"},export:{title:"Невыгруженные заказы",desc:"Заказы, которые были созданы в CMS до подключения модуля или которые не получилось выгрузить из-за ошибки в процессе работы",advices:["После начала выгрузки не закрывайте вкладку и не уходите с этой страницы","Если процесс выгрузки прервется (например, вы покинете страницу или возникнут проблемы с соединением) его можно будет возобновить с места остановки"],searching:"Поиск невыгруженных заказов",count:{total:"Всего заказов",unloaded:"Невыгруженных заказов",customers:"Всего клиентов"},run:"Запустить выгрузку","run-desc":"Выгрузить только невыгруженные заказы","run-all":"Выгрузить всё","run-all-desc":"Выгрузить все заказы и всех клиентов, обновить метку истории",success:"Все заказы выгружены"},table:{search:{btn:"Найти",placeholder:"ID заказа в CMS"},filter:{all:"Все",succeeded:"Выгруженные",failed:"С ошибкой"},head:{date:"Дата и время",id_cms:"ID в CMS",id_crm:"ID в CRM",status:"Статус"},"not-found":"Заказы не найдены",uploaded:"Выгружен",failed:"Ошибка",upload:"Выгрузить повторно",uploading:"Выгружается"}},check:{title:"Как убедиться что модуль работает?",text:{duplicate:"Для проверки работы модуля продублируйте последний заказ в Prestashop","go-to":"Перейдите в",simla:"Simla.com",sales:"Продажи",orders:"Заказы","and-check-order":"и проверьте, появился ли заказ в списке","check-options":"Если нужно, чтобы при изменении заказа или клиента, данные поступали не только из PrestaShop в Simla.com, но и из Simla.com в PrestaShop убедитесь что в настройках модуля в разделе «Дополнительно» включена опция «Двусторонняя синхронизация»","remove-tests":"После того как вы убедились что синхронизация работает правильно тестовые заказы можно удалить в Simla.com и PrestaShop","if-has-any-questions":"Если возникли проблемы в работе модуля или недостаточно информации по работе с Simla.com","ask-support":"обратитесь в техподдержку","or-read":"или ознакомьтесь с",materials:"обучающими материалами"}},errors:{unknown:"Неизвестная ошибка",url:"Неверный или пустой адрес системы",key:"Неверный или пустой API ключ системы",version:"Выбранная версия API недоступна или API ключ неверный",carts:"Статус заказа для брошенных корзин не должен быть использован в других настройках",status:"Статусы заказа не должны повторяться в сопоставлении",delivery:"Типы доставки не должны повторяться в сопоставлении",payment:"Типы оплаты не должны повторяться в сопоставлении",collector:"Неверный или пустой идентификатор"},warnings:{delivery:"Выберите значения для всех типов доставки",status:"Выберите значения для всех статусов заказа",payment:"Выберите значения для всех типов оплаты",default:"Выберите значения для всех параметров по умолчанию"}}},b0a6:function(e,t,a){"use strict";a("eae9")},b3a9:function(e,t,a){"use strict";a("1b51")},b9a0:function(e,t,a){var s=a("1e81");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("5fab6dbc",s,!0,{sourceMap:!1,shadowMode:!1})},bb2b:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M19 3H5a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V5a2 2 0 00-2-2zm0 16H5V5h14v14zm-8.65-3.498a.48.48 0 01-.35-.152l-2.38-2.37a.5.5 0 010-.71l.53-.53a.48.48 0 01.7 0l1.5 1.49 4.74-4.74a.5.5 0 01.7 0l.53.53a.5.5 0 010 .71l-5.62 5.62a.48.48 0 01-.35.152z"}})]))}}},c135:function(e,t,a){e.exports=a.p+"img/where-is-search-1.png"},c3ee:function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".supports[data-v-8750f3f4]{color:#8a96a6}",""]),e.exports=t},c665:function(e,t,a){var s={"./en.yml":"26f4","./es.yml":"f7c2","./ru.yml":"b039"};function n(e){var t=o(e);return a(t)}function o(e){if(!a.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return s[e]}n.keys=function(){return Object.keys(s)},n.resolve=o,e.exports=n,n.id="c665"},c84e:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2 12C2 6.477 6.477 2 12 2A10 10 0 112 12zm8.73 3.35l5.62-5.62a.5.5 0 000-.69l-.53-.53a.5.5 0 00-.7 0l-4.74 4.74-1.5-1.49a.48.48 0 00-.7 0l-.53.53a.5.5 0 000 .71l2.38 2.35a.48.48 0 00.7 0z"}})]))}}},c8f6:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M19.016 11.986a3.999 3.999 0 01-4.003 3.994H6.005a3.007 3.007 0 00-2.152.849L1.85 18.826a.49.49 0 01-.35.15.5.5 0 01-.501-.5V5.995A3.999 3.999 0 015.004 2h10.009a3.999 3.999 0 014.003 3.994v5.992zM3.002 5.994v8.988a5.012 5.012 0 013.003-1h9.008a2 2 0 002.002-1.996V5.994a2 2 0 00-2.002-1.997H5.003a2 2 0 00-2.001 1.997zm10.51 3.995h1a.5.5 0 00.5-.5v-.998a.5.5 0 00-.5-.5h-1a.5.5 0 00-.501.5v.998a.5.5 0 00.5.5zm-3.003 0H9.508a.5.5 0 01-.5-.5v-.998a.5.5 0 01.5-.5h1a.5.5 0 01.501.5v.998a.5.5 0 01-.5.5zm-3.504-.5v-.998a.5.5 0 00-.5-.5h-1a.5.5 0 00-.501.5v.998a.5.5 0 00.5.5h1.001a.5.5 0 00.5-.5zm10.01 8.488a3.999 3.999 0 004.003-3.994V5.994A2 2 0 0123 7.991v14.51a.5.5 0 01-.5.499.491.491 0 01-.35-.15l-2.003-1.997a3.006 3.006 0 00-2.131-.879H7.005a2 2 0 01-2.002-1.997h12.01z"}})]))}}},cd27:function(e,t,a){var s=a("fe27");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("6daf0cc1",s,!0,{sourceMap:!1,shadowMode:!1})},d5f5:function(e,t,a){e.exports=a.p+"img/where-is-search-1.png"},dc11:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12 3a.48.48 0 00-.35.152l-5.79 5.79a.5.5 0 000 .71l.2.2a.49.49 0 00.36.15H9v5.5a.5.5 0 00.5.5h5a.5.5 0 00.5-.5v-5.5h2.58a.49.49 0 00.36-.15l.2-.2a.5.5 0 000-.71l-5.79-5.79A.48.48 0 0012 3zm7 16.5v-1a.5.5 0 00-.5-.5h-13a.5.5 0 00-.5.5v1a.5.5 0 00.5.5h13a.5.5 0 00.5-.5z",fill:"currentColor"}})]))}}},df7d:function(e,t,a){"use strict";a("0930")},eae9:function(e,t,a){var s=a("4a36");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("af08c276",s,!0,{sourceMap:!1,shadowMode:!1})},eb96:function(e,t,a){e.exports=a.p+"img/checking-work-2.png"},ee7a:function(e,t,a){var s=a("06de");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("9c8ed058",s,!0,{sourceMap:!1,shadowMode:!1})},eff4:function(e,t,a){var s=a("418b");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("4a4359f8",s,!0,{sourceMap:!1,shadowMode:!1})},f492:function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".table__row[data-v-5b884189]{border-bottom:1px solid #dee2e6;transition:background-color .25s ease}.table__row[data-v-5b884189]:hover{background-color:#f9fafb}.table__row:hover .table__button[data-v-5b884189]{opacity:1;visibility:visible}.table__cell[data-v-5b884189]{padding:20px 8px}.table__cell[data-v-5b884189]:first-of-type{padding-left:24px;padding-right:8px}.table__status[data-v-5b884189]{display:flex;align-items:center}.table__status-text[data-v-5b884189]{border-bottom:1px dotted;text-decoration:none}.table__icon-status[data-v-5b884189]{fill:#c7cdd4;margin-right:4px;width:20px;height:20px}.table__icon-status_error[data-v-5b884189]{fill:#ff5353}.table__button[data-v-5b884189]{transition:opacity .25s ease;opacity:0;visibility:hidden}.table__button_visible[data-v-5b884189]{opacity:1;visibility:visible}.table__button-warning[data-v-5b884189]{fill:#fea530}",""]),e.exports=t},f4e3:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3 3h14a2 2 0 012 2v11a2 2 0 01-2 2H3a2 2 0 01-2-2V5a2 2 0 012-2zm14 5V5H3v3h14zM3 16v-5h14v5H3zm18 2V7a2 2 0 012 2v9a4 4 0 01-4 4H7a2 2 0 01-2-2h14a2 2 0 002-2z"}})]))}}},f7c2:function(e,t){e.exports={locale:{short:"ru",long:"Ruso",ru:{short:"ru",long:"Ruso"},en:{short:"en",long:"Inglés"},es:{short:"es",long:"Español"}},close:"Cerrar",save:"Guardar",run:"Ejecutar módulo",warning:"Importante",error:"Error","not-selected":"No seleccionado",hint:"¿Dónde buscar?",prestashop:"PrestaShop",crm:"CRM",piece:{short:"cs.",long:"cosa"},menu:{settings:"Configuración del módulo",advanced:"Avanzado",debug:"Monitoreo",orders:"Trabajar con pedidos",check:"Comprobación de trabajo"},support:{title:"Soporte Técnico Simla.com",mail:"support@simla.com",subject:"PrestaShop module issue",body:""},catalog:{connected:{title:"Catálogo de productos conectado",count:{products:"mercancías cargadas",offers:"ofertas comerciales descargadas"},date:{old:"Más de 7 días",day:"d.",hour:"h.",min:"m.",passed:"pasado desde la Última carga"},generate:"Descargar ahora"},outdated:{title:"El enlace del catálogo de productos está desactualizado",update:"Actualizar ahora"},"not-connected":{title:"Catálogo de productos no conectado",notice:"La Conexión se realizará automáticamente. Por lo general, toma 15 minutos crearlo, pero puede tomar hasta 4 horas. Si después de este tiempo no se crea el catálogo, póngase en contacto con el soporte técnico.",check:"Comprobar de nuevo",support:"Escribir al soporte técnico",info:"¿Qué es un archivo de directorio?"}},settings:{"refresh-types":"Actualizar tipos",connection:{title:"Conexión",address:"Dirección CRM","create-key":"Crear una clave API en la sección",settings:"Ajustes",integration:"Integración","api-access":"Claves de acceso a la API","api-key":"Clave API","enter-url":"https://demo.simla.com","enter-api-key":"Introduzca la clave API","make-connection":"Establecer conexión","address-hint-desc":"La Dirección de CRM está disponible en la barra de direcciones de su navegador","api-key-hint-desc":"Insertar datos del campo 'Clave'"},delivery:{title:"Tipos de entrega",desc:"Configure el cumplimiento de los métodos de entrega de PrestaShop y CRM","add-new-type-in":"Puede Agregar un nuevo tipo de entrega a CRM en",types:"Tipos de entrega","press-refresh":"Después de agregar un nuevo tipo de entrega, haga clic en","learn-about":"Aprender","important-things":"qué prestar atención","when-creating-types":" al crear un nuevo tipo de entrega",select:"Seleccione el tipo de entrega",notice:"Si conecta un nuevo Servicio de entrega en el lado de PrestaShop en el futuro, no olvide agregarle una asignación en la configuración del módulo para que funcione correctamente, de lo contrario, el pedido en CRM se descargará sin especificar la entrega.",popup:{title:"Tipos de entrega",header:"Tenga en cuenta al crear un nuevo tipo de entrega en CRM",countries:"En la configuración principal, se seleccionan los países a los que se entrega este método",payments:'En la pestaña" métodos de pago " está marcado. Si no se selecciona ninguno, este tipo de entrega no se ofrecerá al realizar el pedido.'}},payment:{title:"Tipos de pago",desc:"Configure la conformidad de los métodos de pago de PrestaShop y CRM","add-new-type-in":"Puede Agregar un nuevo tipo de pago a CRM en",types:"Tipos de pago","press-refresh":"Después de agregar un nuevo tipo de pago, haga clic en",select:"Seleccione el tipo de pago",notice:{"after-setup":"Después de configurar el módulo, compruebe la disponibilidad de métodos de pago para los tipos de envío disponibles. Para hacer esto, vaya al panel de administración del sitio",improve:"Mejoras",payment:"Pago",settings:"Ajustes",restrictions:'en la parte inferior está el bloque "restricciones del transportista"'}},statuses:{title:"Estados de pedidos",desc:"Configure los Estados de pedido de PrestaShop y CRM coincidentes","add-new-type-in":"Puede Agregar un nuevo estado al CRM en",types:"Estados","press-refresh":"Después de agregar un nuevo estado, haga clic en",refresh:"Actualizar Estados",select:"Seleccione el estado del pedido",warning:"Los Valores en las asignaciones no deben repetirse",notice:"Si se agrega un nuevo estado en el lado de PrestaShop, debe asignarlo aquí en la configuración del módulo; de lo contrario, no se realizará la sincronización de pedidos con el nuevo estado"}},advanced:{main:{title:"Configuración avanzada del módulo",corporate:{label:"Soporte para clientes empresariales",desc:"Funcionará si el trabajo con & nbsp;clientes corporativos está activado en Simla.com"},"number-send":{label:"Enviar el número de pedido a Simla.com",desc:"Permite transferir el número de pedido de PrestaShop a Simla.com cuando & nbsp;descarga & nbsp;orden"},"number-receive":{label:"Obtener el número de pedido de Simla.com",desc:"Permite transferir el número de pedido desde Simla.com en PrestaShop cuando & nbsp;inversa & nbsp;sincronización"}},sync:{title:"Sincronización Bidireccional",desc:"Si cambia un pedido o un cliente, los datos no vendrán sólo de PrestaShop a & nbsp;Simla.com. pero también de Simla.com en & nbsp;PrestaShop",enable:"Sincronizar pedidos de CRM",hint:"Habilite si desea que PrestaShop descargue los cambios de pedidos o clientes de Simla.com",delivery:{label:"Tipo de entrega predeterminado",hint:"Se Asigna a un pedido que proviene de un CRM si especifica una entrega que no está configurada en la configuración del módulo",placeholder:"Seleccione el tipo de entrega"},payment:{label:"Tipo de pago predeterminado",hint:"Se Asigna a un pedido que proviene de CRM si se especifica un pago que no está configurado en la configuración del módulo",placeholder:"Seleccione el tipo de pago"}},stocks:{title:"Trabajar con residuos",desc:"El módulo proporciona la cancelación de la mercancía en & nbsp;PrestaShop al descargar el pedido desde Simla.com. en caso de que alguno de los productos en el pedido no sea suficiente en el stock de PrestaShop, el pedido se transferirá al estado seleccionado a continuación, dependiendo de la disponibilidad del pago completo",enable:"Obtener saldos de Simla.com",hint:"Simla.com transferirá automáticamente a PrestaShop información actualizada sobre los saldos",paid:{label:"Si la orden es pagada",hint:"El Pedido será transferido a este estado en caso de que se haya pagado y algunos de los productos en el pedido no sean suficientes en el stock de PrestaShop",placeholder:"Seleccione el estado para el pedido pagado"},"not-paid":{label:"Si el pedido no se paga",hint:"El Pedido se transferirá a este estado en caso de que no se haya pagado y algunos de los productos en el pedido no estén en stock PrestaShop",placeholder:"Seleccione el estado de la orden no pagada"},notice:"El Estado se actualiza tanto en PrestaShop como en Simla.com. si PrestaShop permite el pedido de productos de drenaje cero, el estado del pedido no se cambiará y el artículo se cargará a PrestaShop."},carts:{title:"Carritos Abandonadas",desc:"Un carrito de compras Abandonado es un carrito de compras en una tienda en línea en la que el usuario agregó productos, pero no los compró",enable:"Crear pedidos para cestas abandonadas",hint:"Habilitar Si desea que en Simla.com se descargaron las cestas abandonadas de los compradores como nuevos pedidos",status:{label:"Estado del pedido para cestas abandonadas",sugerencia:"Los Pedidos generados a partir de cestas abandonadas aparecerán en Simla.com con el estado seleccionado",placeholder:"Seleccione el estado del pedido"},time:{label:"Descargar cestas abandonadas",hint:"El Tiempo transcurrido desde el cual se considera que la canasta se ha abandonado y se descargará en Simla.com",placeholder:"Seleccionar período",value:{900:"Después de 15 minutos",1800:"Después de 30 minutos",2700:"Después de 45 minutos",3600:"Después de 1 hora"}}},collector:{title:"Servicio de recopilación de datos",desc:{body:"Permitirá realizar un seguimiento de las actividades de los visitantes en el sitio para conocerlos mejor y garantizar que el sistema interactúe estrechamente con los usuarios que se encuentran en su sitio",left:{title:"Seguimiento Detallado",body:"Fijamos y mostramos todas las acciones del visitante en el sitio: comenzó la sesión, agregó el carrito de compras y así sucesivamente"},right:{title:"Datos en tiempo real",body:"Mostramos las propiedades de los visitantes en la tarjeta del cliente: qué etiquetas UTM se asignaron, qué productos se acaban de ver, etc."}},activate:{label:"Activar",hint:"El Servicio debe estar habilitado de la misma manera en el lado Simla.com"},notice:{copy:"Copie el identificador en la sección",settings:"Ajustes",integration:"Integración",collector:" Servicio de recopilación de datos"},label:"Id",placeholder:"Inserte la clave del sitio",hint:"Copia la clave de la tienda deseada"},consultant:{title:"Consultor en Línea",desc:"Chat alojado en & nbsp;su sitio web y & nbsp;diseñado para participar en ventas de visitantes. Para el trabajo, compre un módulo de consultor en línea e inserte el código aquí",notice:{access:"El acceso al área personal del módulo se encuentra en la sección",settings:"Ajustes",integration:"Integración",marketplace:"Marketplace",consultant:"Consultor en Línea"},label:"Código de consultor en línea",placeholder:"Especifique el código del consultor en Línea",hint:"Copie el código en la configuración del módulo de consultor en Línea"},system:{title:"Preferencias del Sistema","web-jobs":{label:"Administrador de tareas",desc:"Le Permite ejecutar automáticamente el administrador de tareas en`header'. Cambie esta configuración solo si sabe lo que está haciendo."},debug:{label:"Registro Avanzado",desc:"Le Permite obtener información más detallada sobre el funcionamiento del módulo en & nbsp;archivos & nbsp;registros"}}},debug:{title:"Monitoreo",jobs:{title:"Administrador de tareas",desc:"Tareas-procesos en segundo plano que permiten la sincronización bidireccional de pedidos, cestas y residuos abandonados, generación de catálogo, etc.",refresh:"Actualizar tareas","table-header":{job:"Tarea","last-run":" Última ejecución",status:"Estado"},empty:"No se ha iniciado ninguna tarea todavía",run:"Ejecutar manualmente",running:"Tarea en curso",succeeded:"La Tarea ha sido completada",names:{RetailcrmAbandonedCartsEvent:"Sincronizar cestas abandonadas",RetailcrmIcmlEvent:"Generar archivo de directorio",RetailcrmIcmlUpdateUrlEvent:"enlaces de directorio actualizados",RetailcrmSyncEvent:"Sincronización Inversa",RetailcrmInventoriesEvent:"Sincronizar saldos",RetailcrmExportEvent:"Descarga del archivo de pedidos y clientes",RetailcrmUpdateSinceIdEvent:"Restablecer la etiqueta de historial",RetailcrmClearLogsEvent:"Borrar archivos de registro antiguos"},notice:"Si se producen errores en el administrador de tareas, puede restablecerlo",reset:"Restablecer"},logs:{title:"Revistas",desc:"Archivos de registro con información de depuración del módulo",refresh:"Actualizar registros","table-header":{name:"Archivo",date:"Cambiado",size:"Tamaño"},empty:"Archivos no encontrados",download:"Descargar",notice:" También se puede descargar un archivo con todos los archivos","download-all":"Descargar Todo"}},orders:{title:"Trabajar con pedidos",upload:{title:"Descarga de pedidos",desc:"En esta sección podrás descargar los pedidos de PrestaShop en Simla.com",advices:["Descargue varios pedidos a la vez especificándolos separados por comas < / B> sin espacios (1,2,3,4,5) o especifique < B > rango< / B >(1-5)","Puede descargar hasta 10 pedidos< / b>"],placeholder:" Uno o más separados por comas o rango",sugerencia:"El número de identificación coincide con el número de pedido en PrestaShop",btn:"Descargar pedidos"},export:{title:"Pedidos no descargados",desc:"Pedidos que se crearon en el CMS antes de conectar el módulo o que no se pudieron descargar debido a un error en el proceso",advices:["Una vez que comience la descarga, no cierre la pestaña ni salga de esta página","Si el proceso de descarga se interrumpe (por ejemplo, si abandona la página o tiene problemas con la conexión), se puede reanudar desde el punto de parada"],searching:"Buscar pedidos pendientes",count:{total:"Pedidos Totales",unloaded:"Pedidos no descargados",customers:"Total de clientes"},run:"Ejecutar descarga","run-desc":"Cargar solo pedidos no descargados","run-all":"Descargar todo","run-all-desc":"Cargar todos pedidos y todos clientes, actualizar historial etiqueta",success:" Todos los pedidos descargados"},table:{search:{btn:"Buscar",placeholder:" Id de pedido en CMS"},filter:{all:"Todos",succeeded:"Descargado",failed:"Con error"},head:{date:"Fecha y hora",id_cms:"ID en CMS",id_crm:" Id en CRM",status:"Estado"},"not-found":"Pedidos no encontrados",uploaded:"Descargado",failed:"Error",upload:"Volver a Cargar",uploading:"Descargado"}},check:{title:"¿cómo asegurarse de que el módulo funciona?",text:{duplicate:"Para comprobar el funcionamiento del módulo, duplique el último pedido en Prestashop","go-to":"Ir a",simla:"Simla.com",sales:"Ventas",orders:"Pedidos","and-check-order":" y compruebe si el pedido aparece en la lista","check-options":'Si necesita que cuando cambie un pedido o un cliente, los datos no solo provienen de PrestaShop en Simla.com, pero también de Simla.com en PrestaShop, asegúrese de que la opción "sincronización Bidireccional" esté habilitada en la configuración del módulo en "Avanzado"',"remove-tests":"Una vez que haya comprobado que la sincronización funciona correctamente, las órdenes de prueba se pueden eliminar en Simla.com y PrestaShop","if-has-any-questions":" Si hay problemas en el funcionamiento del módulo o no hay suficiente información sobre cómo trabajar con Simla.com","ask-support":"póngase en contacto con el soporte técnico","or-read":"o echa un vistazo a",materials:"material didáctico"}},errors:{unknown:"Error Desconocido",url:"Dirección del sistema Incorrecta o vacía",key:"Clave API del sistema no Válida o vacía",version:"La versión API Seleccionada no está disponible o la clave API es incorrecta",carts:" El estado del pedido de las cestas abandonadas no debe usarse en otras configuraciones",status:"Los Estados de pedido no deben repetirse en la asignación",delivery:"Los Tipos de entrega no deben repetirse en la comparación",payment:"Los tipos de pago no deben repetirse en la comparación",collector:"Id no Válido o vacío"},warnings:{delivery:"Seleccione los valores para todos los tipos de entrega",status:"Seleccione los valores para todos los Estados del pedido",payment:"Seleccione valores para todos los tipos de pago",default:"Seleccione los valores para todos los valores predeterminados"}}},f908:function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".additional[data-v-0fd3425e]{padding:24px 24px 24px 52px;margin-bottom:-12px;background:#f9fafb}.additional__row[data-v-0fd3425e]{margin-bottom:15px;padding-bottom:20px;border-bottom:1px solid #dee2e6}.additional__title[data-v-0fd3425e]{font-weight:400;font-size:16px;line-height:1.5}.additional__text[data-v-0fd3425e]{font-weight:400;font-size:14px;line-height:1.42857143;color:#8a96a6;margin-top:8px}",""]),e.exports=t},fa43:function(e,t,a){var s=a("ded3").default,n=a("4082").default,o=["class","staticClass","style","staticStyle","attrs"];a("99af"),e.exports={functional:!0,render:function(e,t){var a=t._c,r=(t._v,t.data),i=t.children,c=void 0===i?[]:i,l=r.class,d=r.staticClass,u=r.style,p=r.staticStyle,f=r.attrs,h=void 0===f?{}:f,m=n(r,o);return a("svg",s({class:[l,d],style:[u,p],attrs:Object.assign({viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},h)},m),c.concat([a("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2 12C2 6.477 6.477 2 12 2A10 10 0 112 12zm2 0a8 8 0 1016 0 8 8 0 00-16 0zm6.5-4h-1a.5.5 0 00-.5.5v7a.5.5 0 00.5.5h1a.5.5 0 00.5-.5v-7a.5.5 0 00-.5-.5zm3 0h1a.5.5 0 01.5.5v7a.5.5 0 01-.5.5h-1a.5.5 0 01-.5-.5v-7a.5.5 0 01.5-.5z",fill:"currentColor"}})]))}}},fbff:function(e,t,a){var s=a("8f45");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=a("499e").default;n("09cbaeef",s,!0,{sourceMap:!1,shadowMode:!1})},fe27:function(e,t,a){var s=a("24fb");t=s(!1),t.push([e.i,".info[data-v-c6bbe4ea]{display:flex}.info__col[data-v-c6bbe4ea]{width:264px}.info__col+.info__col[data-v-c6bbe4ea]{margin-left:32px}.info__icon[data-v-c6bbe4ea]{width:28px;height:28px;color:#6528d7}.info__icon_green[data-v-c6bbe4ea]{color:#22c993}.info__title[data-v-c6bbe4ea]{font-weight:500;font-size:18px;line-height:1.55555556}.info__text[data-v-c6bbe4ea]{font-weight:400;font-size:14px;line-height:1.42857143;color:#8a96a6;margin-top:8px}",""]),e.exports=t}});
\ No newline at end of file
diff --git a/retailcrm/views/js/chunk-vendors.js b/retailcrm/views/js/chunk-vendors.js
new file mode 100644
index 0000000..7aee575
--- /dev/null
+++ b/retailcrm/views/js/chunk-vendors.js
@@ -0,0 +1,90 @@
+/*!
+ * MIT License
+ *
+ * Copyright (c) 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
+ * versions in the future. If you wish to customize PrestaShop for your
+ * needs please refer to http://www.prestashop.com for more information.
+ *
+ * @author DIGITAL RETAIL TECHNOLOGIES SL
+ * @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL
+ * @license https://opensource.org/licenses/MIT The MIT License
+ *
+ * Don\'t forget to prefix your containers with your own identifier
+ * to avoid any conflicts with others containers.
+ *
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00ee":function(t,e,n){var i=n("b622"),r=i("toStringTag"),o={};o[r]="z",t.exports="[object z]"===String(o)},"0366":function(t,e,n){var i=n("1c0b");t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},"04d1":function(t,e,n){var i=n("342f"),r=i.match(/firefox\/(\d+)/i);t.exports=!!r&&+r[1]},"057f":function(t,e,n){var i=n("fc6a"),r=n("241c").f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return r(t)}catch(e){return a.slice()}};t.exports.f=function(t){return a&&"[object Window]"==o.call(t)?s(t):r(i(t))}},"06cf":function(t,e,n){var i=n("83ab"),r=n("d1e7"),o=n("5c6c"),a=n("fc6a"),s=n("a04b"),l=n("5135"),c=n("0cfb"),u=Object.getOwnPropertyDescriptor;e.f=i?u:function(t,e){if(t=a(t),e=s(e),c)try{return u(t,e)}catch(n){}if(l(t,e))return o(!r.f.call(t,e),t[e])}},"0a06":function(t,e,n){"use strict";var i=n("c532"),r=n("30b5"),o=n("f6b4"),a=n("5270"),s=n("4a7b"),l=n("848b"),c=l.validators;function u(t){this.defaults=t,this.interceptors={request:new o,response:new o}}u.prototype.request=function(t){"string"===typeof t?(t=arguments[1]||{},t.url=arguments[0]):t=t||{},t=s(this.defaults,t),t.method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=t.transitional;void 0!==e&&l.assertOptions(e,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var n=[],i=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(i=i&&e.synchronous,n.unshift(e.fulfilled,e.rejected))}));var r,o=[];if(this.interceptors.response.forEach((function(t){o.push(t.fulfilled,t.rejected)})),!i){var u=[a,void 0];Array.prototype.unshift.apply(u,n),u=u.concat(o),r=Promise.resolve(t);while(u.length)r=r.then(u.shift(),u.shift());return r}var p=t;while(n.length){var d=n.shift(),f=n.shift();try{p=d(p)}catch(_){f(_);break}}try{r=a(p)}catch(_){return Promise.reject(_)}while(o.length)r=r.then(o.shift(),o.shift());return r},u.prototype.getUri=function(t){return t=s(this.defaults,t),r(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},i.forEach(["delete","get","head","options"],(function(t){u.prototype[t]=function(e,n){return this.request(s(n||{},{method:t,url:e,data:(n||{}).data}))}})),i.forEach(["post","put","patch"],(function(t){u.prototype[t]=function(e,n,i){return this.request(s(i||{},{method:t,url:e,data:n}))}})),t.exports=u},"0b42":function(t,e,n){var i=n("861d"),r=n("e8b5"),o=n("b622"),a=o("species");t.exports=function(t){var e;return r(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!r(e.prototype)?i(e)&&(e=e[a],null===e&&(e=void 0)):e=void 0),void 0===e?Array:e}},"0cb2":function(t,e,n){var i=n("7b0b"),r=Math.floor,o="".replace,a=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,s=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,n,l,c,u){var p=n+t.length,d=l.length,f=s;return void 0!==c&&(c=i(c),f=a),o.call(u,f,(function(i,o){var a;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,n);case"'":return e.slice(p);case"<":a=c[o.slice(1,-1)];break;default:var s=+o;if(0===s)return i;if(s>d){var u=r(s/10);return 0===u?i:u<=d?void 0===l[u-1]?o.charAt(1):l[u-1]+o.charAt(1):i}a=l[s-1]}return void 0===a?"":a}))}},"0cfb":function(t,e,n){var i=n("83ab"),r=n("d039"),o=n("cc12");t.exports=!i&&!r((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},"0d3b":function(t,e,n){var i=n("d039"),r=n("b622"),o=n("c430"),a=r("iterator");t.exports=!i((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),e=t.searchParams,n="";return t.pathname="c%20d",e.forEach((function(t,i){e["delete"]("b"),n+=i+t})),o&&!t.toJSON||!e.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},"0df6":function(t,e,n){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},"107c":function(t,e,n){var i=n("d039"),r=n("da84"),o=r.RegExp;t.exports=i((function(){var t=o("(?b)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$c")}))},1276:function(t,e,n){"use strict";var i=n("d784"),r=n("44e7"),o=n("825a"),a=n("1d80"),s=n("4840"),l=n("8aa5"),c=n("50c4"),u=n("577e"),p=n("14c3"),d=n("9263"),f=n("9f7f"),_=n("d039"),h=f.UNSUPPORTED_Y,b=[].push,g=Math.min,v=4294967295,m=!_((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));i("split",(function(t,e,n){var i;return i="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var i=u(a(this)),o=void 0===n?v:n>>>0;if(0===o)return[];if(void 0===t)return[i];if(!r(t))return e.call(i,t,o);var s,l,c,p=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),_=0,h=new RegExp(t.source,f+"g");while(s=d.call(h,i)){if(l=h.lastIndex,l>_&&(p.push(i.slice(_,s.index)),s.length>1&&s.index=o))break;h.lastIndex===s.index&&h.lastIndex++}return _===i.length?!c&&h.test("")||p.push(""):p.push(i.slice(_)),p.length>o?p.slice(0,o):p}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var r=a(this),o=void 0==e?void 0:e[t];return void 0!==o?o.call(e,r,n):i.call(u(r),e,n)},function(t,r){var a=o(this),d=u(t),f=n(i,a,d,r,i!==e);if(f.done)return f.value;var _=s(a,RegExp),b=a.unicode,m=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(h?"g":"y"),x=new _(h?"^(?:"+a.source+")":a,m),y=void 0===r?v:r>>>0;if(0===y)return[];if(0===d.length)return null===p(x,d)?[d]:[];var w=0,A=0,U=[];while(A1?arguments[1]:void 0)}},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"1be4":function(t,e,n){var i=n("d066");t.exports=i("document","documentElement")},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(t,e,n){var i=n("b622"),r=i("iterator"),o=!1;try{var a=0,s={next:function(){return{done:!!a++}},return:function(){o=!0}};s[r]=function(){return this},Array.from(s,(function(){throw 2}))}catch(l){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},t(i)}catch(l){}return n}},"1cdc":function(t,e,n){var i=n("342f");t.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(i)},"1d2b":function(t,e,n){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),i=0;i=51||!i((function(){var e=[],n=e.constructor={};return n[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},2266:function(t,e,n){var i=n("825a"),r=n("e95a"),o=n("50c4"),a=n("0366"),s=n("35a1"),l=n("2a62"),c=function(t,e){this.stopped=t,this.result=e};t.exports=function(t,e,n){var u,p,d,f,_,h,b,g=n&&n.that,v=!(!n||!n.AS_ENTRIES),m=!(!n||!n.IS_ITERATOR),x=!(!n||!n.INTERRUPTED),y=a(e,g,1+v+x),w=function(t){return u&&l(u),new c(!0,t)},A=function(t){return v?(i(t),x?y(t[0],t[1],w):y(t[0],t[1])):x?y(t,w):y(t)};if(m)u=t;else{if(p=s(t),"function"!=typeof p)throw TypeError("Target is not iterable");if(r(p)){for(d=0,f=o(t.length);f>d;d++)if(_=A(t[d]),_&&_ instanceof c)return _;return new c(!1)}u=p.call(t)}h=u.next;while(!(b=h.call(u)).done){try{_=A(b.value)}catch(U){throw l(u),U}if("object"==typeof _&&_&&_ instanceof c)return _}return new c(!1)}},"23cb":function(t,e,n){var i=n("a691"),r=Math.max,o=Math.min;t.exports=function(t,e){var n=i(t);return n<0?r(n+e,0):o(n,e)}},"23e7":function(t,e,n){var i=n("da84"),r=n("06cf").f,o=n("9112"),a=n("6eeb"),s=n("ce4e"),l=n("e893"),c=n("94ca");t.exports=function(t,e){var n,u,p,d,f,_,h=t.target,b=t.global,g=t.stat;if(u=b?i:g?i[h]||s(h,{}):(i[h]||{}).prototype,u)for(p in e){if(f=e[p],t.noTargetGet?(_=r(u,p),d=_&&_.value):d=u[p],n=c(b?p:h+(g?".":"#")+p,t.forced),!n&&void 0!==d){if(typeof f===typeof d)continue;l(f,d)}(t.sham||d&&d.sham)&&o(f,"sham",!0),a(u,p,f,t)}}},"241c":function(t,e,n){var i=n("ca84"),r=n("7839"),o=r.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,o)}},2444:function(t,e,n){"use strict";(function(e){var i=n("c532"),r=n("c8af"),o=n("387f"),a={"Content-Type":"application/x-www-form-urlencoded"};function s(t,e){!i.isUndefined(t)&&i.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}function l(){var t;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof e&&"[object process]"===Object.prototype.toString.call(e))&&(t=n("b50d")),t}function c(t,e,n){if(i.isString(t))try{return(e||JSON.parse)(t),i.trim(t)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(t)}var u={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:l(),transformRequest:[function(t,e){return r(e,"Accept"),r(e,"Content-Type"),i.isFormData(t)||i.isArrayBuffer(t)||i.isBuffer(t)||i.isStream(t)||i.isFile(t)||i.isBlob(t)?t:i.isArrayBufferView(t)?t.buffer:i.isURLSearchParams(t)?(s(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):i.isObject(t)||e&&"application/json"===e["Content-Type"]?(s(e,"application/json"),c(t)):t}],transformResponse:[function(t){var e=this.transitional||u.transitional,n=e&&e.silentJSONParsing,r=e&&e.forcedJSONParsing,a=!n&&"json"===this.responseType;if(a||r&&i.isString(t)&&t.length)try{return JSON.parse(t)}catch(s){if(a){if("SyntaxError"===s.name)throw o(s,this,"E_JSON_PARSE");throw s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};i.forEach(["delete","get","head"],(function(t){u.headers[t]={}})),i.forEach(["post","put","patch"],(function(t){u.headers[t]=i.merge(a)})),t.exports=u}).call(this,n("4362"))},"24fb":function(t,e,n){"use strict";function i(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"===typeof btoa){var o=r(i),a=i.sources.map((function(t){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(t," */")}));return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}function r(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(e);return"/*# ".concat(n," */")}t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=i(e,t);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,i){"string"===typeof t&&(t=[[null,t,""]]);var r={};if(i)for(var o=0;o1?arguments[1]:void 0)}})},"25f0":function(t,e,n){"use strict";var i=n("6eeb"),r=n("825a"),o=n("577e"),a=n("d039"),s=n("ad6d"),l="toString",c=RegExp.prototype,u=c[l],p=a((function(){return"/a/b"!=u.call({source:"a",flags:"b"})})),d=u.name!=l;(p||d)&&i(RegExp.prototype,l,(function(){var t=r(this),e=o(t.source),n=t.flags,i=o(void 0===n&&t instanceof RegExp&&!("flags"in c)?s.call(t):n);return"/"+e+"/"+i}),{unsafe:!0})},2626:function(t,e,n){"use strict";var i=n("d066"),r=n("9bf2"),o=n("b622"),a=n("83ab"),s=o("species");t.exports=function(t){var e=i(t),n=r.f;a&&e&&!e[s]&&n(e,s,{configurable:!0,get:function(){return this}})}},2877:function(t,e,n){"use strict";function i(t,e,n,i,r,o,a,s){var l,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(l=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):r&&(l=s?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:t,options:c}}n.d(e,"a",(function(){return i}))},2909:function(t,e,n){"use strict";function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n?@[\\\]^|]/,P=/[\0\t\n\r #/:<>?@[\\\]^|]/,z=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,R=/[\t\n\r]/g,F=function(t,e){var n,i,r;if("["==e.charAt(0)){if("]"!=e.charAt(e.length-1))return I;if(n=W(e.slice(1,-1)),!n)return I;t.host=n}else if(K(t)){if(e=h(e),j.test(e))return I;if(n=H(e),null===n)return I;t.host=n}else{if(P.test(e))return I;for(n="",i=f(e),r=0;r4)return t;for(n=[],i=0;i1&&"0"==r.charAt(0)&&(o=E.test(r)?16:8,r=r.slice(8==o?1:2)),""===r)a=0;else{if(!(10==o?L:8==o?M:N).test(r))return t;a=parseInt(r,o)}n.push(a)}for(i=0;i=S(256,5-e))return null}else if(a>255)return null;for(s=n.pop(),i=0;i6)return;i=0;while(d()){if(r=null,i>0){if(!("."==d()&&i<4))return;p++}if(!D.test(d()))return;while(D.test(d())){if(o=parseInt(d(),10),null===r)r=o;else{if(0==r)return;r=10*r+o}if(r>255)return;p++}l[c]=256*l[c]+r,i++,2!=i&&4!=i||c++}if(4!=i)return;break}if(":"==d()){if(p++,!d())return}else if(d())return;l[c++]=e}else{if(null!==u)return;p++,c++,u=c}}if(null!==u){a=c-u,c=7;while(0!=c&&a>0)s=l[c],l[c--]=l[u+a-1],l[u+--a]=s}else if(8!=c)return;return l},G=function(t){for(var e=null,n=1,i=null,r=0,o=0;o<8;o++)0!==t[o]?(r>n&&(e=i,n=r),i=null,r=0):(null===i&&(i=o),++r);return r>n&&(e=i,n=r),e},V=function(t){var e,n,i,r;if("number"==typeof t){for(e=[],n=0;n<4;n++)e.unshift(t%256),t=k(t/256);return e.join(".")}if("object"==typeof t){for(e="",i=G(t),n=0;n<8;n++)r&&0===t[n]||(r&&(r=!1),i===n?(e+=n?":":"::",r=!0):(e+=t[n].toString(16),n<7&&(e+=":")));return"["+e+"]"}return t},Y={},X=d({},Y,{" ":1,'"':1,"<":1,">":1,"`":1}),Q=d({},X,{"#":1,"?":1,"{":1,"}":1}),q=d({},Q,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),J=function(t,e){var n=_(t,0);return n>32&&n<127&&!p(e,t)?t:encodeURIComponent(t)},Z={ftp:21,file:null,http:80,https:443,ws:80,wss:443},K=function(t){return p(Z,t.scheme)},tt=function(t){return""!=t.username||""!=t.password},et=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},nt=function(t,e){var n;return 2==t.length&&O.test(t.charAt(0))&&(":"==(n=t.charAt(1))||!e&&"|"==n)},it=function(t){var e;return t.length>1&&nt(t.slice(0,2))&&(2==t.length||"/"===(e=t.charAt(2))||"\\"===e||"?"===e||"#"===e)},rt=function(t){var e=t.path,n=e.length;!n||"file"==t.scheme&&1==n&&nt(e[0],!0)||e.pop()},ot=function(t){return"."===t||"%2e"===t.toLowerCase()},at=function(t){return t=t.toLowerCase(),".."===t||"%2e."===t||".%2e"===t||"%2e%2e"===t},st={},lt={},ct={},ut={},pt={},dt={},ft={},_t={},ht={},bt={},gt={},vt={},mt={},xt={},yt={},wt={},At={},Ut={},kt={},St={},Ct={},Bt=function(t,e,n,r){var o,a,s,l,c=n||st,u=0,d="",_=!1,h=!1,b=!1;n||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,e=e.replace(z,"")),e=e.replace(R,""),o=f(e);while(u<=o.length){switch(a=o[u],c){case st:if(!a||!O.test(a)){if(n)return B;c=ct;continue}d+=a.toLowerCase(),c=lt;break;case lt:if(a&&($.test(a)||"+"==a||"-"==a||"."==a))d+=a.toLowerCase();else{if(":"!=a){if(n)return B;d="",c=ct,u=0;continue}if(n&&(K(t)!=p(Z,d)||"file"==d&&(tt(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=d,n)return void(K(t)&&Z[t.scheme]==t.port&&(t.port=null));d="","file"==t.scheme?c=xt:K(t)&&r&&r.scheme==t.scheme?c=ut:K(t)?c=_t:"/"==o[u+1]?(c=pt,u++):(t.cannotBeABaseURL=!0,t.path.push(""),c=kt)}break;case ct:if(!r||r.cannotBeABaseURL&&"#"!=a)return B;if(r.cannotBeABaseURL&&"#"==a){t.scheme=r.scheme,t.path=r.path.slice(),t.query=r.query,t.fragment="",t.cannotBeABaseURL=!0,c=Ct;break}c="file"==r.scheme?xt:dt;continue;case ut:if("/"!=a||"/"!=o[u+1]){c=dt;continue}c=ht,u++;break;case pt:if("/"==a){c=bt;break}c=Ut;continue;case dt:if(t.scheme=r.scheme,a==i)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query;else if("/"==a||"\\"==a&&K(t))c=ft;else if("?"==a)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query="",c=St;else{if("#"!=a){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.path.pop(),c=Ut;continue}t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query,t.fragment="",c=Ct}break;case ft:if(!K(t)||"/"!=a&&"\\"!=a){if("/"!=a){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,c=Ut;continue}c=bt}else c=ht;break;case _t:if(c=ht,"/"!=a||"/"!=d.charAt(u+1))continue;u++;break;case ht:if("/"!=a&&"\\"!=a){c=bt;continue}break;case bt:if("@"==a){_&&(d="%40"+d),_=!0,s=f(d);for(var g=0;g65535)return T;t.port=K(t)&&x===Z[t.scheme]?null:x,d=""}if(n)return;c=At;continue}return T}d+=a;break;case xt:if(t.scheme="file","/"==a||"\\"==a)c=yt;else{if(!r||"file"!=r.scheme){c=Ut;continue}if(a==i)t.host=r.host,t.path=r.path.slice(),t.query=r.query;else if("?"==a)t.host=r.host,t.path=r.path.slice(),t.query="",c=St;else{if("#"!=a){it(o.slice(u).join(""))||(t.host=r.host,t.path=r.path.slice(),rt(t)),c=Ut;continue}t.host=r.host,t.path=r.path.slice(),t.query=r.query,t.fragment="",c=Ct}}break;case yt:if("/"==a||"\\"==a){c=wt;break}r&&"file"==r.scheme&&!it(o.slice(u).join(""))&&(nt(r.path[0],!0)?t.path.push(r.path[0]):t.host=r.host),c=Ut;continue;case wt:if(a==i||"/"==a||"\\"==a||"?"==a||"#"==a){if(!n&&nt(d))c=Ut;else if(""==d){if(t.host="",n)return;c=At}else{if(l=F(t,d),l)return l;if("localhost"==t.host&&(t.host=""),n)return;d="",c=At}continue}d+=a;break;case At:if(K(t)){if(c=Ut,"/"!=a&&"\\"!=a)continue}else if(n||"?"!=a)if(n||"#"!=a){if(a!=i&&(c=Ut,"/"!=a))continue}else t.fragment="",c=Ct;else t.query="",c=St;break;case Ut:if(a==i||"/"==a||"\\"==a&&K(t)||!n&&("?"==a||"#"==a)){if(at(d)?(rt(t),"/"==a||"\\"==a&&K(t)||t.path.push("")):ot(d)?"/"==a||"\\"==a&&K(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&nt(d)&&(t.host&&(t.host=""),d=d.charAt(0)+":"),t.path.push(d)),d="","file"==t.scheme&&(a==i||"?"==a||"#"==a))while(t.path.length>1&&""===t.path[0])t.path.shift();"?"==a?(t.query="",c=St):"#"==a&&(t.fragment="",c=Ct)}else d+=J(a,Q);break;case kt:"?"==a?(t.query="",c=St):"#"==a?(t.fragment="",c=Ct):a!=i&&(t.path[0]+=J(a,Y));break;case St:n||"#"!=a?a!=i&&("'"==a&&K(t)?t.query+="%27":t.query+="#"==a?"%23":J(a,Y)):(t.fragment="",c=Ct);break;case Ct:a!=i&&(t.fragment+=J(a,X));break}u++}},It=function(t){var e,n,i=u(this,It,"URL"),r=arguments.length>1?arguments[1]:void 0,a=b(t),s=A(i,{type:"URL"});if(void 0!==r)if(r instanceof It)e=U(r);else if(n=Bt(e={},b(r)),n)throw TypeError(n);if(n=Bt(s,a,null,e),n)throw TypeError(n);var l=s.searchParams=new y,c=w(l);c.updateSearchParams(s.query),c.updateURL=function(){s.query=String(l)||null},o||(i.href=Ot.call(i),i.origin=$t.call(i),i.protocol=Dt.call(i),i.username=Et.call(i),i.password=Mt.call(i),i.host=Lt.call(i),i.hostname=Nt.call(i),i.port=jt.call(i),i.pathname=Pt.call(i),i.search=zt.call(i),i.searchParams=Rt.call(i),i.hash=Ft.call(i))},Tt=It.prototype,Ot=function(){var t=U(this),e=t.scheme,n=t.username,i=t.password,r=t.host,o=t.port,a=t.path,s=t.query,l=t.fragment,c=e+":";return null!==r?(c+="//",tt(t)&&(c+=n+(i?":"+i:"")+"@"),c+=V(r),null!==o&&(c+=":"+o)):"file"==e&&(c+="//"),c+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==s&&(c+="?"+s),null!==l&&(c+="#"+l),c},$t=function(){var t=U(this),e=t.scheme,n=t.port;if("blob"==e)try{return new It(e.path[0]).origin}catch(i){return"null"}return"file"!=e&&K(t)?e+"://"+V(t.host)+(null!==n?":"+n:""):"null"},Dt=function(){return U(this).scheme+":"},Et=function(){return U(this).username},Mt=function(){return U(this).password},Lt=function(){var t=U(this),e=t.host,n=t.port;return null===e?"":null===n?V(e):V(e)+":"+n},Nt=function(){var t=U(this).host;return null===t?"":V(t)},jt=function(){var t=U(this).port;return null===t?"":String(t)},Pt=function(){var t=U(this),e=t.path;return t.cannotBeABaseURL?e[0]:e.length?"/"+e.join("/"):""},zt=function(){var t=U(this).query;return t?"?"+t:""},Rt=function(){return U(this).searchParams},Ft=function(){var t=U(this).fragment;return t?"#"+t:""},Ht=function(t,e){return{get:t,set:e,configurable:!0,enumerable:!0}};if(o&&l(Tt,{href:Ht(Ot,(function(t){var e=U(this),n=b(t),i=Bt(e,n);if(i)throw TypeError(i);w(e.searchParams).updateSearchParams(e.query)})),origin:Ht($t),protocol:Ht(Dt,(function(t){var e=U(this);Bt(e,b(t)+":",st)})),username:Ht(Et,(function(t){var e=U(this),n=f(b(t));if(!et(e)){e.username="";for(var i=0;i1?arguments[1]:void 0,e.length)),i=a(t);return p?p.call(e,i,n):e.slice(n,n+i.length)===i}})},"2cf4":function(t,e,n){var i,r,o,a,s=n("da84"),l=n("d039"),c=n("0366"),u=n("1be4"),p=n("cc12"),d=n("1cdc"),f=n("605d"),_=s.setImmediate,h=s.clearImmediate,b=s.process,g=s.MessageChannel,v=s.Dispatch,m=0,x={},y="onreadystatechange";try{i=s.location}catch(S){}var w=function(t){if(x.hasOwnProperty(t)){var e=x[t];delete x[t],e()}},A=function(t){return function(){w(t)}},U=function(t){w(t.data)},k=function(t){s.postMessage(String(t),i.protocol+"//"+i.host)};_&&h||(_=function(t){var e=[],n=arguments.length,i=1;while(n>i)e.push(arguments[i++]);return x[++m]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(m),m},h=function(t){delete x[t]},f?r=function(t){b.nextTick(A(t))}:v&&v.now?r=function(t){v.now(A(t))}:g&&!d?(o=new g,a=o.port2,o.port1.onmessage=U,r=c(a.postMessage,a,1)):s.addEventListener&&"function"==typeof postMessage&&!s.importScripts&&i&&"file:"!==i.protocol&&!l(k)?(r=k,s.addEventListener("message",U,!1)):r=y in p("script")?function(t){u.appendChild(p("script"))[y]=function(){u.removeChild(this),w(t)}}:function(t){setTimeout(A(t),0)}),t.exports={set:_,clear:h}},"2d00":function(t,e,n){var i,r,o=n("da84"),a=n("342f"),s=o.process,l=o.Deno,c=s&&s.versions||l&&l.version,u=c&&c.v8;u?(i=u.split("."),r=i[0]<4?1:i[0]+i[1]):a&&(i=a.match(/Edge\/(\d+)/),(!i||i[1]>=74)&&(i=a.match(/Chrome\/(\d+)/),i&&(r=i[1]))),t.exports=r&&+r},"2d83":function(t,e,n){"use strict";var i=n("387f");t.exports=function(t,e,n,r,o){var a=new Error(t);return i(a,e,n,r,o)}},"2e67":function(t,e,n){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},"2f62":function(t,e,n){"use strict";(function(t){
+/*!
+ * vuex v3.6.2
+ * (c) 2021 Evan You
+ * @license MIT
+ */
+function n(t){var e=Number(t.version.split(".")[0]);if(e>=2)t.mixin({beforeCreate:i});else{var n=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[i].concat(t.init):i,n.call(this,t)}}function i(){var t=this.$options;t.store?this.$store="function"===typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}var i="undefined"!==typeof window?window:"undefined"!==typeof t?t:{},r=i.__VUE_DEVTOOLS_GLOBAL_HOOK__;function o(t){r&&(t._devtoolHook=r,r.emit("vuex:init",t),r.on("vuex:travel-to-state",(function(e){t.replaceState(e)})),t.subscribe((function(t,e){r.emit("vuex:mutation",t,e)}),{prepend:!0}),t.subscribeAction((function(t,e){r.emit("vuex:action",t,e)}),{prepend:!0}))}function a(t,e){return t.filter(e)[0]}function s(t,e){if(void 0===e&&(e=[]),null===t||"object"!==typeof t)return t;var n=a(e,(function(e){return e.original===t}));if(n)return n.copy;var i=Array.isArray(t)?[]:{};return e.push({original:t,copy:i}),Object.keys(t).forEach((function(n){i[n]=s(t[n],e)})),i}function l(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function c(t){return null!==t&&"object"===typeof t}function u(t){return t&&"function"===typeof t.then}function p(t,e){return function(){return t(e)}}var d=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},f={namespaced:{configurable:!0}};f.namespaced.get=function(){return!!this._rawModule.namespaced},d.prototype.addChild=function(t,e){this._children[t]=e},d.prototype.removeChild=function(t){delete this._children[t]},d.prototype.getChild=function(t){return this._children[t]},d.prototype.hasChild=function(t){return t in this._children},d.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},d.prototype.forEachChild=function(t){l(this._children,t)},d.prototype.forEachGetter=function(t){this._rawModule.getters&&l(this._rawModule.getters,t)},d.prototype.forEachAction=function(t){this._rawModule.actions&&l(this._rawModule.actions,t)},d.prototype.forEachMutation=function(t){this._rawModule.mutations&&l(this._rawModule.mutations,t)},Object.defineProperties(d.prototype,f);var _=function(t){this.register([],t,!1)};function h(t,e,n){if(e.update(n),n.modules)for(var i in n.modules){if(!e.getChild(i))return void 0;h(t.concat(i),e.getChild(i),n.modules[i])}}_.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},_.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},_.prototype.update=function(t){h([],this.root,t)},_.prototype.register=function(t,e,n){var i=this;void 0===n&&(n=!0);var r=new d(e,n);if(0===t.length)this.root=r;else{var o=this.get(t.slice(0,-1));o.addChild(t[t.length-1],r)}e.modules&&l(e.modules,(function(e,r){i.register(t.concat(r),e,n)}))},_.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],i=e.getChild(n);i&&i.runtime&&e.removeChild(n)},_.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};var b;var g=function(t){var e=this;void 0===t&&(t={}),!b&&"undefined"!==typeof window&&window.Vue&&O(window.Vue);var n=t.plugins;void 0===n&&(n=[]);var i=t.strict;void 0===i&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new _(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new b,this._makeLocalGettersCache=Object.create(null);var r=this,a=this,s=a.dispatch,l=a.commit;this.dispatch=function(t,e){return s.call(r,t,e)},this.commit=function(t,e,n){return l.call(r,t,e,n)},this.strict=i;var c=this._modules.root.state;w(this,c,[],this._modules.root),y(this,c),n.forEach((function(t){return t(e)}));var u=void 0!==t.devtools?t.devtools:b.config.devtools;u&&o(this)},v={state:{configurable:!0}};function m(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function x(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;w(t,n,[],t._modules.root,!0),y(t,n,e)}function y(t,e,n){var i=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var r=t._wrappedGetters,o={};l(r,(function(e,n){o[n]=p(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var a=b.config.silent;b.config.silent=!0,t._vm=new b({data:{$$state:e},computed:o}),b.config.silent=a,t.strict&&B(t),i&&(n&&t._withCommit((function(){i._data.$$state=null})),b.nextTick((function(){return i.$destroy()})))}function w(t,e,n,i,r){var o=!n.length,a=t._modules.getNamespace(n);if(i.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=i),!o&&!r){var s=I(e,n.slice(0,-1)),l=n[n.length-1];t._withCommit((function(){b.set(s,l,i.state)}))}var c=i.context=A(t,a,n);i.forEachMutation((function(e,n){var i=a+n;k(t,i,e,c)})),i.forEachAction((function(e,n){var i=e.root?n:a+n,r=e.handler||e;S(t,i,r,c)})),i.forEachGetter((function(e,n){var i=a+n;C(t,i,e,c)})),i.forEachChild((function(i,o){w(t,e,n.concat(o),i,r)}))}function A(t,e,n){var i=""===e,r={dispatch:i?t.dispatch:function(n,i,r){var o=T(n,i,r),a=o.payload,s=o.options,l=o.type;return s&&s.root||(l=e+l),t.dispatch(l,a)},commit:i?t.commit:function(n,i,r){var o=T(n,i,r),a=o.payload,s=o.options,l=o.type;s&&s.root||(l=e+l),t.commit(l,a,s)}};return Object.defineProperties(r,{getters:{get:i?function(){return t.getters}:function(){return U(t,e)}},state:{get:function(){return I(t.state,n)}}}),r}function U(t,e){if(!t._makeLocalGettersCache[e]){var n={},i=e.length;Object.keys(t.getters).forEach((function(r){if(r.slice(0,i)===e){var o=r.slice(i);Object.defineProperty(n,o,{get:function(){return t.getters[r]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function k(t,e,n,i){var r=t._mutations[e]||(t._mutations[e]=[]);r.push((function(e){n.call(t,i.state,e)}))}function S(t,e,n,i){var r=t._actions[e]||(t._actions[e]=[]);r.push((function(e){var r=n.call(t,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:t.getters,rootState:t.state},e);return u(r)||(r=Promise.resolve(r)),t._devtoolHook?r.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):r}))}function C(t,e,n,i){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(i.state,i.getters,t.state,t.getters)})}function B(t){t._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}function I(t,e){return e.reduce((function(t,e){return t[e]}),t)}function T(t,e,n){return c(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function O(t){b&&t===b||(b=t,n(b))}v.state.get=function(){return this._vm._data.$$state},v.state.set=function(t){0},g.prototype.commit=function(t,e,n){var i=this,r=T(t,e,n),o=r.type,a=r.payload,s=(r.options,{type:o,payload:a}),l=this._mutations[o];l&&(this._withCommit((function(){l.forEach((function(t){t(a)}))})),this._subscribers.slice().forEach((function(t){return t(s,i.state)})))},g.prototype.dispatch=function(t,e){var n=this,i=T(t,e),r=i.type,o=i.payload,a={type:r,payload:o},s=this._actions[r];if(s){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(a,n.state)}))}catch(c){0}var l=s.length>1?Promise.all(s.map((function(t){return t(o)}))):s[0](o);return new Promise((function(t,e){l.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(a,n.state)}))}catch(c){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(a,n.state,t)}))}catch(c){0}e(t)}))}))}},g.prototype.subscribe=function(t,e){return m(t,this._subscribers,e)},g.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return m(n,this._actionSubscribers,e)},g.prototype.watch=function(t,e,n){var i=this;return this._watcherVM.$watch((function(){return t(i.state,i.getters)}),e,n)},g.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},g.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),w(this,this.state,t,this._modules.get(t),n.preserveState),y(this,this.state)},g.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=I(e.state,t.slice(0,-1));b.delete(n,t[t.length-1])})),x(this)},g.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},g.prototype.hotUpdate=function(t){this._modules.update(t),x(this,!0)},g.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(g.prototype,v);var $=P((function(t,e){var n={};return N(e).forEach((function(e){var i=e.key,r=e.val;n[i]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var i=z(this.$store,"mapState",t);if(!i)return;e=i.context.state,n=i.context.getters}return"function"===typeof r?r.call(this,e,n):e[r]},n[i].vuex=!0})),n})),D=P((function(t,e){var n={};return N(e).forEach((function(e){var i=e.key,r=e.val;n[i]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var i=this.$store.commit;if(t){var o=z(this.$store,"mapMutations",t);if(!o)return;i=o.context.commit}return"function"===typeof r?r.apply(this,[i].concat(e)):i.apply(this.$store,[r].concat(e))}})),n})),E=P((function(t,e){var n={};return N(e).forEach((function(e){var i=e.key,r=e.val;r=t+r,n[i]=function(){if(!t||z(this.$store,"mapGetters",t))return this.$store.getters[r]},n[i].vuex=!0})),n})),M=P((function(t,e){var n={};return N(e).forEach((function(e){var i=e.key,r=e.val;n[i]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var i=this.$store.dispatch;if(t){var o=z(this.$store,"mapActions",t);if(!o)return;i=o.context.dispatch}return"function"===typeof r?r.apply(this,[i].concat(e)):i.apply(this.$store,[r].concat(e))}})),n})),L=function(t){return{mapState:$.bind(null,t),mapGetters:E.bind(null,t),mapMutations:D.bind(null,t),mapActions:M.bind(null,t)}};function N(t){return j(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function j(t){return Array.isArray(t)||c(t)}function P(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function z(t,e,n){var i=t._modulesNamespaceMap[n];return i}function R(t){void 0===t&&(t={});var e=t.collapsed;void 0===e&&(e=!0);var n=t.filter;void 0===n&&(n=function(t,e,n){return!0});var i=t.transformer;void 0===i&&(i=function(t){return t});var r=t.mutationTransformer;void 0===r&&(r=function(t){return t});var o=t.actionFilter;void 0===o&&(o=function(t,e){return!0});var a=t.actionTransformer;void 0===a&&(a=function(t){return t});var l=t.logMutations;void 0===l&&(l=!0);var c=t.logActions;void 0===c&&(c=!0);var u=t.logger;return void 0===u&&(u=console),function(t){var p=s(t.state);"undefined"!==typeof u&&(l&&t.subscribe((function(t,o){var a=s(o);if(n(t,p,a)){var l=W(),c=r(t),d="mutation "+t.type+l;F(u,d,e),u.log("%c prev state","color: #9E9E9E; font-weight: bold",i(p)),u.log("%c mutation","color: #03A9F4; font-weight: bold",c),u.log("%c next state","color: #4CAF50; font-weight: bold",i(a)),H(u)}p=a})),c&&t.subscribeAction((function(t,n){if(o(t,n)){var i=W(),r=a(t),s="action "+t.type+i;F(u,s,e),u.log("%c action","color: #03A9F4; font-weight: bold",r),H(u)}})))}}function F(t,e,n){var i=n?t.groupCollapsed:t.group;try{i.call(t,e)}catch(r){t.log(e)}}function H(t){try{t.groupEnd()}catch(e){t.log("—— log end ——")}}function W(){var t=new Date;return" @ "+V(t.getHours(),2)+":"+V(t.getMinutes(),2)+":"+V(t.getSeconds(),2)+"."+V(t.getMilliseconds(),3)}function G(t,e){return new Array(e+1).join(t)}function V(t,e){return G("0",e-t.toString().length)+t}var Y={Store:g,install:O,version:"3.6.2",mapState:$,mapMutations:D,mapGetters:E,mapActions:M,createNamespacedHelpers:L,createLogger:R};e["a"]=Y}).call(this,n("c8ba"))},"30b5":function(t,e,n){"use strict";var i=n("c532");function r(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,n){if(!e)return t;var o;if(n)o=n(e);else if(i.isURLSearchParams(e))o=e.toString();else{var a=[];i.forEach(e,(function(t,e){null!==t&&"undefined"!==typeof t&&(i.isArray(t)?e+="[]":t=[t],i.forEach(t,(function(t){i.isDate(t)?t=t.toISOString():i.isObject(t)&&(t=JSON.stringify(t)),a.push(r(e)+"="+r(t))})))})),o=a.join("&")}if(o){var s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+o}return t}},"342f":function(t,e,n){var i=n("d066");t.exports=i("navigator","userAgent")||""},"35a1":function(t,e,n){var i=n("f5df"),r=n("3f8c"),o=n("b622"),a=o("iterator");t.exports=function(t){if(void 0!=t)return t[a]||t["@@iterator"]||r[i(t)]}},"37e8":function(t,e,n){var i=n("83ab"),r=n("9bf2"),o=n("825a"),a=n("df75");t.exports=i?Object.defineProperties:function(t,e){o(t);var n,i=a(e),s=i.length,l=0;while(s>l)r.f(t,n=i[l++],e[n]);return t}},"387f":function(t,e,n){"use strict";t.exports=function(t,e,n,i,r){return t.config=e,n&&(t.code=n),t.request=i,t.response=r,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},t}},3934:function(t,e,n){"use strict";var i=n("c532");t.exports=i.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function r(t){var i=t;return e&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=r(window.location.href),function(e){var n=i.isString(e)?r(e):e;return n.protocol===t.protocol&&n.host===t.host}}():function(){return function(){return!0}}()},"3bbe":function(t,e,n){var i=n("861d");t.exports=function(t){if(!i(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3ca3":function(t,e,n){"use strict";var i=n("6547").charAt,r=n("577e"),o=n("69f3"),a=n("7dd0"),s="String Iterator",l=o.set,c=o.getterFor(s);a(String,"String",(function(t){l(this,{type:s,string:r(t),index:0})}),(function(){var t,e=c(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=i(n,r),e.index+=t.length,{value:t,done:!1})}))},"3f8c":function(t,e){t.exports={}},4082:function(t,e,n){n("a4d3");var i=n("f0e4");function r(t,e){if(null==t)return{};var n,r,o=i(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}t.exports=r,t.exports["default"]=t.exports,t.exports.__esModule=!0},"428f":function(t,e,n){var i=n("da84");t.exports=i},4362:function(t,e,n){e.nextTick=function(t){var e=Array.prototype.slice.call(arguments);e.shift(),setTimeout((function(){t.apply(null,e)}),0)},e.platform=e.arch=e.execPath=e.title="browser",e.pid=1,e.browser=!0,e.env={},e.argv=[],e.binding=function(t){throw new Error("No such module. (Possibly not yet loaded)")},function(){var t,i="/";e.cwd=function(){return i},e.chdir=function(e){t||(t=n("df7c")),i=t.resolve(e,i)}}(),e.exit=e.kill=e.umask=e.dlopen=e.uptime=e.memoryUsage=e.uvCounters=function(){},e.features={}},"44ad":function(t,e,n){var i=n("d039"),r=n("c6b6"),o="".split;t.exports=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==r(t)?o.call(t,""):Object(t)}:Object},"44d2":function(t,e,n){var i=n("b622"),r=n("7c73"),o=n("9bf2"),a=i("unscopables"),s=Array.prototype;void 0==s[a]&&o.f(s,a,{configurable:!0,value:r(null)}),t.exports=function(t){s[a][t]=!0}},"44de":function(t,e,n){var i=n("da84");t.exports=function(t,e){var n=i.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},"44e7":function(t,e,n){var i=n("861d"),r=n("c6b6"),o=n("b622"),a=o("match");t.exports=function(t){var e;return i(t)&&(void 0!==(e=t[a])?!!e:"RegExp"==r(t))}},"466d":function(t,e,n){"use strict";var i=n("d784"),r=n("825a"),o=n("50c4"),a=n("577e"),s=n("1d80"),l=n("8aa5"),c=n("14c3");i("match",(function(t,e,n){return[function(e){var n=s(this),i=void 0==e?void 0:e[t];return void 0!==i?i.call(e,n):new RegExp(e)[t](a(n))},function(t){var i=r(this),s=a(t),u=n(e,i,s);if(u.done)return u.value;if(!i.global)return c(i,s);var p=i.unicode;i.lastIndex=0;var d,f=[],_=0;while(null!==(d=c(i,s))){var h=a(d[0]);f[_]=h,""===h&&(i.lastIndex=l(s,o(i.lastIndex),p)),_++}return 0===_?null:f}]}))},"467f":function(t,e,n){"use strict";var i=n("2d83");t.exports=function(t,e,n){var r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(i("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},4840:function(t,e,n){var i=n("825a"),r=n("1c0b"),o=n("b622"),a=o("species");t.exports=function(t,e){var n,o=i(t).constructor;return void 0===o||void 0==(n=i(o)[a])?e:r(n)}},"485a":function(t,e,n){var i=n("861d");t.exports=function(t,e){var n,r;if("string"===e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if("string"!==e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},4930:function(t,e,n){var i=n("2d00"),r=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!r((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&i&&i<41}))},"499e":function(t,e,n){"use strict";function i(t,e){for(var n=[],i={},r=0;rn.parts.length&&(i.parts.length=n.parts.length)}else{var a=[];for(r=0;ru)if(s=l[u++],s!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"4de4":function(t,e,n){"use strict";var i=n("23e7"),r=n("b727").filter,o=n("1dde"),a=o("filter");i({target:"Array",proto:!0,forced:!a},{filter:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(t,e,n){"use strict";var i=n("0366"),r=n("7b0b"),o=n("9bdd"),a=n("e95a"),s=n("50c4"),l=n("8418"),c=n("35a1");t.exports=function(t){var e,n,u,p,d,f,_=r(t),h="function"==typeof this?this:Array,b=arguments.length,g=b>1?arguments[1]:void 0,v=void 0!==g,m=c(_),x=0;if(v&&(g=i(g,b>2?arguments[2]:void 0,2)),void 0==m||h==Array&&a(m))for(e=s(_.length),n=new h(e);e>x;x++)f=v?g(_[x],x):_[x],l(n,x,f);else for(p=m.call(_),d=p.next,n=new h;!(u=d.call(p)).done;x++)f=v?o(p,g,[u.value,x],!0):u.value,l(n,x,f);return n.length=x,n}},"4e82":function(t,e,n){"use strict";var i=n("23e7"),r=n("1c0b"),o=n("7b0b"),a=n("50c4"),s=n("577e"),l=n("d039"),c=n("addb"),u=n("a640"),p=n("04d1"),d=n("d998"),f=n("2d00"),_=n("512c"),h=[],b=h.sort,g=l((function(){h.sort(void 0)})),v=l((function(){h.sort(null)})),m=u("sort"),x=!l((function(){if(f)return f<70;if(!(p&&p>3)){if(d)return!0;if(_)return _<603;var t,e,n,i,r="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(i=0;i<47;i++)h.push({k:e+i,v:n})}for(h.sort((function(t,e){return e.v-t.v})),i=0;is(n)?1:-1}};i({target:"Array",proto:!0,forced:y},{sort:function(t){void 0!==t&&r(t);var e=o(this);if(x)return void 0===t?b.call(e):b.call(e,t);var n,i,s=[],l=a(e.length);for(i=0;i0?r(i(t),9007199254740991):0}},"512c":function(t,e,n){var i=n("342f"),r=i.match(/AppleWebKit\/(\d+)\./);t.exports=!!r&&+r[1]},5135:function(t,e,n){var i=n("7b0b"),r={}.hasOwnProperty;t.exports=Object.hasOwn||function(t,e){return r.call(i(t),e)}},5270:function(t,e,n){"use strict";var i=n("c532"),r=n("c401"),o=n("2e67"),a=n("2444"),s=n("7a77");function l(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new s("canceled")}t.exports=function(t){l(t),t.headers=t.headers||{},t.data=r.call(t,t.data,t.headers,t.transformRequest),t.headers=i.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),i.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]}));var e=t.adapter||a.adapter;return e(t).then((function(e){return l(t),e.data=r.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return o(e)||(l(t),e&&e.response&&(e.response.data=r.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},5319:function(t,e,n){"use strict";var i=n("d784"),r=n("d039"),o=n("825a"),a=n("a691"),s=n("50c4"),l=n("577e"),c=n("1d80"),u=n("8aa5"),p=n("0cb2"),d=n("14c3"),f=n("b622"),_=f("replace"),h=Math.max,b=Math.min,g=function(t){return void 0===t?t:String(t)},v=function(){return"$0"==="a".replace(/./,"$0")}(),m=function(){return!!/./[_]&&""===/./[_]("a","$0")}(),x=!r((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}));i("replace",(function(t,e,n){var i=m?"$":"$0";return[function(t,n){var i=c(this),r=void 0==t?void 0:t[_];return void 0!==r?r.call(t,i,n):e.call(l(i),t,n)},function(t,r){var c=o(this),f=l(t);if("string"===typeof r&&-1===r.indexOf(i)&&-1===r.indexOf("$<")){var _=n(e,c,f,r);if(_.done)return _.value}var v="function"===typeof r;v||(r=l(r));var m=c.global;if(m){var x=c.unicode;c.lastIndex=0}var y=[];while(1){var w=d(c,f);if(null===w)break;if(y.push(w),!m)break;var A=l(w[0]);""===A&&(c.lastIndex=u(f,s(c.lastIndex),x))}for(var U="",k=0,S=0;S=k&&(U+=f.slice(k,B)+D,k=B+C.length)}return U+f.slice(k)}]}),!x||!v||m)},5530:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));n("b64b"),n("a4d3"),n("4de4"),n("e439"),n("159b"),n("dbb4");var i=n("ade3");function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e=55296&&r<=56319&&n>1,t+=b(t/e);t>h*a>>1;i+=r)t=b(t/h);return b(i+(h+1)*t/(t+s))},y=function(t){var e=[];t=v(t);var n,s,l=t.length,d=u,f=0,h=c;for(n=0;n=d&&sb((i-f)/U))throw RangeError(_);for(f+=(A-d)*U,d=A,n=0;ni)throw RangeError(_);if(s==d){for(var k=f,S=r;;S+=r){var C=S<=h?o:S>=h+a?a:S-h;if(ku){var f,_=c(arguments[u++]),h=p?o(_).concat(p(_)):o(_),b=h.length,g=0;while(b>g)f=h[g++],i&&!d.call(_,f)||(n[f]=_[f])}return n}:u},6547:function(t,e,n){var i=n("a691"),r=n("577e"),o=n("1d80"),a=function(t){return function(e,n){var a,s,l=r(o(e)),c=i(n),u=l.length;return c<0||c>=u?t?"":void 0:(a=l.charCodeAt(c),a<55296||a>56319||c+1===u||(s=l.charCodeAt(c+1))<56320||s>57343?t?l.charAt(c):a:t?l.slice(c,c+2):s-56320+(a-55296<<10)+65536)}};t.exports={codeAt:a(!1),charAt:a(!0)}},"65f0":function(t,e,n){var i=n("0b42");t.exports=function(t,e){return new(i(t))(0===e?0:e)}},"69f3":function(t,e,n){var i,r,o,a=n("7f9a"),s=n("da84"),l=n("861d"),c=n("9112"),u=n("5135"),p=n("c6cd"),d=n("f772"),f=n("d012"),_="Object already initialized",h=s.WeakMap,b=function(t){return o(t)?r(t):i(t,{})},g=function(t){return function(e){var n;if(!l(e)||(n=r(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(a||p.state){var v=p.state||(p.state=new h),m=v.get,x=v.has,y=v.set;i=function(t,e){if(x.call(v,t))throw new TypeError(_);return e.facade=t,y.call(v,t,e),e},r=function(t){return m.call(v,t)||{}},o=function(t){return x.call(v,t)}}else{var w=d("state");f[w]=!0,i=function(t,e){if(u(t,w))throw new TypeError(_);return e.facade=t,c(t,w,e),e},r=function(t){return u(t,w)?t[w]:{}},o=function(t){return u(t,w)}}t.exports={set:i,get:r,has:o,enforce:b,getterFor:g}},"6eeb":function(t,e,n){var i=n("da84"),r=n("9112"),o=n("5135"),a=n("ce4e"),s=n("8925"),l=n("69f3"),c=l.get,u=l.enforce,p=String(String).split("String");(t.exports=function(t,e,n,s){var l,c=!!s&&!!s.unsafe,d=!!s&&!!s.enumerable,f=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof e||o(n,"name")||r(n,"name",e),l=u(n),l.source||(l.source=p.join("string"==typeof e?e:""))),t!==i?(c?!f&&t[e]&&(d=!0):delete t[e],d?t[e]=n:r(t,e,n)):d?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||s(this)}))},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"746f":function(t,e,n){var i=n("428f"),r=n("5135"),o=n("e538"),a=n("9bf2").f;t.exports=function(t){var e=i.Symbol||(i.Symbol={});r(e,t)||a(e,t,{value:o.f(t)})}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7a77":function(t,e,n){"use strict";function i(t){this.message=t}i.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},i.prototype.__CANCEL__=!0,t.exports=i},"7aac":function(t,e,n){"use strict";var i=n("c532");t.exports=i.isStandardBrowserEnv()?function(){return{write:function(t,e,n,r,o,a){var s=[];s.push(t+"="+encodeURIComponent(e)),i.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),i.isString(r)&&s.push("path="+r),i.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},"7b0b":function(t,e,n){var i=n("1d80");t.exports=function(t){return Object(i(t))}},"7c73":function(t,e,n){var i,r=n("825a"),o=n("37e8"),a=n("7839"),s=n("d012"),l=n("1be4"),c=n("cc12"),u=n("f772"),p=">",d="<",f="prototype",_="script",h=u("IE_PROTO"),b=function(){},g=function(t){return d+_+p+t+d+"/"+_+p},v=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},m=function(){var t,e=c("iframe"),n="java"+_+":";return e.style.display="none",l.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(g("document.F=Object")),t.close(),t.F},x=function(){try{i=new ActiveXObject("htmlfile")}catch(e){}x="undefined"!=typeof document?document.domain&&i?v(i):m():v(i);var t=a.length;while(t--)delete x[f][a[t]];return x()};s[h]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(b[f]=r(t),n=new b,b[f]=null,n[h]=t):n=x(),void 0===e?n:o(n,e)}},"7dd0":function(t,e,n){"use strict";var i=n("23e7"),r=n("9ed3"),o=n("e163"),a=n("d2bb"),s=n("d44e"),l=n("9112"),c=n("6eeb"),u=n("b622"),p=n("c430"),d=n("3f8c"),f=n("ae93"),_=f.IteratorPrototype,h=f.BUGGY_SAFARI_ITERATORS,b=u("iterator"),g="keys",v="values",m="entries",x=function(){return this};t.exports=function(t,e,n,u,f,y,w){r(n,e,u);var A,U,k,S=function(t){if(t===f&&O)return O;if(!h&&t in I)return I[t];switch(t){case g:return function(){return new n(this,t)};case v:return function(){return new n(this,t)};case m:return function(){return new n(this,t)}}return function(){return new n(this)}},C=e+" Iterator",B=!1,I=t.prototype,T=I[b]||I["@@iterator"]||f&&I[f],O=!h&&T||S(f),$="Array"==e&&I.entries||T;if($&&(A=o($.call(new t)),_!==Object.prototype&&A.next&&(p||o(A)===_||(a?a(A,_):"function"!=typeof A[b]&&l(A,b,x)),s(A,C,!0,!0),p&&(d[C]=x))),f==v&&T&&T.name!==v&&(B=!0,O=function(){return T.call(this)}),p&&!w||I[b]===O||l(I,b,O),d[e]=O,f)if(U={values:S(v),keys:y?O:S(g),entries:S(m)},w)for(k in U)(h||B||!(k in I))&&c(I,k,U[k]);else i({target:e,proto:!0,forced:h||B},U);return U}},"7f9a":function(t,e,n){var i=n("da84"),r=n("8925"),o=i.WeakMap;t.exports="function"===typeof o&&/native code/.test(r(o))},"825a":function(t,e,n){var i=n("861d");t.exports=function(t){if(!i(t))throw TypeError(String(t)+" is not an object");return t}},"83ab":function(t,e,n){var i=n("d039");t.exports=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"83b9":function(t,e,n){"use strict";var i=n("d925"),r=n("e683");t.exports=function(t,e){return t&&!i(e)?r(t,e):e}},8418:function(t,e,n){"use strict";var i=n("a04b"),r=n("9bf2"),o=n("5c6c");t.exports=function(t,e,n){var a=i(e);a in t?r.f(t,a,o(0,n)):t[a]=n}},"841c":function(t,e,n){"use strict";var i=n("d784"),r=n("825a"),o=n("1d80"),a=n("129f"),s=n("577e"),l=n("14c3");i("search",(function(t,e,n){return[function(e){var n=o(this),i=void 0==e?void 0:e[t];return void 0!==i?i.call(e,n):new RegExp(e)[t](s(n))},function(t){var i=r(this),o=s(t),c=n(e,i,o);if(c.done)return c.value;var u=i.lastIndex;a(u,0)||(i.lastIndex=0);var p=l(i,o);return a(i.lastIndex,u)||(i.lastIndex=u),null===p?-1:p.index}]}))},"848b":function(t,e,n){"use strict";var i=n("5cce").version,r={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){r[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var o={};function a(t,e,n){if("object"!==typeof t)throw new TypeError("options must be an object");var i=Object.keys(t),r=i.length;while(r-- >0){var o=i[r],a=e[o];if(a){var s=t[o],l=void 0===s||a(s,o,t);if(!0!==l)throw new TypeError("option "+o+" must be "+l)}else if(!0!==n)throw Error("Unknown option "+o)}}r.transitional=function(t,e,n){function r(t,e){return"[Axios v"+i+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,i,a){if(!1===t)throw new Error(r(i," has been removed"+(e?" in "+e:"")));return e&&!o[i]&&(o[i]=!0,console.warn(r(i," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,i,a)}},t.exports={assertOptions:a,validators:r}},"857a":function(t,e,n){var i=n("1d80"),r=n("577e"),o=/"/g;t.exports=function(t,e,n,a){var s=r(i(t)),l="<"+e;return""!==n&&(l+=" "+n+'="'+r(a).replace(o,""")+'"'),l+">"+s+""+e+">"}},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8925:function(t,e,n){var i=n("c6cd"),r=Function.toString;"function"!=typeof i.inspectSource&&(i.inspectSource=function(t){return r.call(t)}),t.exports=i.inspectSource},"8aa5":function(t,e,n){"use strict";var i=n("6547").charAt;t.exports=function(t,e,n){return e+(n?i(t,e).length:1)}},"8c4f":function(t,e,n){"use strict";
+/*!
+ * vue-router v3.5.2
+ * (c) 2021 Evan You
+ * @license MIT
+ */function i(t,e){0}function r(t,e){for(var n in e)t[n]=e[n];return t}var o=/[!'()*]/g,a=function(t){return"%"+t.charCodeAt(0).toString(16)},s=/%2C/g,l=function(t){return encodeURIComponent(t).replace(o,a).replace(s,",")};function c(t){try{return decodeURIComponent(t)}catch(e){0}return t}function u(t,e,n){void 0===e&&(e={});var i,r=n||d;try{i=r(t||"")}catch(s){i={}}for(var o in e){var a=e[o];i[o]=Array.isArray(a)?a.map(p):p(a)}return i}var p=function(t){return null==t||"object"===typeof t?t:String(t)};function d(t){var e={};return t=t.trim().replace(/^(\?|#|&)/,""),t?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),i=c(n.shift()),r=n.length>0?c(n.join("=")):null;void 0===e[i]?e[i]=r:Array.isArray(e[i])?e[i].push(r):e[i]=[e[i],r]})),e):e}function f(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return l(e);if(Array.isArray(n)){var i=[];return n.forEach((function(t){void 0!==t&&(null===t?i.push(l(e)):i.push(l(e)+"="+l(t)))})),i.join("&")}return l(e)+"="+l(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var _=/\/?$/;function h(t,e,n,i){var r=i&&i.options.stringifyQuery,o=e.query||{};try{o=b(o)}catch(s){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:o,params:e.params||{},fullPath:m(e,r),matched:t?v(t):[]};return n&&(a.redirectedFrom=m(n,r)),Object.freeze(a)}function b(t){if(Array.isArray(t))return t.map(b);if(t&&"object"===typeof t){var e={};for(var n in t)e[n]=b(t[n]);return e}return t}var g=h(null,{path:"/"});function v(t){var e=[];while(t)e.unshift(t),t=t.parent;return e}function m(t,e){var n=t.path,i=t.query;void 0===i&&(i={});var r=t.hash;void 0===r&&(r="");var o=e||f;return(n||"/")+o(i)+r}function x(t,e,n){return e===g?t===e:!!e&&(t.path&&e.path?t.path.replace(_,"")===e.path.replace(_,"")&&(n||t.hash===e.hash&&y(t.query,e.query)):!(!t.name||!e.name)&&(t.name===e.name&&(n||t.hash===e.hash&&y(t.query,e.query)&&y(t.params,e.params))))}function y(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t).sort(),i=Object.keys(e).sort();return n.length===i.length&&n.every((function(n,r){var o=t[n],a=i[r];if(a!==n)return!1;var s=e[n];return null==o||null==s?o===s:"object"===typeof o&&"object"===typeof s?y(o,s):String(o)===String(s)}))}function w(t,e){return 0===t.path.replace(_,"/").indexOf(e.path.replace(_,"/"))&&(!e.hash||t.hash===e.hash)&&A(t.query,e.query)}function A(t,e){for(var n in e)if(!(n in t))return!1;return!0}function U(t){for(var e=0;e=0&&(e=t.slice(i),t=t.slice(0,i));var r=t.indexOf("?");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{path:t,query:n,hash:e}}function T(t){return t.replace(/\/\//g,"/")}var O=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},$=J,D=j,E=P,M=F,L=q,N=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function j(t,e){var n,i=[],r=0,o=0,a="",s=e&&e.delimiter||"/";while(null!=(n=N.exec(t))){var l=n[0],c=n[1],u=n.index;if(a+=t.slice(o,u),o=u+l.length,c)a+=c[1];else{var p=t[o],d=n[2],f=n[3],_=n[4],h=n[5],b=n[6],g=n[7];a&&(i.push(a),a="");var v=null!=d&&null!=p&&p!==d,m="+"===b||"*"===b,x="?"===b||"*"===b,y=n[2]||s,w=_||h;i.push({name:f||r++,prefix:d||"",delimiter:y,optional:x,repeat:m,partial:v,asterisk:!!g,pattern:w?W(w):g?".*":"[^"+H(y)+"]+?"})}}return o1||!U.length)return 0===U.length?t():t("span",{},U)}if("a"===this.tag)A.on=y,A.attrs={href:l,"aria-current":v};else{var k=st(this.$slots.default);if(k){k.isStatic=!1;var S=k.data=r({},k.data);for(var C in S.on=S.on||{},S.on){var B=S.on[C];C in y&&(S.on[C]=Array.isArray(B)?B:[B])}for(var I in y)I in S.on?S.on[I].push(y[I]):S.on[I]=m;var T=k.data.attrs=r({},k.data.attrs);T.href=l,T["aria-current"]=v}else A.on=y}return t(this.tag,A,this.$slots.default)}};function at(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function st(t){if(t)for(var e,n=0;n-1&&(s.params[p]=n.params[p]);return s.path=K(c.path,s.params,'named route "'+l+'"'),d(c,s,a)}if(s.path){s.params={};for(var f=0;f=t.length?n():t[r]?e(t[r],(function(){i(r+1)})):i(r+1)};i(0)}var Pt={redirected:2,aborted:4,cancelled:8,duplicated:16};function zt(t,e){return Wt(t,e,Pt.redirected,'Redirected when going from "'+t.fullPath+'" to "'+Vt(e)+'" via a navigation guard.')}function Rt(t,e){var n=Wt(t,e,Pt.duplicated,'Avoided redundant navigation to current location: "'+t.fullPath+'".');return n.name="NavigationDuplicated",n}function Ft(t,e){return Wt(t,e,Pt.cancelled,'Navigation cancelled from "'+t.fullPath+'" to "'+e.fullPath+'" with a new navigation.')}function Ht(t,e){return Wt(t,e,Pt.aborted,'Navigation aborted from "'+t.fullPath+'" to "'+e.fullPath+'" via a navigation guard.')}function Wt(t,e,n,i){var r=new Error(i);return r._isRouter=!0,r.from=t,r.to=e,r.type=n,r}var Gt=["params","query","hash"];function Vt(t){if("string"===typeof t)return t;if("path"in t)return t.path;var e={};return Gt.forEach((function(n){n in t&&(e[n]=t[n])})),JSON.stringify(e,null,2)}function Yt(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function Xt(t,e){return Yt(t)&&t._isRouter&&(null==e||t.type===e)}function Qt(t){return function(e,n,i){var r=!1,o=0,a=null;qt(t,(function(t,e,n,s){if("function"===typeof t&&void 0===t.cid){r=!0,o++;var l,c=te((function(e){Kt(e)&&(e=e.default),t.resolved="function"===typeof e?e:et.extend(e),n.components[s]=e,o--,o<=0&&i()})),u=te((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Yt(t)?t:new Error(e),i(a))}));try{l=t(c,u)}catch(d){u(d)}if(l)if("function"===typeof l.then)l.then(c,u);else{var p=l.component;p&&"function"===typeof p.then&&p.then(c,u)}}})),r||i()}}function qt(t,e){return Jt(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Jt(t){return Array.prototype.concat.apply([],t)}var Zt="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;function Kt(t){return t.__esModule||Zt&&"Module"===t[Symbol.toStringTag]}function te(t){var e=!1;return function(){var n=[],i=arguments.length;while(i--)n[i]=arguments[i];if(!e)return e=!0,t.apply(this,n)}}var ee=function(t,e){this.router=t,this.base=ne(e),this.current=g,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function ne(t){if(!t)if(ct){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function ie(t,e){var n,i=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,i=Mt&&n;i&&this.listeners.push(At());var r=function(){var n=t.current,r=de(t.base);t.current===g&&r===t._startLocation||t.transitionTo(r,(function(t){i&&Ut(e,t,n,!0)}))};window.addEventListener("popstate",r),this.listeners.push((function(){window.removeEventListener("popstate",r)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var i=this,r=this,o=r.current;this.transitionTo(t,(function(t){Lt(T(i.base+t.fullPath)),Ut(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var i=this,r=this,o=r.current;this.transitionTo(t,(function(t){Nt(T(i.base+t.fullPath)),Ut(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(de(this.base)!==this.current.fullPath){var e=T(this.base+this.current.fullPath);t?Lt(e):Nt(e)}},e.prototype.getCurrentLocation=function(){return de(this.base)},e}(ee);function de(t){var e=window.location.pathname,n=e.toLowerCase(),i=t.toLowerCase();return!t||n!==i&&0!==n.indexOf(T(i+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var fe=function(t){function e(e,n,i){t.call(this,e,n),i&&_e(this.base)||he()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,n=e.options.scrollBehavior,i=Mt&&n;i&&this.listeners.push(At());var r=function(){var e=t.current;he()&&t.transitionTo(be(),(function(n){i&&Ut(t.router,n,e,!0),Mt||me(n.fullPath)}))},o=Mt?"popstate":"hashchange";window.addEventListener(o,r),this.listeners.push((function(){window.removeEventListener(o,r)}))}},e.prototype.push=function(t,e,n){var i=this,r=this,o=r.current;this.transitionTo(t,(function(t){ve(t.fullPath),Ut(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var i=this,r=this,o=r.current;this.transitionTo(t,(function(t){me(t.fullPath),Ut(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;be()!==e&&(t?ve(e):me(e))},e.prototype.getCurrentLocation=function(){return be()},e}(ee);function _e(t){var e=de(t);if(!/^\/#/.test(e))return window.location.replace(T(t+"/#"+e)),!0}function he(){var t=be();return"/"===t.charAt(0)||(me("/"+t),!1)}function be(){var t=window.location.href,e=t.indexOf("#");return e<0?"":(t=t.slice(e+1),t)}function ge(t){var e=window.location.href,n=e.indexOf("#"),i=n>=0?e.slice(0,n):e;return i+"#"+t}function ve(t){Mt?Lt(ge(t)):window.location.hash=t}function me(t){Mt?Nt(ge(t)):window.location.replace(ge(t))}var xe=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var i=this;this.transitionTo(t,(function(t){i.stack=i.stack.slice(0,i.index+1).concat(t),i.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var i=this;this.transitionTo(t,(function(t){i.stack=i.stack.slice(0,i.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var i=this.stack[n];this.confirmTransition(i,(function(){var t=e.current;e.index=n,e.updateRoute(i),e.router.afterHooks.forEach((function(e){e&&e(i,t)}))}),(function(t){Xt(t,Pt.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(ee),ye=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=_t(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Mt&&!1!==t.fallback,this.fallback&&(e="hash"),ct||(e="abstract"),this.mode=e,e){case"history":this.history=new pe(this,t.base);break;case"hash":this.history=new fe(this,t.base,this.fallback);break;case"abstract":this.history=new xe(this,t.base);break;default:0}},we={currentRoute:{configurable:!0}};function Ae(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function Ue(t,e,n){var i="hash"===n?"#"+e:e;return t?T(t+"/"+i):i}ye.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},we.currentRoute.get=function(){return this.history&&this.history.current},ye.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof pe||n instanceof fe){var i=function(t){var i=n.current,r=e.options.scrollBehavior,o=Mt&&r;o&&"fullPath"in t&&Ut(e,t,i,!1)},r=function(t){n.setupListeners(),i(t)};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},ye.prototype.beforeEach=function(t){return Ae(this.beforeHooks,t)},ye.prototype.beforeResolve=function(t){return Ae(this.resolveHooks,t)},ye.prototype.afterEach=function(t){return Ae(this.afterHooks,t)},ye.prototype.onReady=function(t,e){this.history.onReady(t,e)},ye.prototype.onError=function(t){this.history.onError(t)},ye.prototype.push=function(t,e,n){var i=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){i.history.push(t,e,n)}));this.history.push(t,e,n)},ye.prototype.replace=function(t,e,n){var i=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){i.history.replace(t,e,n)}));this.history.replace(t,e,n)},ye.prototype.go=function(t){this.history.go(t)},ye.prototype.back=function(){this.go(-1)},ye.prototype.forward=function(){this.go(1)},ye.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},ye.prototype.resolve=function(t,e,n){e=e||this.history.current;var i=tt(t,e,n,this),r=this.match(i,e),o=r.redirectedFrom||r.fullPath,a=this.history.base,s=Ue(a,o,this.mode);return{location:i,route:r,href:s,normalizedTo:i,resolved:r}},ye.prototype.getRoutes=function(){return this.matcher.getRoutes()},ye.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},ye.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(ye.prototype,we),ye.install=lt,ye.version="3.5.2",ye.isNavigationFailure=Xt,ye.NavigationFailureType=Pt,ye.START_LOCATION=g,ct&&window.Vue&&window.Vue.use(ye),e["a"]=ye},"8df4":function(t,e,n){"use strict";var i=n("7a77");function r(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,i=n._listeners.length;for(e=0;e0&&(!v.multiline||v.multiline&&"\n"!==x.charAt(v.lastIndex-1))&&(k="(?: "+k+")",C=" "+C,S++),n=new RegExp("^(?:"+k+")",U)),b&&(n=new RegExp("^"+k+"$(?!\\s)",U)),_&&(o=v.lastIndex),a=p.call(A?n:v,C),A?a?(a.input=a.input.slice(S),a[0]=a[0].slice(S),a.index=v.lastIndex,v.lastIndex+=a[0].length):v.lastIndex=0:_&&a&&(v.lastIndex=v.global?a.index+a[0].length:o),b&&a&&a.length>1&&d.call(a[0],n,(function(){for(c=1;c=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var l=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(l&&c){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),B(n),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;B(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,i){return this.delegate={iterator:T(t),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=e),h}},t}(t.exports);try{regeneratorRuntime=i}catch(r){"object"===typeof globalThis?globalThis.regeneratorRuntime=i:Function("r","regeneratorRuntime = r")(i)}},9861:function(t,e,n){"use strict";n("e260");var i=n("23e7"),r=n("d066"),o=n("0d3b"),a=n("6eeb"),s=n("e2cc"),l=n("d44e"),c=n("9ed3"),u=n("69f3"),p=n("19aa"),d=n("5135"),f=n("0366"),_=n("f5df"),h=n("825a"),b=n("861d"),g=n("577e"),v=n("7c73"),m=n("5c6c"),x=n("9a1f"),y=n("35a1"),w=n("b622"),A=r("fetch"),U=r("Request"),k=U&&U.prototype,S=r("Headers"),C=w("iterator"),B="URLSearchParams",I=B+"Iterator",T=u.set,O=u.getterFor(B),$=u.getterFor(I),D=/\+/g,E=Array(4),M=function(t){return E[t-1]||(E[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},L=function(t){try{return decodeURIComponent(t)}catch(e){return t}},N=function(t){var e=t.replace(D," "),n=4;try{return decodeURIComponent(e)}catch(i){while(n)e=e.replace(M(n--),L);return e}},j=/[!'()~]|%20/g,P={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},z=function(t){return P[t]},R=function(t){return encodeURIComponent(t).replace(j,z)},F=function(t,e){if(e){var n,i,r=e.split("&"),o=0;while(o0?arguments[0]:void 0,u=this,f=[];if(T(u,{type:B,entries:f,updateURL:function(){},updateSearchParams:H}),void 0!==c)if(b(c))if(t=y(c),"function"===typeof t){e=t.call(c),n=e.next;while(!(i=n.call(e)).done){if(r=x(h(i.value)),o=r.next,(a=o.call(r)).done||(s=o.call(r)).done||!o.call(r).done)throw TypeError("Expected sequence with length 2");f.push({key:g(a.value),value:g(s.value)})}}else for(l in c)d(c,l)&&f.push({key:l,value:g(c[l])});else F(f,"string"===typeof c?"?"===c.charAt(0)?c.slice(1):c:g(c))},Y=V.prototype;if(s(Y,{append:function(t,e){W(arguments.length,2);var n=O(this);n.entries.push({key:g(t),value:g(e)}),n.updateURL()},delete:function(t){W(arguments.length,1);var e=O(this),n=e.entries,i=g(t),r=0;while(rt.key){r.splice(e,0,t);break}e===n&&r.push(t)}i.updateURL()},forEach:function(t){var e,n=O(this).entries,i=f(t,arguments.length>1?arguments[1]:void 0,3),r=0;while(r1?X(arguments[1]):{})}}),"function"==typeof U){var Q=function(t){return p(this,Q,"Request"),new U(t,arguments.length>1?X(arguments[1]):{})};k.constructor=Q,Q.prototype=k,i({global:!0,forced:!0},{Request:Q})}}t.exports={URLSearchParams:V,getState:O}},9911:function(t,e,n){"use strict";var i=n("23e7"),r=n("857a"),o=n("af03");i({target:"String",proto:!0,forced:o("link")},{link:function(t){return r(this,"a","href",t)}})},"99af":function(t,e,n){"use strict";var i=n("23e7"),r=n("d039"),o=n("e8b5"),a=n("861d"),s=n("7b0b"),l=n("50c4"),c=n("8418"),u=n("65f0"),p=n("1dde"),d=n("b622"),f=n("2d00"),_=d("isConcatSpreadable"),h=9007199254740991,b="Maximum allowed index exceeded",g=f>=51||!r((function(){var t=[];return t[_]=!1,t.concat()[0]!==t})),v=p("concat"),m=function(t){if(!a(t))return!1;var e=t[_];return void 0!==e?!!e:o(t)},x=!g||!v;i({target:"Array",proto:!0,forced:x},{concat:function(t){var e,n,i,r,o,a=s(this),p=u(a,0),d=0;for(e=-1,i=arguments.length;eh)throw TypeError(b);for(n=0;n=h)throw TypeError(b);c(p,d++,o)}return p.length=d,p}})},"9a1f":function(t,e,n){var i=n("825a"),r=n("35a1");t.exports=function(t){var e=r(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return i(e.call(t))}},"9bdd":function(t,e,n){var i=n("825a"),r=n("2a62");t.exports=function(t,e,n,o){try{return o?e(i(n)[0],n[1]):e(n)}catch(a){throw r(t),a}}},"9bf2":function(t,e,n){var i=n("83ab"),r=n("0cfb"),o=n("825a"),a=n("a04b"),s=Object.defineProperty;e.f=i?s:function(t,e,n){if(o(t),e=a(e),o(n),r)try{return s(t,e,n)}catch(i){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9ed3":function(t,e,n){"use strict";var i=n("ae93").IteratorPrototype,r=n("7c73"),o=n("5c6c"),a=n("d44e"),s=n("3f8c"),l=function(){return this};t.exports=function(t,e,n){var c=e+" Iterator";return t.prototype=r(i,{next:o(1,n)}),a(t,c,!1,!0),s[c]=l,t}},"9f7f":function(t,e,n){var i=n("d039"),r=n("da84"),o=r.RegExp;e.UNSUPPORTED_Y=i((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=i((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},"9fc3":function(t,e,n){t.exports=function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"00ee":function(t,e,n){var i=n("b622"),r=i("toStringTag"),o={};o[r]="z",t.exports="[object z]"===String(o)},"00fd":function(t,e,n){var i=n("9e69"),r=Object.prototype,o=r.hasOwnProperty,a=r.toString,s=i?i.toStringTag:void 0;function l(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var i=!0}catch(l){}var r=a.call(t);return i&&(e?t[s]=n:delete t[s]),r}t.exports=l},"0317":function(t,e,n){t.exports={box:"UiInfoBox_box_1KUPR",box_simple:"UiInfoBox_box_simple_3kw5x","box__icon-box":"UiInfoBox_box__icon-box_17LTZ",box__title:"UiInfoBox_box__title_8lAdo",box__toggle:"UiInfoBox_box__toggle_2Dndr",box_warning:"UiInfoBox_box_warning_1sVbK",box__icon:"UiInfoBox_box__icon_1f4k6",box__header:"UiInfoBox_box__header_rszcE","box__toggle-icon":"UiInfoBox_box__toggle-icon_2QvNc",box__content:"UiInfoBox_box__content_3wBgV",box__desc:"UiInfoBox_box__desc_dvYxN"}},"0366":function(t,e,n){var i=n("1c0b");t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},"03dd":function(t,e,n){var i=n("eac5"),r=n("57a5"),o=Object.prototype,a=o.hasOwnProperty;function s(t){if(!i(t))return r(t);var e=[];for(var n in Object(t))a.call(t,n)&&"constructor"!=n&&e.push(n);return e}t.exports=s},"057f":function(t,e,n){var i=n("fc6a"),r=n("241c").f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return r(t)}catch(e){return a.slice()}};t.exports.f=function(t){return a&&"[object Window]"==o.call(t)?s(t):r(i(t))}},"06cf":function(t,e,n){var i=n("83ab"),r=n("d1e7"),o=n("5c6c"),a=n("fc6a"),s=n("c04e"),l=n("5135"),c=n("0cfb"),u=Object.getOwnPropertyDescriptor;e.f=i?u:function(t,e){if(t=a(t),e=s(e,!0),c)try{return u(t,e)}catch(n){}if(l(t,e))return o(!r.f.call(t,e),t[e])}},"07ac":function(t,e,n){var i=n("23e7"),r=n("6f53").values;i({target:"Object",stat:!0},{values:function(t){return r(t)}})},"07c7":function(t,e){function n(){return!1}t.exports=n},"087d":function(t,e){function n(t,e){var n=-1,i=e.length,r=t.length;while(++n]*>)/g,s=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,n,l,c,u){var p=n+t.length,d=l.length,f=s;return void 0!==c&&(c=i(c),f=a),o.call(u,f,(function(i,o){var a;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,n);case"'":return e.slice(p);case"<":a=c[o.slice(1,-1)];break;default:var s=+o;if(0===s)return i;if(s>d){var u=r(s/10);return 0===u?i:u<=d?void 0===l[u-1]?o.charAt(1):l[u-1]+o.charAt(1):i}a=l[s-1]}return void 0===a?"":a}))}},"0cfb":function(t,e,n){var i=n("83ab"),r=n("d039"),o=n("cc12");t.exports=!i&&!r((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},"0d24":function(t,e,n){(function(t){var i=n("2b3e"),r=n("07c7"),o=e&&!e.nodeType&&e,a=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=a&&a.exports===o,l=s?i.Buffer:void 0,c=l?l.isBuffer:void 0,u=c||r;t.exports=u}).call(this,n("62e4")(t))},"0d3b":function(t,e,n){var i=n("d039"),r=n("b622"),o=n("c430"),a=r("iterator");t.exports=!i((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),e=t.searchParams,n="";return t.pathname="c%20d",e.forEach((function(t,i){e["delete"]("b"),n+=i+t})),o&&!t.toJSON||!e.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},"0dc9":function(t,e,n){"use strict";var i=n("4b79"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"100e":function(t,e,n){var i=n("cd9d"),r=n("2286"),o=n("c1c9");function a(t,e){return o(r(t,e,i),t+"")}t.exports=a},1148:function(t,e,n){"use strict";var i=n("a691"),r=n("1d80");t.exports=function(t){var e=String(r(this)),n="",o=i(t);if(o<0||o==1/0)throw RangeError("Wrong number of repetitions");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},1276:function(t,e,n){"use strict";var i=n("d784"),r=n("44e7"),o=n("825a"),a=n("1d80"),s=n("4840"),l=n("8aa5"),c=n("50c4"),u=n("14c3"),p=n("9263"),d=n("d039"),f=[].push,_=Math.min,h=4294967295,b=!d((function(){return!RegExp(h,"y")}));i("split",2,(function(t,e,n){var i;return i="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var i=String(a(this)),o=void 0===n?h:n>>>0;if(0===o)return[];if(void 0===t)return[i];if(!r(t))return e.call(i,t,o);var s,l,c,u=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),_=0,b=new RegExp(t.source,d+"g");while(s=p.call(b,i)){if(l=b.lastIndex,l>_&&(u.push(i.slice(_,s.index)),s.length>1&&s.index=o))break;b.lastIndex===s.index&&b.lastIndex++}return _===i.length?!c&&b.test("")||u.push(""):u.push(i.slice(_)),u.length>o?u.slice(0,o):u}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var r=a(this),o=void 0==e?void 0:e[t];return void 0!==o?o.call(e,r,n):i.call(String(r),e,n)},function(t,r){var a=n(i,t,this,r,i!==e);if(a.done)return a.value;var p=o(t),d=String(this),f=s(p,RegExp),g=p.unicode,v=(p.ignoreCase?"i":"")+(p.multiline?"m":"")+(p.unicode?"u":"")+(b?"y":"g"),m=new f(b?p:"^(?:"+p.source+")",v),x=void 0===r?h:r>>>0;if(0===x)return[];if(0===d.length)return null===u(m,d)?[d]:[];var y=0,w=0,A=[];while(w79&&a<83;i({target:"Array",proto:!0,forced:!l||c},{reduce:function(t){return r(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"13fa":function(t,e,n){t.exports={"tabs-item":"UiTabsItem_tabs-item_lNPOp"}},"14c3":function(t,e,n){var i=n("c6b6"),r=n("9263");t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var o=n.call(t,e);if("object"!==typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==i(t))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(t,e)}},"159b":function(t,e,n){var i=n("da84"),r=n("fdbc"),o=n("17c2"),a=n("9112");for(var s in r){var l=i[s],c=l&&l.prototype;if(c&&c.forEach!==o)try{a(c,"forEach",o)}catch(u){c.forEach=o}}},1680:function(t,e,n){"use strict";var i=n("9812"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"17c2":function(t,e,n){"use strict";var i=n("b727").forEach,r=n("a640"),o=r("forEach");t.exports=o?[].forEach:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}},"17c9":function(t,e,n){t.exports={cell:"UiCalendarCell_cell_ump2-",cell_selected:"UiCalendarCell_cell_selected_10_D4",cell_disabled:"UiCalendarCell_cell_disabled_nU86R",cell__backdrop:"UiCalendarCell_cell__backdrop_3KA_W","cell_in-range":"UiCalendarCell_cell_in-range_K5XHW","cell_is-range-first":"UiCalendarCell_cell_is-range-first_t7OeT","cell_is-range-last":"UiCalendarCell_cell_is-range-last_15Di_",cell__content:"UiCalendarCell_cell__content_1TpzX",cell_current:"UiCalendarCell_cell_current_3mr2w"}},"182b":function(t,e,n){t.exports={datepicker:"UiDatepicker_datepicker_3_uxS",datepicker__content:"UiDatepicker_datepicker__content_1w3z3","datepicker__content-inner":"UiDatepicker_datepicker__content-inner_1QNmD",open:"UiDatepicker_open_2SLyf",datepicker__footer:"UiDatepicker_datepicker__footer_3kOR2",datepicker__button:"UiDatepicker_datepicker__button_gCT87",greenIcon:"UiDatepicker_greenIcon_3IxV0","datepicker-trigger":"UiDatepicker_datepicker-trigger_1qq9e",timepicker:"UiDatepicker_timepicker_3yUyd",timepicker__label:"UiDatepicker_timepicker__label_2LCQJ",timepicker__tooltip:"UiDatepicker_timepicker__tooltip_3HK2W","timepicker__tooltip-content":"UiDatepicker_timepicker__tooltip-content_2YTps",timepicker__field:"UiDatepicker_timepicker__field_3dTjb",timepicker__icon:"UiDatepicker_timepicker__icon_g1Ewz","ui-kit-datepicker":"UiDatepicker_ui-kit-datepicker_1GnIl"}},"18a2":function(t,e,n){"use strict";var i=n("ca56"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"1a4f":function(t,e,n){"use strict";var i=n("27bb"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"1a8c":function(t,e){function n(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}t.exports=n},"1be4":function(t,e,n){var i=n("d066");t.exports=i("document","documentElement")},"1c07":function(t,e,n){t.exports={tabs:"UiTabs_tabs_3VpC_","tabs_full-width":"UiTabs_tabs_full-width_3d5NK",tabs__icon:"UiTabs_tabs__icon_3IVTc","tabs_size-sm":"UiTabs_tabs_size-sm_1heHy","tabs_size-md":"UiTabs_tabs_size-md_1UQij",tabs_radiogroup:"UiTabs_tabs_radiogroup_1PiSD",tabs__icon_text:"UiTabs_tabs__icon_text_4lVU8","tabs_size-lg":"UiTabs_tabs_size-lg_2rBHW",tabs__control_active:"UiTabs_tabs__control_active_2kxMo",tabs__controls:"UiTabs_tabs__controls_2RzE1",tabs_expanded:"UiTabs_tabs_expanded_3Slmg","tabs_top-line":"UiTabs_tabs_top-line_1L1p8",tabs_rubber:"UiTabs_tabs_rubber_4I4Mp",tabs__control:"UiTabs_tabs__control_1-mUP",tabs_default:"UiTabs_tabs_default_2-3Ls",tabs__control_disabled:"UiTabs_tabs__control_disabled_1bgg-",tabs__control_rubber:"UiTabs_tabs__control_rubber_Aa7J4",tabs__counter:"UiTabs_tabs__counter_2Suy-",tabs__content:"UiTabs_tabs__content_3iY4E","tabs__content_no-ctr":"UiTabs_tabs__content_no-ctr_2lngl",tabs_global:"UiTabs_tabs_global_3dG4v","tabs__control_icon-without-text":"UiTabs_tabs__control_icon-without-text_3eeG_",extra:"UiTabs_extra_3PG5N",extra__btn:"UiTabs_extra__btn_IY08b",extra__wrap:"UiTabs_extra__wrap_2z4Nc",extra_open:"UiTabs_extra_open_2lH4c",extra__icon:"UiTabs_extra__icon_3Yg7X",extra__counter:"UiTabs_extra__counter_35oTi",ticker:"UiTabs_ticker_2taP-"}},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c3c":function(t,e,n){var i=n("9e69"),r=n("2474"),o=n("9638"),a=n("a2be"),s=n("edfa"),l=n("ac41"),c=1,u=2,p="[object Boolean]",d="[object Date]",f="[object Error]",_="[object Map]",h="[object Number]",b="[object RegExp]",g="[object Set]",v="[object String]",m="[object Symbol]",x="[object ArrayBuffer]",y="[object DataView]",w=i?i.prototype:void 0,A=w?w.valueOf:void 0;function U(t,e,n,i,w,U,k){switch(n){case y:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case x:return!(t.byteLength!=e.byteLength||!U(new r(t),new r(e)));case p:case d:case h:return o(+t,+e);case f:return t.name==e.name&&t.message==e.message;case b:case v:return t==e+"";case _:var S=s;case g:var C=i&c;if(S||(S=l),t.size!=e.size&&!C)return!1;var B=k.get(t);if(B)return B==e;i|=u,k.set(t,e);var I=a(S(t),S(e),i,w,U,k);return k["delete"](t),I;case m:if(A)return A.call(t)==A.call(e)}return!1}t.exports=U},"1c7e":function(t,e,n){var i=n("b622"),r=i("iterator"),o=!1;try{var a=0,s={next:function(){return{done:!!a++}},return:function(){o=!0}};s[r]=function(){return this},Array.from(s,(function(){throw 2}))}catch(l){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},t(i)}catch(l){}return n}},"1cdc":function(t,e,n){var i=n("342f");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(i)},"1cec":function(t,e,n){var i=n("0b07"),r=n("2b3e"),o=i(r,"Promise");t.exports=o},"1d80":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"1db9":function(t,e,n){t.exports={"modal-overlay":"UiModalSidebar_modal-overlay_3xabU","modal-overlay_fixed":"UiModalSidebar_modal-overlay_fixed_Kd84m","modal-overlay_left":"UiModalSidebar_modal-overlay_left_2LXRG","modal-overlay_right":"UiModalSidebar_modal-overlay_right_1pHIc","modal-sidebar":"UiModalSidebar_modal-sidebar_2LJvT","modal-sidebar__inner":"UiModalSidebar_modal-sidebar__inner_1zDd0","modal-sidebar__head":"UiModalSidebar_modal-sidebar__head_3NHVB","modal-sidebar__head-inner":"UiModalSidebar_modal-sidebar__head-inner_3CO69","modal-sidebar__title":"UiModalSidebar_modal-sidebar__title_CVJnk","modal-sidebar__title_ellipsis":"UiModalSidebar_modal-sidebar__title_ellipsis_2fjSW","modal-sidebar__body":"UiModalSidebar_modal-sidebar__body_slttd","modal-sidebar__body-fixed":"UiModalSidebar_modal-sidebar__body-fixed_i2oTD","modal-sidebar__footer":"UiModalSidebar_modal-sidebar__footer_24RYh",btn:"UiModalSidebar_btn_1hLCB","modal-sidebar__close":"UiModalSidebar_modal-sidebar__close_3nEMF","modal-sidebar_left":"UiModalSidebar_modal-sidebar_left_2YHa_","modal-sidebar_sm":"UiModalSidebar_modal-sidebar_sm_3I6mI","modal-sidebar_lg":"UiModalSidebar_modal-sidebar_lg_2PK0p"}},"1dde":function(t,e,n){var i=n("d039"),r=n("b622"),o=n("2d00"),a=r("species");t.exports=function(t){return o>=51||!i((function(){var e=[],n=e.constructor={};return n[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},"1e58":function(t,e,n){t.exports={checkbox:"UiCheckbox_checkbox_CP9FX",checkbox__ch:"UiCheckbox_checkbox__ch_39tNe","checkbox__ch-icon":"UiCheckbox_checkbox__ch-icon_rZagB","checkbox__ch-input":"UiCheckbox_checkbox__ch-input_1NMJt","checkbox__ch-image":"UiCheckbox_checkbox__ch-image_272GX",checkbox__text:"UiCheckbox_checkbox__text_2cEGS",checkbox__label:"UiCheckbox_checkbox__label_1EGuC",checkbox__label_muted:"UiCheckbox_checkbox__label_muted_o403C",checkbox__desc:"UiCheckbox_checkbox__desc_3qQh3",checkbox_checked:"UiCheckbox_checkbox_checked_2kSmy",checkbox_disabled:"UiCheckbox_checkbox_disabled_3vDuP",checkbox_active:"UiCheckbox_checkbox_active_XaJs5",checkbox_indeterminate:"UiCheckbox_checkbox_indeterminate_TC0NL",checkbox_min:"UiCheckbox_checkbox_min_39vL4","checkbox-wrap":"UiCheckbox_checkbox-wrap_2aDoq"}},"1e74":function(t,e,n){"use strict";var i=n("3f02"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"1efc":function(t,e){function n(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}t.exports=n},"1fc8":function(t,e,n){var i=n("4245");function r(t,e){var n=i(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}t.exports=r},"207d":function(t,e,n){"use strict";var i=n("d178"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"20c6":function(t,e,n){t.exports={preview:"UiAttachment_preview_Oqgqh",preview_size_sm:"UiAttachment_preview_size_sm_jG_-c",preview_size_md:"UiAttachment_preview_size_md_R5BzP",preview_type_image:"UiAttachment_preview_type_image_2CGGx",preview_type_video:"UiAttachment_preview_type_video_i3PtK",preview_type_document:"UiAttachment_preview_type_document_28uUR",preview_type_spreadsheet:"UiAttachment_preview_type_spreadsheet_3Fnmq",preview_state_error:"UiAttachment_preview_state_error_cVC1e",preview_overlay:"UiAttachment_preview_overlay_3z-iP",thumb:"UiAttachment_thumb_1n-wx",ext:"UiAttachment_ext_25HCm",ext_size_sm:"UiAttachment_ext_size_sm_3OMaU",img:"UiAttachment_img_1H6HR",icon:"UiAttachment_icon_2VmfS"}},2217:function(t,e,n){"use strict";var i=n("fae0"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},2266:function(t,e,n){var i=n("825a"),r=n("e95a"),o=n("50c4"),a=n("0366"),s=n("35a1"),l=n("2a62"),c=function(t,e){this.stopped=t,this.result=e};t.exports=function(t,e,n){var u,p,d,f,_,h,b,g=n&&n.that,v=!(!n||!n.AS_ENTRIES),m=!(!n||!n.IS_ITERATOR),x=!(!n||!n.INTERRUPTED),y=a(e,g,1+v+x),w=function(t){return u&&l(u),new c(!0,t)},A=function(t){return v?(i(t),x?y(t[0],t[1],w):y(t[0],t[1])):x?y(t,w):y(t)};if(m)u=t;else{if(p=s(t),"function"!=typeof p)throw TypeError("Target is not iterable");if(r(p)){for(d=0,f=o(t.length);f>d;d++)if(_=A(t[d]),_&&_ instanceof c)return _;return new c(!1)}u=p.call(t)}h=u.next;while(!(b=h.call(u)).done){try{_=A(b.value)}catch(U){throw l(u),U}if("object"==typeof _&&_&&_ instanceof c)return _}return new c(!1)}},2286:function(t,e,n){var i=n("85e3"),r=Math.max;function o(t,e,n){return e=r(void 0===e?t.length-1:e,0),function(){var o=arguments,a=-1,s=r(o.length-e,0),l=Array(s);while(++a0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);var n=t.indexOf("Trident/");if(n>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var r=t.indexOf("Edge/");return r>0?parseInt(t.substring(r+5,t.indexOf(".",r)),10):-1}var r;function o(){o.init||(o.init=!0,r=-1!==i())}n.d(e,"a",(function(){return h}));var a={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t=this;o(),this.$nextTick((function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight,t.emitOnMount&&t.emitSize()}));var e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",r&&this.$el.appendChild(e),e.data="about:blank",r||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!r&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};function s(t,e,n,i,r,o,a,s,l,c){"boolean"!==typeof a&&(l=s,s=a,a=!1);var u,p="function"===typeof n?n.options:n;if(t&&t.render&&(p.render=t.render,p.staticRenderFns=t.staticRenderFns,p._compiled=!0,r&&(p.functional=!0)),i&&(p._scopeId=i),o?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(o)},p._ssrRegister=u):e&&(u=a?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,s(t))}),u)if(p.functional){var d=p.render;p.render=function(t,e){return u.call(e),d(t,e)}}else{var f=p.beforeCreate;p.beforeCreate=f?[].concat(f,u):[u]}return n}var l=a,c=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},u=[];c._withStripped=!0;var p=void 0,d="data-v-8859cc6c",f=void 0,_=!1,h=s({render:c,staticRenderFns:u},p,l,d,_,f,!1,void 0,void 0,void 0);function b(t){t.component("resize-observer",h),t.component("ResizeObserver",h)}var g={version:"1.0.1",install:b},v=null;"undefined"!==typeof window?v=window.Vue:"undefined"!==typeof t&&(v=t.Vue),v&&v.use(g)}).call(this,n("c8ba"))},2532:function(t,e,n){"use strict";var i=n("23e7"),r=n("5a34"),o=n("1d80"),a=n("ab13");i({target:"String",proto:!0,forced:!a("includes")},{includes:function(t){return!!~String(o(this)).indexOf(r(t),arguments.length>1?arguments[1]:void 0)}})},"253c":function(t,e,n){var i=n("3729"),r=n("1310"),o="[object Arguments]";function a(t){return r(t)&&i(t)==o}t.exports=a},"25eb":function(t,e,n){var i=n("23e7"),r=n("c20d");i({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},"25f0":function(t,e,n){"use strict";var i=n("6eeb"),r=n("825a"),o=n("d039"),a=n("ad6d"),s="toString",l=RegExp.prototype,c=l[s],u=o((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),p=c.name!=s;(u||p)&&i(RegExp.prototype,s,(function(){var t=r(this),e=String(t.source),n=t.flags,i=String(void 0===n&&t instanceof RegExp&&!("flags"in l)?a.call(t):n);return"/"+e+"/"+i}),{unsafe:!0})},2626:function(t,e,n){"use strict";var i=n("d066"),r=n("9bf2"),o=n("b622"),a=n("83ab"),s=o("species");t.exports=function(t){var e=i(t),n=r.f;a&&e&&!e[s]&&n(e,s,{configurable:!0,get:function(){return this}})}},"262c":function(t,e,n){"use strict";var i=n("3b53"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"27bb":function(t,e,n){t.exports={text:"UiText_text_2_z8L",text_gray:"UiText_text_gray_3-JEz",text_primary:"UiText_text_primary_29t0r",text_success:"UiText_text_success_1tu3N",text_action:"UiText_text_action_26OZr",text_black:"UiText_text_black_1BwQd",text_hero:"UiText_text_hero_2XVk3","text_title-01":"UiText_text_title-01_1uEdD","text_title-02":"UiText_text_title-02_3DREW",text_article:"UiText_text_article_2l13o",text_paragraph:"UiText_text_paragraph_1ij_7",text_md:"UiText_text_md_3Oq4i",text_body:"UiText_text_body_Psnvi",text_small:"UiText_text_small_QTWpg",text_tiny:"UiText_text_tiny_1_wcg",text_accent:"UiText_text_accent_nhXJH",text_title:"UiText_text_title_1c9wp",text_ellipsis:"UiText_text_ellipsis_3WWJn",text_link:"UiText_text_link_cYNuY"}},2877:function(t,e,n){"use strict";function i(t,e,n,i,r,o,a,s){var l,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(l=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):r&&(l=s?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:t,options:c}}n.d(e,"a",(function(){return i}))},2881:function(t,e,n){t.exports={input:"UiInputGiant_input_2fb9g",input__error:"UiInputGiant_input__error_3eIeC",input__error_ellipsis:"UiInputGiant_input__error_ellipsis_uCm4E",input_placeholder:"UiInputGiant_input_placeholder_mL6l8",input__icon:"UiInputGiant_input__icon_DTvYH",input_focus:"UiInputGiant_input_focus_1SBn8",input_disabled:"UiInputGiant_input_disabled_33RXx",area:"UiInputGiant_area_1l1uw",suffix:"UiInputGiant_suffix_tosrP",prefix:"UiInputGiant_prefix_29wio",input_error:"UiInputGiant_input_error_stQae","input__icon_state-fill":"UiInputGiant_input__icon_state-fill_3qviM",placeholder:"UiInputGiant_placeholder_cjxM1","input_line-style":"UiInputGiant_input_line-style_HB-AR","content-inner":"UiInputGiant_content-inner_1dZpJ","input__tooltip-area":"UiInputGiant_input__tooltip-area_PypgK","input__error-tooltip":"UiInputGiant_input__error-tooltip_1gvt0","input__error-wrap":"UiInputGiant_input__error-wrap_guy_P",label:"UiInputGiant_label_2BbPI",content:"UiInputGiant_content_1JuUs",suffix__icon:"UiInputGiant_suffix__icon_PgwX1",prefix__icon:"UiInputGiant_prefix__icon_cWGC2",prefix__inner:"UiInputGiant_prefix__inner_3viRs",postfix:"UiInputGiant_postfix_M-i1C"}},"28c9":function(t,e){function n(){this.__data__=[],this.size=0}t.exports=n},"296f":function(t,e,n){t.exports={container:"UiCalendar_container_O_8Mm",calendar:"UiCalendar_calendar_2cKr0",table:"UiCalendar_table_Jw5A-",row:"UiCalendar_row_1_ST3","row_justify-end":"UiCalendar_row_justify-end_14Mxi","cell-weekday":"UiCalendar_cell-weekday_2dPoY","cell-day":"UiCalendar_cell-day_1xjM1","cell-day_muted":"UiCalendar_cell-day_muted_1j7i_","cell-month":"UiCalendar_cell-month_1t0Hu","cell-year":"UiCalendar_cell-year_EAAWi"}},"29f3":function(t,e){var n=Object.prototype,i=n.toString;function r(t){return i.call(t)}t.exports=r},"2a45":function(t,e,n){"use strict";var i=n("86df"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"2a62":function(t,e,n){var i=n("825a");t.exports=function(t){var e=t["return"];if(void 0!==e)return i(e.call(t)).value}},"2ae7":function(t,e,n){"use strict";var i=n("182b"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"2b16":function(t,e,n){"use strict";var i=n("e24b"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"2b3d":function(t,e,n){"use strict";n("3ca3");var i,r=n("23e7"),o=n("83ab"),a=n("0d3b"),s=n("da84"),l=n("37e8"),c=n("6eeb"),u=n("19aa"),p=n("5135"),d=n("60da"),f=n("4df4"),_=n("6547").codeAt,h=n("5fb2"),b=n("d44e"),g=n("9861"),v=n("69f3"),m=s.URL,x=g.URLSearchParams,y=g.getState,w=v.set,A=v.getterFor("URL"),U=Math.floor,k=Math.pow,S="Invalid authority",C="Invalid scheme",B="Invalid host",I="Invalid port",T=/[A-Za-z]/,O=/[\d+-.A-Za-z]/,$=/\d/,D=/^(0x|0X)/,E=/^[0-7]+$/,M=/^\d+$/,L=/^[\dA-Fa-f]+$/,N=/[\u0000\t\u000A\u000D #%/:?@[\\]]/,j=/[\u0000\t\u000A\u000D #/:?@[\\]]/,P=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,z=/[\t\u000A\u000D]/g,R=function(t,e){var n,i,r;if("["==e.charAt(0)){if("]"!=e.charAt(e.length-1))return B;if(n=H(e.slice(1,-1)),!n)return B;t.host=n}else if(Z(t)){if(e=h(e),N.test(e))return B;if(n=F(e),null===n)return B;t.host=n}else{if(j.test(e))return B;for(n="",i=f(e),r=0;r4)return t;for(n=[],i=0;i1&&"0"==r.charAt(0)&&(o=D.test(r)?16:8,r=r.slice(8==o?1:2)),""===r)a=0;else{if(!(10==o?M:8==o?E:L).test(r))return t;a=parseInt(r,o)}n.push(a)}for(i=0;i=k(256,5-e))return null}else if(a>255)return null;for(s=n.pop(),i=0;i6)return;i=0;while(d()){if(r=null,i>0){if(!("."==d()&&i<4))return;p++}if(!$.test(d()))return;while($.test(d())){if(o=parseInt(d(),10),null===r)r=o;else{if(0==r)return;r=10*r+o}if(r>255)return;p++}l[c]=256*l[c]+r,i++,2!=i&&4!=i||c++}if(4!=i)return;break}if(":"==d()){if(p++,!d())return}else if(d())return;l[c++]=e}else{if(null!==u)return;p++,c++,u=c}}if(null!==u){a=c-u,c=7;while(0!=c&&a>0)s=l[c],l[c--]=l[u+a-1],l[u+--a]=s}else if(8!=c)return;return l},W=function(t){for(var e=null,n=1,i=null,r=0,o=0;o<8;o++)0!==t[o]?(r>n&&(e=i,n=r),i=null,r=0):(null===i&&(i=o),++r);return r>n&&(e=i,n=r),e},G=function(t){var e,n,i,r;if("number"==typeof t){for(e=[],n=0;n<4;n++)e.unshift(t%256),t=U(t/256);return e.join(".")}if("object"==typeof t){for(e="",i=W(t),n=0;n<8;n++)r&&0===t[n]||(r&&(r=!1),i===n?(e+=n?":":"::",r=!0):(e+=t[n].toString(16),n<7&&(e+=":")));return"["+e+"]"}return t},V={},Y=d({},V,{" ":1,'"':1,"<":1,">":1,"`":1}),X=d({},Y,{"#":1,"?":1,"{":1,"}":1}),Q=d({},X,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),q=function(t,e){var n=_(t,0);return n>32&&n<127&&!p(e,t)?t:encodeURIComponent(t)},J={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Z=function(t){return p(J,t.scheme)},K=function(t){return""!=t.username||""!=t.password},tt=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},et=function(t,e){var n;return 2==t.length&&T.test(t.charAt(0))&&(":"==(n=t.charAt(1))||!e&&"|"==n)},nt=function(t){var e;return t.length>1&&et(t.slice(0,2))&&(2==t.length||"/"===(e=t.charAt(2))||"\\"===e||"?"===e||"#"===e)},it=function(t){var e=t.path,n=e.length;!n||"file"==t.scheme&&1==n&&et(e[0],!0)||e.pop()},rt=function(t){return"."===t||"%2e"===t.toLowerCase()},ot=function(t){return t=t.toLowerCase(),".."===t||"%2e."===t||".%2e"===t||"%2e%2e"===t},at={},st={},lt={},ct={},ut={},pt={},dt={},ft={},_t={},ht={},bt={},gt={},vt={},mt={},xt={},yt={},wt={},At={},Ut={},kt={},St={},Ct=function(t,e,n,r){var o,a,s,l,c=n||at,u=0,d="",_=!1,h=!1,b=!1;n||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,e=e.replace(P,"")),e=e.replace(z,""),o=f(e);while(u<=o.length){switch(a=o[u],c){case at:if(!a||!T.test(a)){if(n)return C;c=lt;continue}d+=a.toLowerCase(),c=st;break;case st:if(a&&(O.test(a)||"+"==a||"-"==a||"."==a))d+=a.toLowerCase();else{if(":"!=a){if(n)return C;d="",c=lt,u=0;continue}if(n&&(Z(t)!=p(J,d)||"file"==d&&(K(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=d,n)return void(Z(t)&&J[t.scheme]==t.port&&(t.port=null));d="","file"==t.scheme?c=mt:Z(t)&&r&&r.scheme==t.scheme?c=ct:Z(t)?c=ft:"/"==o[u+1]?(c=ut,u++):(t.cannotBeABaseURL=!0,t.path.push(""),c=Ut)}break;case lt:if(!r||r.cannotBeABaseURL&&"#"!=a)return C;if(r.cannotBeABaseURL&&"#"==a){t.scheme=r.scheme,t.path=r.path.slice(),t.query=r.query,t.fragment="",t.cannotBeABaseURL=!0,c=St;break}c="file"==r.scheme?mt:pt;continue;case ct:if("/"!=a||"/"!=o[u+1]){c=pt;continue}c=_t,u++;break;case ut:if("/"==a){c=ht;break}c=At;continue;case pt:if(t.scheme=r.scheme,a==i)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query;else if("/"==a||"\\"==a&&Z(t))c=dt;else if("?"==a)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query="",c=kt;else{if("#"!=a){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.path.pop(),c=At;continue}t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query,t.fragment="",c=St}break;case dt:if(!Z(t)||"/"!=a&&"\\"!=a){if("/"!=a){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,c=At;continue}c=ht}else c=_t;break;case ft:if(c=_t,"/"!=a||"/"!=d.charAt(u+1))continue;u++;break;case _t:if("/"!=a&&"\\"!=a){c=ht;continue}break;case ht:if("@"==a){_&&(d="%40"+d),_=!0,s=f(d);for(var g=0;g65535)return I;t.port=Z(t)&&x===J[t.scheme]?null:x,d=""}if(n)return;c=wt;continue}return I}d+=a;break;case mt:if(t.scheme="file","/"==a||"\\"==a)c=xt;else{if(!r||"file"!=r.scheme){c=At;continue}if(a==i)t.host=r.host,t.path=r.path.slice(),t.query=r.query;else if("?"==a)t.host=r.host,t.path=r.path.slice(),t.query="",c=kt;else{if("#"!=a){nt(o.slice(u).join(""))||(t.host=r.host,t.path=r.path.slice(),it(t)),c=At;continue}t.host=r.host,t.path=r.path.slice(),t.query=r.query,t.fragment="",c=St}}break;case xt:if("/"==a||"\\"==a){c=yt;break}r&&"file"==r.scheme&&!nt(o.slice(u).join(""))&&(et(r.path[0],!0)?t.path.push(r.path[0]):t.host=r.host),c=At;continue;case yt:if(a==i||"/"==a||"\\"==a||"?"==a||"#"==a){if(!n&&et(d))c=At;else if(""==d){if(t.host="",n)return;c=wt}else{if(l=R(t,d),l)return l;if("localhost"==t.host&&(t.host=""),n)return;d="",c=wt}continue}d+=a;break;case wt:if(Z(t)){if(c=At,"/"!=a&&"\\"!=a)continue}else if(n||"?"!=a)if(n||"#"!=a){if(a!=i&&(c=At,"/"!=a))continue}else t.fragment="",c=St;else t.query="",c=kt;break;case At:if(a==i||"/"==a||"\\"==a&&Z(t)||!n&&("?"==a||"#"==a)){if(ot(d)?(it(t),"/"==a||"\\"==a&&Z(t)||t.path.push("")):rt(d)?"/"==a||"\\"==a&&Z(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&et(d)&&(t.host&&(t.host=""),d=d.charAt(0)+":"),t.path.push(d)),d="","file"==t.scheme&&(a==i||"?"==a||"#"==a))while(t.path.length>1&&""===t.path[0])t.path.shift();"?"==a?(t.query="",c=kt):"#"==a&&(t.fragment="",c=St)}else d+=q(a,X);break;case Ut:"?"==a?(t.query="",c=kt):"#"==a?(t.fragment="",c=St):a!=i&&(t.path[0]+=q(a,V));break;case kt:n||"#"!=a?a!=i&&("'"==a&&Z(t)?t.query+="%27":t.query+="#"==a?"%23":q(a,V)):(t.fragment="",c=St);break;case St:a!=i&&(t.fragment+=q(a,Y));break}u++}},Bt=function(t){var e,n,i=u(this,Bt,"URL"),r=arguments.length>1?arguments[1]:void 0,a=String(t),s=w(i,{type:"URL"});if(void 0!==r)if(r instanceof Bt)e=A(r);else if(n=Ct(e={},String(r)),n)throw TypeError(n);if(n=Ct(s,a,null,e),n)throw TypeError(n);var l=s.searchParams=new x,c=y(l);c.updateSearchParams(s.query),c.updateURL=function(){s.query=String(l)||null},o||(i.href=Tt.call(i),i.origin=Ot.call(i),i.protocol=$t.call(i),i.username=Dt.call(i),i.password=Et.call(i),i.host=Mt.call(i),i.hostname=Lt.call(i),i.port=Nt.call(i),i.pathname=jt.call(i),i.search=Pt.call(i),i.searchParams=zt.call(i),i.hash=Rt.call(i))},It=Bt.prototype,Tt=function(){var t=A(this),e=t.scheme,n=t.username,i=t.password,r=t.host,o=t.port,a=t.path,s=t.query,l=t.fragment,c=e+":";return null!==r?(c+="//",K(t)&&(c+=n+(i?":"+i:"")+"@"),c+=G(r),null!==o&&(c+=":"+o)):"file"==e&&(c+="//"),c+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==s&&(c+="?"+s),null!==l&&(c+="#"+l),c},Ot=function(){var t=A(this),e=t.scheme,n=t.port;if("blob"==e)try{return new URL(e.path[0]).origin}catch(i){return"null"}return"file"!=e&&Z(t)?e+"://"+G(t.host)+(null!==n?":"+n:""):"null"},$t=function(){return A(this).scheme+":"},Dt=function(){return A(this).username},Et=function(){return A(this).password},Mt=function(){var t=A(this),e=t.host,n=t.port;return null===e?"":null===n?G(e):G(e)+":"+n},Lt=function(){var t=A(this).host;return null===t?"":G(t)},Nt=function(){var t=A(this).port;return null===t?"":String(t)},jt=function(){var t=A(this),e=t.path;return t.cannotBeABaseURL?e[0]:e.length?"/"+e.join("/"):""},Pt=function(){var t=A(this).query;return t?"?"+t:""},zt=function(){return A(this).searchParams},Rt=function(){var t=A(this).fragment;return t?"#"+t:""},Ft=function(t,e){return{get:t,set:e,configurable:!0,enumerable:!0}};if(o&&l(It,{href:Ft(Tt,(function(t){var e=A(this),n=String(t),i=Ct(e,n);if(i)throw TypeError(i);y(e.searchParams).updateSearchParams(e.query)})),origin:Ft(Ot),protocol:Ft($t,(function(t){var e=A(this);Ct(e,String(t)+":",at)})),username:Ft(Dt,(function(t){var e=A(this),n=f(String(t));if(!tt(e)){e.username="";for(var i=0;in)e.push(arguments[n++]);return x[++m]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},i(m),m},h=function(t){delete x[t]},d?i=function(t){b.nextTick(A(t))}:v&&v.now?i=function(t){v.now(A(t))}:g&&!p?(r=new g,o=r.port2,r.port1.onmessage=U,i=l(o.postMessage,o,1)):a.addEventListener&&"function"==typeof postMessage&&!a.importScripts&&f&&"file:"!==f.protocol&&!s(k)?(i=k,a.addEventListener("message",U,!1)):i=y in u("script")?function(t){c.appendChild(u("script"))[y]=function(){c.removeChild(this),w(t)}}:function(t){setTimeout(A(t),0)}),t.exports={set:_,clear:h}},"2d00":function(t,e,n){var i,r,o=n("da84"),a=n("342f"),s=o.process,l=s&&s.versions,c=l&&l.v8;c?(i=c.split("."),r=i[0]+i[1]):a&&(i=a.match(/Edge\/(\d+)/),(!i||i[1]>=74)&&(i=a.match(/Chrome\/(\d+)/),i&&(r=i[1]))),t.exports=r&&+r},"2d7c":function(t,e){function n(t,e){var n=-1,i=null==t?0:t.length,r=0,o=[];while(++n1?n[o-1]:void 0,s=o>2?n[2]:void 0;a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&r(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);while(++il)r.f(t,n=i[l++],e[n]);return t}},"38cf":function(t,e,n){var i=n("23e7"),r=n("1148");i({target:"String",proto:!0},{repeat:r})},"39c6":function(t,e,n){"use strict";var i=n("4fdb"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"39ff":function(t,e,n){var i=n("0b07"),r=n("2b3e"),o=i(r,"WeakMap");t.exports=o},"3b4a":function(t,e,n){var i=n("0b07"),r=function(){try{var t=i(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();t.exports=r},"3b53":function(t,e,n){t.exports={radio:"UiRadio_radio_P4fdK",radio__btn:"UiRadio_radio__btn_1YjS7","radio__btn-icon":"UiRadio_radio__btn-icon_3BrHz","radio__btn-input":"UiRadio_radio__btn-input_1rcZ9",radio__text:"UiRadio_radio__text_1YXa9",radio__label:"UiRadio_radio__label_2CGH1",radio__desc:"UiRadio_radio__desc_33Shr",radio_disabled:"UiRadio_radio_disabled_2PVDX",radio_checked:"UiRadio_radio_checked_3lboj",radio_active:"UiRadio_radio_active_3Nb_4",radio_focused:"UiRadio_radio_focused_2EDpl","radio-wrap":"UiRadio_radio-wrap_2lQuc"}},"3bbe":function(t,e,n){var i=n("861d");t.exports=function(t){if(!i(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3c5c":function(t,e,n){"use strict";var i=n("20c6"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"3c97":function(t,e,n){"use strict";var i=n("cee1"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"3ca3":function(t,e,n){"use strict";var i=n("6547").charAt,r=n("69f3"),o=n("7dd0"),a="String Iterator",s=r.set,l=r.getterFor(a);o(String,"String",(function(t){s(this,{type:a,string:String(t),index:0})}),(function(){var t,e=l(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=i(n,r),e.index+=t.length,{value:t,done:!1})}))},"3e95":function(t,e,n){"use strict";var i=n("c6ff"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"3f02":function(t,e,n){t.exports={title:"UiTitle_title_3FT8S"}},"3f06":function(t,e,n){"use strict";var i=n("3fdc"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"3f8c":function(t,e){t.exports={}},"3fdc":function(t,e,n){t.exports={"tag-wrap":"UiTag_tag-wrap_2Z33w",tag:"UiTag_tag_1Gnu2",tag__close:"UiTag_tag__close_12f6X",tag__content:"UiTag_tag__content_7ZOG1","tag__left-icon":"UiTag_tag__left-icon_1mGE6",tag_light:"UiTag_tag_light_1obJS",tag_dark:"UiTag_tag_dark_10RwR",tag_large:"UiTag_tag_large_36Vdu",tag_big:"UiTag_tag_big_3zXit",tag_small:"UiTag_tag_small_5BAxj",tag_caps:"UiTag_tag_caps_3IfeJ",tag_pointer:"UiTag_tag_pointer_mRwfl"}},"408a":function(t,e,n){var i=n("c6b6");t.exports=function(t){if("number"!=typeof t&&"Number"!=i(t))throw TypeError("Incorrect invocation");return+t}},"40ec":function(t,e,n){t.exports={row:"UiRow_row_tDv3Q","row_top-xxs":"UiRow_row_top-xxs_2z8xB","row_top-xs":"UiRow_row_top-xs_P3M8S","row_top-s":"UiRow_row_top-s_1ZyHD","row_top-m":"UiRow_row_top-m_3Uegk","row_top-l":"UiRow_row_top-l_1WVP6","row_top-xl":"UiRow_row_top-xl_WF4ii","row_bottom-xxs":"UiRow_row_bottom-xxs_1jmZy","row_bottom-xs":"UiRow_row_bottom-xs_3SaCj","row_bottom-s":"UiRow_row_bottom-s_2tSHR","row_bottom-m":"UiRow_row_bottom-m_1I9u7","row_bottom-l":"UiRow_row_bottom-l_12G1W","row_bottom-xl":"UiRow_row_bottom-xl_3OaT9","row_inner-top-xxs":"UiRow_row_inner-top-xxs_3Sa7O","row_inner-top-xs":"UiRow_row_inner-top-xs_2YAf6","row_inner-top-s":"UiRow_row_inner-top-s_1sj7E","row_inner-top-m":"UiRow_row_inner-top-m_2AFLh","row_inner-top-l":"UiRow_row_inner-top-l_64juP","row_inner-top-xl":"UiRow_row_inner-top-xl_2EgIf","row_inner-bottom-xxs":"UiRow_row_inner-bottom-xxs_1Qgi5","row_inner-bottom-xs":"UiRow_row_inner-bottom-xs_2CGz2","row_inner-bottom-s":"UiRow_row_inner-bottom-s_1NkOT","row_inner-bottom-m":"UiRow_row_inner-bottom-m_Ps2mj","row_inner-bottom-l":"UiRow_row_inner-bottom-l_1eApq","row_inner-bottom-xl":"UiRow_row_inner-bottom-xl_3NNNp"}},"41c3":function(t,e,n){var i=n("1a8c"),r=n("eac5"),o=n("ec8c"),a=Object.prototype,s=a.hasOwnProperty;function l(t){if(!i(t))return o(t);var e=r(t),n=[];for(var a in t)("constructor"!=a||!e&&s.call(t,a))&&n.push(a);return n}t.exports=l},4245:function(t,e,n){var i=n("1290");function r(t,e){var n=t.__data__;return i(e)?n["string"==typeof e?"string":"hash"]:n.map}t.exports=r},42454:function(t,e,n){var i=n("f909"),r=n("2ec1"),o=r((function(t,e,n){i(t,e,n)}));t.exports=o},4284:function(t,e){function n(t,e){var n=-1,i=null==t?0:t.length;while(++n37&&r<41)}))},"498a":function(t,e,n){"use strict";var i=n("23e7"),r=n("58a8").trim,o=n("c8d2");i({target:"String",proto:!0,forced:o("trim")},{trim:function(){return r(this)}})},"49c4":function(t,e,n){"use strict";var i=n("316d"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"49f4":function(t,e,n){var i=n("6044");function r(){this.__data__=i?i(null):{},this.size=0}t.exports=r},"4b79":function(t,e,n){t.exports={link:"UiLink_link_184Im",link__icon:"UiLink_link__icon_r5CwL",link__inner:"UiLink_link__inner_7wXh-",link_light:"UiLink_link_light_2Nvoa",link_default:"UiLink_link_default_2-Ne0",link_dark:"UiLink_link_dark_3D9ma",link_breadcrumbs:"UiLink_link_breadcrumbs_YCF2c",link_navigation:"UiLink_link_navigation_1xP0R","link_navigation-anchor":"UiLink_link_navigation-anchor_2zZdD",link_title:"UiLink_link_title_8yegN",link_tiny:"UiLink_link_tiny_OrrGs",link_small:"UiLink_link_small_kqHCB",link_body:"UiLink_link_body_2iuAH",link_paragraph:"UiLink_link_paragraph_3pYpD",link_article:"UiLink_link_article_1idIq","link_title-02":"UiLink_link_title-02_1erAj","link_title-01":"UiLink_link_title-01_2_UfX",link_accent:"UiLink_link_accent_coox8","link_dot-border":"UiLink_link_dot-border_2M2S4",link_ellipsis:"UiLink_link_ellipsis_ZNp-t"}},"4bbb":function(t,e,n){"use strict";var i=n("a41c"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"4c96":function(t,e,n){"use strict";var i=n("ac3f"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"4d57":function(t,e,n){"use strict";var i=n("9b88"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"4d63":function(t,e,n){var i=n("83ab"),r=n("da84"),o=n("94ca"),a=n("7156"),s=n("9bf2").f,l=n("241c").f,c=n("44e7"),u=n("ad6d"),p=n("9f7f"),d=n("6eeb"),f=n("d039"),_=n("69f3").set,h=n("2626"),b=n("b622"),g=b("match"),v=r.RegExp,m=v.prototype,x=/a/g,y=/a/g,w=new v(x)!==x,A=p.UNSUPPORTED_Y,U=i&&o("RegExp",!w||A||f((function(){return y[g]=!1,v(x)!=x||v(y)==y||"/a/i"!=v(x,"i")})));if(U){var k=function(t,e){var n,i=this instanceof k,r=c(t),o=void 0===e;if(!i&&r&&t.constructor===k&&o)return t;w?r&&!o&&(t=t.source):t instanceof k&&(o&&(e=u.call(t)),t=t.source),A&&(n=!!e&&e.indexOf("y")>-1,n&&(e=e.replace(/y/g,"")));var s=a(w?new v(t,e):v(t,e),i?this:m,k);return A&&n&&_(s,{sticky:n}),s},S=function(t){t in k||s(k,t,{configurable:!0,get:function(){return v[t]},set:function(e){v[t]=e}})},C=l(v),B=0;while(C.length>B)S(C[B++]);m.constructor=k,k.prototype=m,d(r,"RegExp",k)}h("RegExp")},"4d64":function(t,e,n){var i=n("fc6a"),r=n("50c4"),o=n("23cb"),a=function(t){return function(e,n,a){var s,l=i(e),c=r(l.length),u=o(a,c);if(t&&n!=n){while(c>u)if(s=l[u++],s!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"4de4":function(t,e,n){"use strict";var i=n("23e7"),r=n("b727").filter,o=n("1dde"),a=o("filter");i({target:"Array",proto:!0,forced:!a},{filter:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(t,e,n){"use strict";var i=n("0366"),r=n("7b0b"),o=n("9bdd"),a=n("e95a"),s=n("50c4"),l=n("8418"),c=n("35a1");t.exports=function(t){var e,n,u,p,d,f,_=r(t),h="function"==typeof this?this:Array,b=arguments.length,g=b>1?arguments[1]:void 0,v=void 0!==g,m=c(_),x=0;if(v&&(g=i(g,b>2?arguments[2]:void 0,2)),void 0==m||h==Array&&a(m))for(e=s(_.length),n=new h(e);e>x;x++)f=v?g(_[x],x):_[x],l(n,x,f);else for(p=m.call(_),d=p.next,n=new h;!(u=d.call(p)).done;x++)f=v?o(p,g,[u.value,x],!0):u.value,l(n,x,f);return n.length=x,n}},"4ec9":function(t,e,n){"use strict";var i=n("6d61"),r=n("6566");t.exports=i("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),r)},"4f50":function(t,e,n){var i=n("b760"),r=n("e5383"),o=n("c8fe"),a=n("4359"),s=n("fa21"),l=n("d370"),c=n("6747"),u=n("dcbe"),p=n("0d24"),d=n("9520"),f=n("1a8c"),_=n("60ed"),h=n("73ac"),b=n("8adb"),g=n("8de2");function v(t,e,n,v,m,x,y){var w=b(t,n),A=b(e,n),U=y.get(A);if(U)i(t,n,U);else{var k=x?x(w,A,n+"",t,e,y):void 0,S=void 0===k;if(S){var C=c(A),B=!C&&p(A),I=!C&&!B&&h(A);k=A,C||B||I?c(w)?k=w:u(w)?k=a(w):B?(S=!1,k=r(A,!0)):I?(S=!1,k=o(A,!0)):k=[]:_(A)||l(A)?(k=w,l(w)?k=g(w):f(w)&&!d(w)||(k=s(A))):S=!1}S&&(y.set(A,k),m(k,A,v,x,y),y["delete"](A)),i(t,n,k)}}t.exports=v},"4fb2":function(t,e,n){t.exports={item:"UiAccordionItem_item_18kad",head:"UiAccordionItem_head_36AjC",head__title:"UiAccordionItem_head__title_13WHx","head__btn-box":"UiAccordionItem_head__btn-box_3C6xT",head__button_active:"UiAccordionItem_head__button_active_aHrNF",head__icon:"UiAccordionItem_head__icon_17RqE",head__icon_open:"UiAccordionItem_head__icon_open_1C5jm",content:"UiAccordionItem_content_1f_Gj"}},"4fdb":function(t,e,n){t.exports={select:"UiDropSelect_select_HWDW_",select__content:"UiDropSelect_select__content_1qWdp","select__content-inner":"UiDropSelect_select__content-inner_10TqM",open:"UiDropSelect_open_1QFLb","select__content-ch-wrap":"UiDropSelect_select__content-ch-wrap_2yo8T","select__content-ch":"UiDropSelect_select__content-ch_1SL34",select__footer:"UiDropSelect_select__footer_1N7cw",select__error:"UiDropSelect_select__error_3BII5",greenIcon:"UiDropSelect_greenIcon_2Mnj_","select-trigger":"UiDropSelect_select-trigger_3iTDb"}},"50c4":function(t,e,n){var i=n("a691"),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},"50d8":function(t,e){function n(t,e){var n=-1,i=Array(t);while(++n=S&&(k+=v.slice(S,I)+E,S=I+B.length)}return k+v.slice(S)}]}))},"531a":function(t,e,n){"use strict";var i=n("b9d7"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"53ca":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("e260"),n("ddb0");function i(t){return i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}},"556c":function(t,e,n){"use strict";var i=n("97c1"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"55a3":function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},5612:function(t,e,n){t.exports={input:"UiInput_input_3imQE",input_min:"UiInput_input_min_2Jfm8",input__area:"UiInput_input__area_2i6h-",input__prefix:"UiInput_input__prefix_2_E8S",input__icon:"UiInput_input__icon_3OvsI","input__icon_state-fill":"UiInput_input__icon_state-fill_1wBLL",input__icon_loading:"UiInput_input__icon_loading_3jwDM",input__error:"UiInput_input__error_1jBJf",input__error_ellipsis:"UiInput_input__error_ellipsis_9w2aJ",input_focus:"UiInput_input_focus_398gr",input_error:"UiInput_input_error_6lyBB","input__btn-clear":"UiInput_input__btn-clear_LQrAJ",input_disabled:"UiInput_input_disabled_14igw",input_readonly_grey:"UiInput_input_readonly_grey_3L711",input_readonly:"UiInput_input_readonly_1cj8_","input_with-left-icon":"UiInput_input_with-left-icon_sfw1P","input_with-right-icon":"UiInput_input_with-right-icon_2R06a","input_no-empty":"UiInput_input_no-empty_3zTOx",input__icon_left:"UiInput_input__icon_left_2jUiU","input__btn-clear_disabled":"UiInput_input__btn-clear_disabled_PIvQl","input__tooltip-area":"UiInput_input__tooltip-area_3JKCR","input__error-tooltip":"UiInput_input__error-tooltip_219og","input__error-wrap":"UiInput_input__error-wrap_10m_Y","input_stepper-horizontal":"UiInput_input_stepper-horizontal_3cf7Q","input_stepper-vertical":"UiInput_input_stepper-vertical_3e0mJ","input-wrap":"UiInput_input-wrap_1Zl0X","input-wrap_variable-width":"UiInput_input-wrap_variable-width_34q72"}},5692:function(t,e,n){var i=n("c430"),r=n("c6cd");(t.exports=function(t,e){return r[t]||(r[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.10.0",mode:i?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},"56ef":function(t,e,n){var i=n("d066"),r=n("241c"),o=n("7418"),a=n("825a");t.exports=i("Reflect","ownKeys")||function(t){var e=r.f(a(t)),n=o.f;return n?e.concat(n(t)):e}},"57a5":function(t,e,n){var i=n("91e9"),r=i(Object.keys,Object);t.exports=r},"585a":function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n("c8ba"))},5899:function(t,e){t.exports="\t\n\v\f\r \u2028\u2029\ufeff"},"58a8":function(t,e,n){var i=n("1d80"),r=n("5899"),o="["+r+"]",a=RegExp("^"+o+o+"*"),s=RegExp(o+o+"*$"),l=function(t){return function(e){var n=String(i(e));return 1&t&&(n=n.replace(a,"")),2&t&&(n=n.replace(s,"")),n}};t.exports={start:l(1),end:l(2),trim:l(3)}},"5a34":function(t,e,n){var i=n("44e7");t.exports=function(t){if(i(t))throw TypeError("The method doesn't accept regular expressions");return t}},"5b0a":function(t,e,n){"use strict";var i=n("13fa"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"5bc3":function(t,e){function n(t,e){for(var n=0;n=55296&&r<=56319&&n>1,t+=b(t/e);t>h*a>>1;i+=r)t=b(t/h);return b(i+(h+1)*t/(t+s))},y=function(t){var e=[];t=v(t);var n,s,l=t.length,d=u,f=0,h=c;for(n=0;n=d&&sb((i-f)/U))throw RangeError(_);for(f+=(A-d)*U,d=A,n=0;ni)throw RangeError(_);if(s==d){for(var k=f,S=r;;S+=r){var C=S<=h?o:S>=h+a?a:S-h;if(ku){var f,_=c(arguments[u++]),h=p?o(_).concat(p(_)):o(_),b=h.length,g=0;while(b>g)f=h[g++],i&&!d.call(_,f)||(n[f]=_[f])}return n}:u},"60ed":function(t,e,n){var i=n("3729"),r=n("2dcb"),o=n("1310"),a="[object Object]",s=Function.prototype,l=Object.prototype,c=s.toString,u=l.hasOwnProperty,p=c.call(Object);function d(t){if(!o(t)||i(t)!=a)return!1;var e=r(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==p}t.exports=d},"62e4":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},6323:function(t,e,n){"use strict";var i=n("aeb1"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"63ea":function(t,e,n){var i=n("c05f");function r(t,e){return i(t,e)}t.exports=r},6547:function(t,e,n){var i=n("a691"),r=n("1d80"),o=function(t){return function(e,n){var o,a,s=String(r(e)),l=i(n),c=s.length;return l<0||l>=c?t?"":void 0:(o=s.charCodeAt(l),o<55296||o>56319||l+1===c||(a=s.charCodeAt(l+1))<56320||a>57343?t?s.charAt(l):o:t?s.slice(l,l+2):a-56320+(o-55296<<10)+65536)}};t.exports={codeAt:o(!1),charAt:o(!0)}},6566:function(t,e,n){"use strict";var i=n("9bf2").f,r=n("7c73"),o=n("e2cc"),a=n("0366"),s=n("19aa"),l=n("2266"),c=n("7dd0"),u=n("2626"),p=n("83ab"),d=n("f183").fastKey,f=n("69f3"),_=f.set,h=f.getterFor;t.exports={getConstructor:function(t,e,n,c){var u=t((function(t,i){s(t,u,e),_(t,{type:e,index:r(null),first:void 0,last:void 0,size:0}),p||(t.size=0),void 0!=i&&l(i,t[c],{that:t,AS_ENTRIES:n})})),f=h(e),b=function(t,e,n){var i,r,o=f(t),a=g(t,e);return a?a.value=n:(o.last=a={index:r=d(e,!0),key:e,value:n,previous:i=o.last,next:void 0,removed:!1},o.first||(o.first=a),i&&(i.next=a),p?o.size++:t.size++,"F"!==r&&(o.index[r]=a)),t},g=function(t,e){var n,i=f(t),r=d(e);if("F"!==r)return i.index[r];for(n=i.first;n;n=n.next)if(n.key==e)return n};return o(u.prototype,{clear:function(){var t=this,e=f(t),n=e.index,i=e.first;while(i)i.removed=!0,i.previous&&(i.previous=i.previous.next=void 0),delete n[i.index],i=i.next;e.first=e.last=void 0,p?e.size=0:t.size=0},delete:function(t){var e=this,n=f(e),i=g(e,t);if(i){var r=i.next,o=i.previous;delete n.index[i.index],i.removed=!0,o&&(o.next=r),r&&(r.previous=o),n.first==i&&(n.first=r),n.last==i&&(n.last=o),p?n.size--:e.size--}return!!i},forEach:function(t){var e,n=f(this),i=a(t,arguments.length>1?arguments[1]:void 0,3);while(e=e?e.next:n.first){i(e.value,e.key,this);while(e&&e.removed)e=e.previous}},has:function(t){return!!g(this,t)}}),o(u.prototype,n?{get:function(t){var e=g(this,t);return e&&e.value},set:function(t,e){return b(this,0===t?0:t,e)}}:{add:function(t){return b(this,t=0===t?0:t,t)}}),p&&i(u.prototype,"size",{get:function(){return f(this).size}}),u},setStrong:function(t,e,n){var i=e+" Iterator",r=h(e),o=h(i);c(t,e,(function(t,e){_(this,{type:i,target:t,state:r(t),kind:e,last:void 0})}),(function(){var t=o(this),e=t.kind,n=t.last;while(n&&n.removed)n=n.previous;return t.target&&(t.last=n=n?n.next:t.state.first)?"keys"==e?{value:n.key,done:!1}:"values"==e?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),u(e)}}},"65f0":function(t,e,n){var i=n("861d"),r=n("e8b5"),o=n("b622"),a=o("species");t.exports=function(t,e){var n;return r(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!r(n.prototype)?i(n)&&(n=n[a],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},"668e":function(t,e,n){t.exports={"submenu-btn":"UiSubmenuBtn_submenu-btn_-NQ2Y","submenu-btn_active":"UiSubmenuBtn_submenu-btn_active_1OIX_"}},"66cb":function(t,e,n){var i;(function(r){var o=/^\s+/,a=/\s+$/,s=0,l=r.round,c=r.min,u=r.max,p=r.random;function d(t,e){if(t=t||"",e=e||{},t instanceof d)return t;if(!(this instanceof d))return new d(t,e);var n=f(t);this._originalInput=t,this._r=n.r,this._g=n.g,this._b=n.b,this._a=n.a,this._roundA=l(100*this._a)/100,this._format=e.format||n.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=n.ok,this._tc_id=s++}function f(t){var e={r:0,g:0,b:0},n=1,i=null,r=null,o=null,a=!1,s=!1;return"string"==typeof t&&(t=q(t)),"object"==typeof t&&(Q(t.r)&&Q(t.g)&&Q(t.b)?(e=_(t.r,t.g,t.b),a=!0,s="%"===String(t.r).substr(-1)?"prgb":"rgb"):Q(t.h)&&Q(t.s)&&Q(t.v)?(i=G(t.s),r=G(t.v),e=v(t.h,i,r),a=!0,s="hsv"):Q(t.h)&&Q(t.s)&&Q(t.l)&&(i=G(t.s),o=G(t.l),e=b(t.h,i,o),a=!0,s="hsl"),t.hasOwnProperty("a")&&(n=t.a)),n=j(n),{ok:a,format:t.format||s,r:c(255,u(e.r,0)),g:c(255,u(e.g,0)),b:c(255,u(e.b,0)),a:n}}function _(t,e,n){return{r:255*P(t,255),g:255*P(e,255),b:255*P(n,255)}}function h(t,e,n){t=P(t,255),e=P(e,255),n=P(n,255);var i,r,o=u(t,e,n),a=c(t,e,n),s=(o+a)/2;if(o==a)i=r=0;else{var l=o-a;switch(r=s>.5?l/(2-o-a):l/(o+a),o){case t:i=(e-n)/l+(e1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(t=P(t,360),e=P(e,100),n=P(n,100),0===e)i=r=o=n;else{var s=n<.5?n*(1+e):n+e-n*e,l=2*n-s;i=a(l,s,t+1/3),r=a(l,s,t),o=a(l,s,t-1/3)}return{r:255*i,g:255*r,b:255*o}}function g(t,e,n){t=P(t,255),e=P(e,255),n=P(n,255);var i,r,o=u(t,e,n),a=c(t,e,n),s=o,l=o-a;if(r=0===o?0:l/o,o==a)i=0;else{switch(o){case t:i=(e-n)/l+(e>1)+720)%360;--e;)i.h=(i.h+r)%360,o.push(d(i));return o}function E(t,e){e=e||6;var n=d(t).toHsv(),i=n.h,r=n.s,o=n.v,a=[],s=1/e;while(e--)a.push(d({h:i,s:r,v:o})),o=(o+s)%1;return a}d.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,n,i,o,a,s=this.toRgb();return t=s.r/255,e=s.g/255,n=s.b/255,i=t<=.03928?t/12.92:r.pow((t+.055)/1.055,2.4),o=e<=.03928?e/12.92:r.pow((e+.055)/1.055,2.4),a=n<=.03928?n/12.92:r.pow((n+.055)/1.055,2.4),.2126*i+.7152*o+.0722*a},setAlpha:function(t){return this._a=j(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=g(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=g(this._r,this._g,this._b),e=l(360*t.h),n=l(100*t.s),i=l(100*t.v);return 1==this._a?"hsv("+e+", "+n+"%, "+i+"%)":"hsva("+e+", "+n+"%, "+i+"%, "+this._roundA+")"},toHsl:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=h(this._r,this._g,this._b),e=l(360*t.h),n=l(100*t.s),i=l(100*t.l);return 1==this._a?"hsl("+e+", "+n+"%, "+i+"%)":"hsla("+e+", "+n+"%, "+i+"%, "+this._roundA+")"},toHex:function(t){return m(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return x(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*P(this._r,255))+"%",g:l(100*P(this._g,255))+"%",b:l(100*P(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*P(this._r,255))+"%, "+l(100*P(this._g,255))+"%, "+l(100*P(this._b,255))+"%)":"rgba("+l(100*P(this._r,255))+"%, "+l(100*P(this._g,255))+"%, "+l(100*P(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(L[m(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+y(this._r,this._g,this._b,this._a),n=e,i=this._gradientType?"GradientType = 1, ":"";if(t){var r=d(t);n="#"+y(r._r,r._g,r._b,r._a)}return"progid:DXImageTransform.Microsoft.gradient("+i+"startColorstr="+e+",endColorstr="+n+")"},toString:function(t){var e=!!t;t=t||this._format;var n=!1,i=this._a<1&&this._a>=0,r=!e&&i&&("hex"===t||"hex6"===t||"hex3"===t||"hex4"===t||"hex8"===t||"name"===t);return r?"name"===t&&0===this._a?this.toName():this.toRgbString():("rgb"===t&&(n=this.toRgbString()),"prgb"===t&&(n=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(n=this.toHexString()),"hex3"===t&&(n=this.toHexString(!0)),"hex4"===t&&(n=this.toHex8String(!0)),"hex8"===t&&(n=this.toHex8String()),"name"===t&&(n=this.toName()),"hsl"===t&&(n=this.toHslString()),"hsv"===t&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return d(this.toString())},_applyModification:function(t,e){var n=t.apply(null,[this].concat([].slice.call(e)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(k,arguments)},brighten:function(){return this._applyModification(S,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(w,arguments)},saturate:function(){return this._applyModification(A,arguments)},greyscale:function(){return this._applyModification(U,arguments)},spin:function(){return this._applyModification(B,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(D,arguments)},complement:function(){return this._applyCombination(I,arguments)},monochromatic:function(){return this._applyCombination(E,arguments)},splitcomplement:function(){return this._applyCombination($,arguments)},triad:function(){return this._applyCombination(T,arguments)},tetrad:function(){return this._applyCombination(O,arguments)}},d.fromRatio=function(t,e){if("object"==typeof t){var n={};for(var i in t)t.hasOwnProperty(i)&&(n[i]="a"===i?t[i]:G(t[i]));t=n}return d(t,e)},d.equals=function(t,e){return!(!t||!e)&&d(t).toRgbString()==d(e).toRgbString()},d.random=function(){return d.fromRatio({r:p(),g:p(),b:p()})},d.mix=function(t,e,n){n=0===n?0:n||50;var i=d(t).toRgb(),r=d(e).toRgb(),o=n/100,a={r:(r.r-i.r)*o+i.r,g:(r.g-i.g)*o+i.g,b:(r.b-i.b)*o+i.b,a:(r.a-i.a)*o+i.a};return d(a)},d.readability=function(t,e){var n=d(t),i=d(e);return(r.max(n.getLuminance(),i.getLuminance())+.05)/(r.min(n.getLuminance(),i.getLuminance())+.05)},d.isReadable=function(t,e,n){var i,r,o=d.readability(t,e);switch(r=!1,i=J(n),i.level+i.size){case"AAsmall":case"AAAlarge":r=o>=4.5;break;case"AAlarge":r=o>=3;break;case"AAAsmall":r=o>=7;break}return r},d.mostReadable=function(t,e,n){var i,r,o,a,s=null,l=0;n=n||{},r=n.includeFallbackColors,o=n.level,a=n.size;for(var c=0;cl&&(l=i,s=d(e[c]));return d.isReadable(t,s,{level:o,size:a})||!r?s:(n.includeFallbackColors=!1,d.mostReadable(t,["#fff","#000"],n))};var M=d.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},L=d.hexNames=N(M);function N(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}function j(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function P(t,e){F(t)&&(t="100%");var n=H(t);return t=c(e,u(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),r.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function z(t){return c(1,u(0,t))}function R(t){return parseInt(t,16)}function F(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)}function H(t){return"string"===typeof t&&-1!=t.indexOf("%")}function W(t){return 1==t.length?"0"+t:""+t}function G(t){return t<=1&&(t=100*t+"%"),t}function V(t){return r.round(255*parseFloat(t)).toString(16)}function Y(t){return R(t)/255}var X=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",n="(?:"+e+")|(?:"+t+")",i="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?",r="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?";return{CSS_UNIT:new RegExp(n),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+r),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+r),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+r),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Q(t){return!!X.CSS_UNIT.exec(t)}function q(t){t=t.replace(o,"").replace(a,"").toLowerCase();var e,n=!1;if(M[t])t=M[t],n=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=X.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=X.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=X.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=X.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=X.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=X.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=X.hex8.exec(t))?{r:R(e[1]),g:R(e[2]),b:R(e[3]),a:Y(e[4]),format:n?"name":"hex8"}:(e=X.hex6.exec(t))?{r:R(e[1]),g:R(e[2]),b:R(e[3]),format:n?"name":"hex"}:(e=X.hex4.exec(t))?{r:R(e[1]+""+e[1]),g:R(e[2]+""+e[2]),b:R(e[3]+""+e[3]),a:Y(e[4]+""+e[4]),format:n?"name":"hex8"}:!!(e=X.hex3.exec(t))&&{r:R(e[1]+""+e[1]),g:R(e[2]+""+e[2]),b:R(e[3]+""+e[3]),format:n?"name":"hex"}}function J(t){var e,n;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),n=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA"),"small"!==n&&"large"!==n&&(n="small"),{level:e,size:n}}t.exports?t.exports=d:(i=function(){return d}.call(e,n,e,t),void 0===i||(t.exports=i))})(Math)},6747:function(t,e){var n=Array.isArray;t.exports=n},"67ca":function(t,e,n){var i=n("cb5a");function r(t,e){var n=this.__data__,r=i(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}t.exports=r},"686b":function(t,e,n){"use strict";var i=n("a30f"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"69d5":function(t,e,n){var i=n("cb5a"),r=Array.prototype,o=r.splice;function a(t){var e=this.__data__,n=i(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():o.call(e,n,1),--this.size,!0}t.exports=a},"69f3":function(t,e,n){var i,r,o,a=n("7f9a"),s=n("da84"),l=n("861d"),c=n("9112"),u=n("5135"),p=n("c6cd"),d=n("f772"),f=n("d012"),_=s.WeakMap,h=function(t){return o(t)?r(t):i(t,{})},b=function(t){return function(e){var n;if(!l(e)||(n=r(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(a){var g=p.state||(p.state=new _),v=g.get,m=g.has,x=g.set;i=function(t,e){return e.facade=t,x.call(g,t,e),e},r=function(t){return v.call(g,t)||{}},o=function(t){return m.call(g,t)}}else{var y=d("state");f[y]=!0,i=function(t,e){return e.facade=t,c(t,y,e),e},r=function(t){return u(t,y)?t[y]:{}},o=function(t){return u(t,y)}}t.exports={set:i,get:r,has:o,enforce:h,getterFor:b}},"6a52":function(t,e,n){t.exports={"popup-wrapp":"UiPopup_popup-wrapp_1gVtr","popup-overlay":"UiPopup_popup-overlay_1gN8k",popup:"UiPopup_popup_3ESMf",popup__close:"UiPopup_popup__close_f5IoB",popup__content:"UiPopup_popup__content_1E6zX",popup__head:"UiPopup_popup__head_3BYin","popup__head-icon":"UiPopup_popup__head-icon_nACCG","popup__head-title":"UiPopup_popup__head-title_3aIAg",popup__footer:"UiPopup_popup__footer_1GepO",popup__title:"UiPopup_popup__title_HFht2",popup_popup:"UiPopup_popup_popup_1MnAf","popup_with-fixed-title":"UiPopup_popup_with-fixed-title_Z8e6Y",popup_responsive:"UiPopup_popup_responsive_xutSJ","popup__title-wrap":"UiPopup_popup__title-wrap_2yn8g",popup_confirm:"UiPopup_popup_confirm_3bqsW",popup_alert:"UiPopup_popup_alert_AYOlB",popup_hint:"UiPopup_popup_hint_1ytkM","popup__footer-description":"UiPopup_popup__footer-description_1G8Xb","popup-body-wrapp":"UiPopup_popup-body-wrapp_bxqNU","shortcut-tooltip":"UiPopup_shortcut-tooltip_AtbfE"}},"6d61":function(t,e,n){"use strict";var i=n("23e7"),r=n("da84"),o=n("94ca"),a=n("6eeb"),s=n("f183"),l=n("2266"),c=n("19aa"),u=n("861d"),p=n("d039"),d=n("1c7e"),f=n("d44e"),_=n("7156");t.exports=function(t,e,n){var h=-1!==t.indexOf("Map"),b=-1!==t.indexOf("Weak"),g=h?"set":"add",v=r[t],m=v&&v.prototype,x=v,y={},w=function(t){var e=m[t];a(m,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(b&&!u(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return b&&!u(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(b&&!u(t))&&e.call(this,0===t?0:t)}:function(t,n){return e.call(this,0===t?0:t,n),this})},A=o(t,"function"!=typeof v||!(b||m.forEach&&!p((function(){(new v).entries().next()}))));if(A)x=n.getConstructor(e,t,h,g),s.REQUIRED=!0;else if(o(t,!0)){var U=new x,k=U[g](b?{}:-0,1)!=U,S=p((function(){U.has(1)})),C=d((function(t){new v(t)})),B=!b&&p((function(){var t=new v,e=5;while(e--)t[g](e,e);return!t.has(-0)}));C||(x=e((function(e,n){c(e,x,t);var i=_(new v,e,x);return void 0!=n&&l(n,i[g],{that:i,AS_ENTRIES:h}),i})),x.prototype=m,m.constructor=x),(S||B)&&(w("delete"),w("has"),h&&w("get")),(B||k)&&w(g),b&&m.clear&&delete m.clear}return y[t]=x,i({global:!0,forced:x!=v},y),f(x,t),b||n.setStrong(x,t,h),x}},"6eeb":function(t,e,n){var i=n("da84"),r=n("9112"),o=n("5135"),a=n("ce4e"),s=n("8925"),l=n("69f3"),c=l.get,u=l.enforce,p=String(String).split("String");(t.exports=function(t,e,n,s){var l,c=!!s&&!!s.unsafe,d=!!s&&!!s.enumerable,f=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof e||o(n,"name")||r(n,"name",e),l=u(n),l.source||(l.source=p.join("string"==typeof e?e:""))),t!==i?(c?!f&&t[e]&&(d=!0):delete t[e],d?t[e]=n:r(t,e,n)):d?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||s(this)}))},"6f53":function(t,e,n){var i=n("83ab"),r=n("df75"),o=n("fc6a"),a=n("d1e7").f,s=function(t){return function(e){var n,s=o(e),l=r(s),c=l.length,u=0,p=[];while(c>u)n=l[u++],i&&!a.call(s,n)||p.push(t?[n,s[n]]:s[n]);return p}};t.exports={entries:s(!0),values:s(!1)}},"6f86":function(t,e,n){t.exports={popover:"UiBreadcrumbsMore_popover_1Ccje",target:"UiBreadcrumbsMore_target_3IYM5",target_light:"UiBreadcrumbsMore_target_light_34wu7",open:"UiBreadcrumbsMore_open_1rlL0",target_dark:"UiBreadcrumbsMore_target_dark_2XP-X",target_rules:"UiBreadcrumbsMore_target_rules_1wLkQ",target__icon:"UiBreadcrumbsMore_target__icon_2Cj_8","more-dropdown":"UiBreadcrumbsMore_more-dropdown_1BgHz","more-dropdown__item":"UiBreadcrumbsMore_more-dropdown__item_1v5eM"}},"6fcd":function(t,e,n){var i=n("50d8"),r=n("d370"),o=n("6747"),a=n("0d24"),s=n("c098"),l=n("73ac"),c=Object.prototype,u=c.hasOwnProperty;function p(t,e){var n=o(t),c=!n&&r(t),p=!n&&!c&&a(t),d=!n&&!c&&!p&&l(t),f=n||c||p||d,_=f?i(t.length,String):[],h=_.length;for(var b in t)!e&&!u.call(t,b)||f&&("length"==b||p&&("offset"==b||"parent"==b)||d&&("buffer"==b||"byteLength"==b||"byteOffset"==b)||s(b,h))||_.push(b);return _}t.exports=p},7037:function(t,e,n){function i(e){return"function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?(t.exports=i=function(t){return typeof t},t.exports["default"]=t.exports,t.exports.__esModule=!0):(t.exports=i=function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports["default"]=t.exports,t.exports.__esModule=!0),i(e)}n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("e260"),n("ddb0"),t.exports=i,t.exports["default"]=t.exports,t.exports.__esModule=!0},7156:function(t,e,n){var i=n("861d"),r=n("d2bb");t.exports=function(t,e,n){var o,a;return r&&"function"==typeof(o=e.constructor)&&o!==n&&i(a=o.prototype)&&a!==n.prototype&&r(t,a),t}},"72af":function(t,e,n){var i=n("99cd"),r=i();t.exports=r},"72e0":function(t,e,n){"use strict";var i=n("ed0e"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"72f0":function(t,e){function n(t){return function(){return t}}t.exports=n},"73ac":function(t,e,n){var i=n("743f"),r=n("b047"),o=n("99d3"),a=o&&o.isTypedArray,s=a?r(a):i;t.exports=s},"73e8":function(t,e,n){t.exports={"field-row":"UiField_field-row_2D3qI","field-row__label-box":"UiField_field-row__label-box_2NTyd","field-row__label":"UiField_field-row__label_16xqa","field-row__icon":"UiField_field-row__icon_21rvJ","field-row__subtitle":"UiField_field-row__subtitle_3V0k-"}},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"743f":function(t,e,n){var i=n("3729"),r=n("b218"),o=n("1310"),a="[object Arguments]",s="[object Array]",l="[object Boolean]",c="[object Date]",u="[object Error]",p="[object Function]",d="[object Map]",f="[object Number]",_="[object Object]",h="[object RegExp]",b="[object Set]",g="[object String]",v="[object WeakMap]",m="[object ArrayBuffer]",x="[object DataView]",y="[object Float32Array]",w="[object Float64Array]",A="[object Int8Array]",U="[object Int16Array]",k="[object Int32Array]",S="[object Uint8Array]",C="[object Uint8ClampedArray]",B="[object Uint16Array]",I="[object Uint32Array]",T={};function O(t){return o(t)&&r(t.length)&&!!T[i(t)]}T[y]=T[w]=T[A]=T[U]=T[k]=T[S]=T[C]=T[B]=T[I]=!0,T[a]=T[s]=T[m]=T[l]=T[x]=T[c]=T[u]=T[p]=T[d]=T[f]=T[_]=T[h]=T[b]=T[g]=T[v]=!1,t.exports=O},"746f":function(t,e,n){var i=n("428f"),r=n("5135"),o=n("e538"),a=n("9bf2").f;t.exports=function(t){var e=i.Symbol||(i.Symbol={});r(e,t)||a(e,t,{value:o.f(t)})}},7475:function(t,e,n){},"747c":function(t,e,n){t.exports={saturation:"SaturationSlider_saturation_3t2c5",saturation__grad:"SaturationSlider_saturation__grad_ObyWC",saturation__grad_black:"SaturationSlider_saturation__grad_black_3m3WK",saturation__grad_white:"SaturationSlider_saturation__grad_white_2Wlvh","saturation-pointer":"SaturationSlider_saturation-pointer_1ro9B","saturation-pointer__inner":"SaturationSlider_saturation-pointer__inner_2gkkK"}},7530:function(t,e,n){var i=n("1a8c"),r=Object.create,o=function(){function t(){}return function(e){if(!i(e))return{};if(r)return r(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},7611:function(t,e,n){t.exports={btn:"UiButton_btn_3ejnD",btn__inner:"UiButton_btn__inner_1rctX",btn__icon:"UiButton_btn__icon_3qm4B","btn__icon-success":"UiButton_btn__icon-success_1bD0X",btn_primary:"UiButton_btn_primary_2n0L-",btn_active:"UiButton_btn_active_2N6D0","btn_primary-success":"UiButton_btn_primary-success_3CPeN","btn_primary-error":"UiButton_btn_primary-error_3Wmu6","btn_primary-loading":"UiButton_btn_primary-loading_bARTd",btn_disabled:"UiButton_btn_disabled_3YEpN",btn_secondary:"UiButton_btn_secondary_35rAN","btn_secondary-success":"UiButton_btn_secondary-success_1THaG","btn_secondary-error":"UiButton_btn_secondary-error_eOnCU","btn_secondary-loading":"UiButton_btn_secondary-loading_3xxrh",btn_tertiary:"UiButton_btn_tertiary_33eRf",btn_delete:"UiButton_btn_delete_3JvGq","btn_tertiary-success":"UiButton_btn_tertiary-success_2j8_T","btn_tertiary-error":"UiButton_btn_tertiary-error_3y2mU","btn_tertiary-loading":"UiButton_btn_tertiary-loading_eAhCP",btn_outlined:"UiButton_btn_outlined_3KfK7",btn_blue:"UiButton_btn_blue_2u7rs",btn_black:"UiButton_btn_black_N6u3D",btn_lg:"UiButton_btn_lg_23Ixt",btn__txt:"UiButton_btn__txt_lBLyT","btn_left-icon":"UiButton_btn_left-icon_1YdIB","btn_right-icon":"UiButton_btn_right-icon_9kWUY",btn_md:"UiButton_btn_md_2eedl",btn_sm:"UiButton_btn_sm_MukZt",btn_xs:"UiButton_btn_xs_1hbVo",btn_circle:"UiButton_btn_circle_23K6M",btn_square:"UiButton_btn_square_I9yuL",btn_ellipsis:"UiButton_btn_ellipsis_14NYF","btn-tooltip":"UiButton_btn-tooltip_3zHXn"}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},7867:function(t,e,n){"use strict";var i=n("7d49"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},7951:function(t,e,n){t.exports={navigation:"UiCalendarNavigation_navigation_ua63c",navigation__placeholder:"UiCalendarNavigation_navigation__placeholder_1NoVN",navigation__icon:"UiCalendarNavigation_navigation__icon_QMGpu",navigation__text:"UiCalendarNavigation_navigation__text_2AKK6"}},7999:function(t,e,n){"use strict";var i=n("1c07"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"79bc":function(t,e,n){var i=n("0b07"),r=n("2b3e"),o=i(r,"Map");t.exports=o},"7a48":function(t,e,n){var i=n("6044"),r=Object.prototype,o=r.hasOwnProperty;function a(t){var e=this.__data__;return i?void 0!==e[t]:o.call(e,t)}t.exports=a},"7b0b":function(t,e,n){var i=n("1d80");t.exports=function(t){return Object(i(t))}},"7b3d":function(t,e,n){"use strict";var i=n("7d6f"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"7b83":function(t,e,n){var i=n("7c64"),r=n("93ed"),o=n("2478"),a=n("a524"),s=n("1fc8");function l(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e",d="<",f="prototype",_="script",h=u("IE_PROTO"),b=function(){},g=function(t){return d+_+p+t+d+"/"+_+p},v=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},m=function(){var t,e=c("iframe"),n="java"+_+":";return e.style.display="none",l.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(g("document.F=Object")),t.close(),t.F},x=function(){try{i=document.domain&&new ActiveXObject("htmlfile")}catch(e){}x=i?v(i):m();var t=a.length;while(t--)delete x[f][a[t]];return x()};s[h]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(b[f]=r(t),n=new b,b[f]=null,n[h]=t):n=x(),void 0===e?n:o(n,e)}},"7cb4":function(t,e,n){},"7d1f":function(t,e,n){var i=n("087d"),r=n("6747");function o(t,e,n){var o=e(t);return r(t)?o:i(o,n(t))}t.exports=o},"7d49":function(t,e,n){t.exports={layout:"UiIntegrationLayout_layout_3yg4b",header:"UiIntegrationLayout_header_3n3EO",header__nav:"UiIntegrationLayout_header__nav_2tiIc","header__nav-logo":"UiIntegrationLayout_header__nav-logo_3udGQ","header__nav-arrow":"UiIntegrationLayout_header__nav-arrow_2bo0w","header__nav-item":"UiIntegrationLayout_header__nav-item_3CZOJ","header__nav-item_primary":"UiIntegrationLayout_header__nav-item_primary_3_STO",header__link:"UiIntegrationLayout_header__link_310Us",header__inner:"UiIntegrationLayout_header__inner_2nC_F",aside:"UiIntegrationLayout_aside_36gE9",content:"UiIntegrationLayout_content_hYJoj",main:"UiIntegrationLayout_main_1y-7e"}},"7d6f":function(t,e,n){t.exports={"add-btn":"UiAddBtn_add-btn_21XL-","add-btn_sm":"UiAddBtn_add-btn_sm_3yq_M","add-btn_green":"UiAddBtn_add-btn_green_3pK7Q","add-btn_blue":"UiAddBtn_add-btn_blue_3FaPW","add-btn__content":"UiAddBtn_add-btn__content_14yEW","add-btn_lg":"UiAddBtn_add-btn_lg_1Of0B"}},"7db0":function(t,e,n){"use strict";var i=n("23e7"),r=n("b727").find,o=n("44d2"),a="find",s=!0;a in[]&&Array(1)[a]((function(){s=!1})),i({target:"Array",proto:!0,forced:s},{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),o(a)},"7dd0":function(t,e,n){"use strict";var i=n("23e7"),r=n("9ed3"),o=n("e163"),a=n("d2bb"),s=n("d44e"),l=n("9112"),c=n("6eeb"),u=n("b622"),p=n("c430"),d=n("3f8c"),f=n("ae93"),_=f.IteratorPrototype,h=f.BUGGY_SAFARI_ITERATORS,b=u("iterator"),g="keys",v="values",m="entries",x=function(){return this};t.exports=function(t,e,n,u,f,y,w){r(n,e,u);var A,U,k,S=function(t){if(t===f&&O)return O;if(!h&&t in I)return I[t];switch(t){case g:return function(){return new n(this,t)};case v:return function(){return new n(this,t)};case m:return function(){return new n(this,t)}}return function(){return new n(this)}},C=e+" Iterator",B=!1,I=t.prototype,T=I[b]||I["@@iterator"]||f&&I[f],O=!h&&T||S(f),$="Array"==e&&I.entries||T;if($&&(A=o($.call(new t)),_!==Object.prototype&&A.next&&(p||o(A)===_||(a?a(A,_):"function"!=typeof A[b]&&l(A,b,x)),s(A,C,!0,!0),p&&(d[C]=x))),f==v&&T&&T.name!==v&&(B=!0,O=function(){return T.call(this)}),p&&!w||I[b]===O||l(I,b,O),d[e]=O,f)if(U={values:S(v),keys:y?O:S(g),entries:S(m)},w)for(k in U)(h||B||!(k in I))&&c(I,k,U[k]);else i({target:e,proto:!0,forced:h||B},U);return U}},"7e12":function(t,e,n){var i=n("da84"),r=n("58a8").trim,o=n("5899"),a=i.parseFloat,s=1/a(o+"-0")!==-1/0;t.exports=s?function(t){var e=r(String(t)),n=a(e);return 0===n&&"-"==e.charAt(0)?-0:n}:a},"7e64":function(t,e,n){var i=n("5e2e"),r=n("efb6"),o=n("2fcc"),a=n("802a"),s=n("55a3"),l=n("d02c");function c(t){var e=this.__data__=new i(t);this.size=e.size}c.prototype.clear=r,c.prototype["delete"]=o,c.prototype.get=a,c.prototype.has=s,c.prototype.set=l,t.exports=c},"7ed2":function(t,e){var n="__lodash_hash_undefined__";function i(t){return this.__data__.set(t,n),this}t.exports=i},"7f9a":function(t,e,n){var i=n("da84"),r=n("8925"),o=i.WeakMap;t.exports="function"===typeof o&&/native code/.test(r(o))},"802a":function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},"80d7":function(t,e,n){t.exports={"btn-wrap":"UiCopyBtn_btn-wrap_3q022","copy-area":"UiCopyBtn_copy-area_2CGmx"}},"81f7":function(t,e,n){t.exports={file:"File_file_2fB-w",file__load:"File_file__load_3G7o2",file__preview:"File_file__preview_1hI3x","file__preview-link":"File_file__preview-link_1OkX-",file__img:"File_file__img_2uaAp",file__name:"File_file__name_26MxU",file_error:"File_file_error_1NrdV",file_done:"File_file_done_1p5Dj",file_wait:"File_file_wait_1z4wn","file_upload-btn":"File_file_upload-btn_3amtF","file__name-wrap":"File_file__name-wrap_2xizZ","file__name-link":"File_file__name-link_iiT0z",file__icon:"File_file__icon_20kfj","file__icon-upload":"File_file__icon-upload_2ZUsr","file__icon-done":"File_file__icon-done_VnmXd"}},8205:function(t,e,n){"use strict";var i=n("4fb2"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},"825a":function(t,e,n){var i=n("861d");t.exports=function(t){if(!i(t))throw TypeError(String(t)+" is not an object");return t}},"83ab":function(t,e,n){var i=n("d039");t.exports=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,e,n){"use strict";var i=n("c04e"),r=n("9bf2"),o=n("5c6c");t.exports=function(t,e,n){var a=i(e);a in t?r.f(t,a,o(0,n)):t[a]=n}},"841c":function(t,e,n){"use strict";var i=n("d784"),r=n("825a"),o=n("1d80"),a=n("129f"),s=n("14c3");i("search",1,(function(t,e,n){return[function(e){var n=o(this),i=void 0==e?void 0:e[t];return void 0!==i?i.call(e,n):new RegExp(e)[t](String(n))},function(t){var i=n(e,t,this);if(i.done)return i.value;var o=r(t),l=String(this),c=o.lastIndex;a(c,0)||(o.lastIndex=0);var u=s(o,l);return a(o.lastIndex,c)||(o.lastIndex=c),null===u?-1:u.index}]}))},"857a":function(t,e,n){var i=n("1d80"),r=/"/g;t.exports=function(t,e,n,o){var a=String(i(t)),s="<"+e;return""!==n&&(s+=" "+n+'="'+String(o).replace(r,""")+'"'),s+">"+a+""+e+">"}},"85e3":function(t,e){function n(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}t.exports=n},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},"86df":function(t,e,n){t.exports={"menu-btn":"UiMenuBtn_menu-btn_2mWVp","menu-btn_opened":"UiMenuBtn_menu-btn_opened_wlznG","menu-btn_active":"UiMenuBtn_menu-btn_active_1vJnz","menu-btn__inner":"UiMenuBtn_menu-btn__inner_w3w26","menu-btn__icon":"UiMenuBtn_menu-btn__icon_1UB7f","menu-btn__image":"UiMenuBtn_menu-btn__image_SswJJ","menu-btn__icon-collapse":"UiMenuBtn_menu-btn__icon-collapse_1FSSa","menu-btn__label":"UiMenuBtn_menu-btn__label_1DUsJ"}},"872a":function(t,e,n){var i=n("3b4a");function r(t,e,n){"__proto__"==e&&i?i(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}t.exports=r},8756:function(t,e,n){t.exports={input:"UiInputDropdown_input_3uKMA",input__inner:"UiInputDropdown_input__inner_3o9ZS",input__inner_disabled:"UiInputDropdown_input__inner_disabled_25lMr","input__image-hover":"UiInputDropdown_input__image-hover_1vbyP",input__icon_prefix:"UiInputDropdown_input__icon_prefix_12iDr",input__text:"UiInputDropdown_input__text_1P9He",ticker:"UiInputDropdown_ticker_2qhst",input__inner_center:"UiInputDropdown_input__inner_center_1dcTI",input__content:"UiInputDropdown_input__content_3T9LH",input__descript:"UiInputDropdown_input__descript_1bPOT",input__icon:"UiInputDropdown_input__icon_2SfZN",input__icon_suffix:"UiInputDropdown_input__icon_suffix__-QJ1",input__avatar:"UiInputDropdown_input__avatar_1gR_U",input__image:"UiInputDropdown_input__image_2AC8r","input__additional-txt":"UiInputDropdown_input__additional-txt_aRQ6R","input_start-icon":"UiInputDropdown_input_start-icon_ItU2b","input_black-icon":"UiInputDropdown_input_black-icon_2UAZf",input_simple:"UiInputDropdown_input_simple_3wwVs",input_disabled:"UiInputDropdown_input_disabled_3GOuh",input_md:"UiInputDropdown_input_md_31N3t",input_sm:"UiInputDropdown_input_sm_-1gW4",input_accent:"UiInputDropdown_input_accent_2aNlk",input_delete:"UiInputDropdown_input_delete_1Q981"}},"87ee":function(t,e,n){},8824:function(t,e,n){"use strict";var i=n("b21c"),r=n.n(i);n.d(e,"default",(function(){return r.a}))},8875:function(t,e,n){var i,r,o;(function(n,a){r=[],i=a,o="function"===typeof i?i.apply(e,r):i,void 0===o||(t.exports=o)})("undefined"!==typeof self&&self,(function(){function t(){var e=Object.getOwnPropertyDescriptor(document,"currentScript");if(!e&&"currentScript"in document&&document.currentScript)return document.currentScript;if(e&&e.get!==t&&document.currentScript)return document.currentScript;try{throw new Error}catch(f){var n,i,r,o=/.*at [^(]*\((.*):(.+):(.+)\)$/gi,a=/@([^@]*):(\d+):(\d+)\s*$/gi,s=o.exec(f.stack)||a.exec(f.stack),l=s&&s[1]||!1,c=s&&s[2]||!1,u=document.location.href.replace(document.location.hash,""),p=document.getElementsByTagName("script");l===u&&(n=document.documentElement.outerHTML,i=new RegExp("(?:[^\\n]+?\\n){0,"+(c-2)+"}[^<]**}
-{**}
-
-
+
+
+{include file='./../../index.html'}
diff --git a/retailcrm/views/templates/admin/module_messages.tpl b/retailcrm/views/templates/admin/module_messages.tpl
deleted file mode 100644
index 39a5e41..0000000
--- a/retailcrm/views/templates/admin/module_messages.tpl
+++ /dev/null
@@ -1,108 +0,0 @@
-{**
- * MIT License
- *
- * Copyright (c) 2020 DIGITAL RETAIL TECHNOLOGIES SL
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
- * versions in the future. If you wish to customize PrestaShop for your
- * needs please refer to http://www.prestashop.com for more information.
- *
- * @author DIGITAL RETAIL TECHNOLOGIES SL
- * @copyright 2020 DIGITAL RETAIL TECHNOLOGIES SL
- * @license https://opensource.org/licenses/MIT The MIT License
- *
- * Don't forget to prefix your containers with your own identifier
- * to avoid any conflicts with others containers.
- *}
-{if isset($moduleErrors) && is_array($moduleErrors) && count($moduleErrors) > 0}
-
- {foreach from=$moduleErrors item=error}
-
-
- {if is_array($error) && count($error) > 0}
-
- {foreach from=$error item=message}
- - {$message|escape:'htmlall':'UTF-8'}
- {/foreach}
-
- {else}
- {$error|escape:'htmlall':'UTF-8'}
- {/if}
-
- {/foreach}
-
-{/if}
-{if isset($moduleWarnings) && is_array($moduleWarnings) && count($moduleWarnings) > 0}
-
- {foreach from=$moduleWarnings item=warning}
-
-
- {if is_array($warning) && count($warning) > 0}
-
- {foreach from=$warning item=message}
- - {$message|escape:'htmlall':'UTF-8'}
- {/foreach}
-
- {else}
- {$warning|escape:'htmlall':'UTF-8'}
- {/if}
-
- {/foreach}
-
-{/if}
-{if isset($moduleConfirmations) && is_array($moduleConfirmations) && count($moduleConfirmations) > 0}
-
- {foreach from=$moduleConfirmations item=confirm}
-
-
- {if is_array($confirm) && count($confirm) > 0}
-
- {foreach from=$confirm item=message}
- - {$message|escape:'htmlall':'UTF-8'}
- {/foreach}
-
- {else}
- {$confirm|escape:'htmlall':'UTF-8'}
- {/if}
-
- {/foreach}
-
-{/if}
-{if isset($moduleInfos) && is_array($moduleInfos) && count($moduleInfos) > 0}
-
- {foreach from=$moduleInfos item=info}
-
-
- {if is_array($info) && count($info) > 0}
-
- {foreach from=$info item=message}
- - {$message|escape:'htmlall':'UTF-8'}
- {/foreach}
-
- {else}
- {$info|escape:'htmlall':'UTF-8'}
- {/if}
-
- {/foreach}
-
-{/if}
diff --git a/retailcrm/views/templates/admin/settings.tpl b/retailcrm/views/templates/admin/settings.tpl
deleted file mode 100644
index fab6a0a..0000000
--- a/retailcrm/views/templates/admin/settings.tpl
+++ /dev/null
@@ -1,734 +0,0 @@
-{**
- * MIT License
- *
- * Copyright (c) 2020 DIGITAL RETAIL TECHNOLOGIES SL
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
- * versions in the future. If you wish to customize PrestaShop for your
- * needs please refer to http://www.prestashop.com for more information.
- *
- * @author DIGITAL RETAIL TECHNOLOGIES SL
- * @copyright 2020 DIGITAL RETAIL TECHNOLOGIES SL
- * @license https://opensource.org/licenses/MIT The MIT License
- *
- * Don't forget to prefix your containers with your own identifier
- * to avoid any conflicts with others containers.
- *}
-
-
-
-
-
-
-
-
-
-
-{assign var="systemName" value="Simla.com"}
-{capture name="catalogTitleName"}{l s='Icml catalog' mod='retailcrm'}{/capture}
-{assign var="catalogTitleName" value=$smarty.capture.catalogTitleName}
-
-{$systemName|escape:'htmlall':'UTF-8'}
-
- {include file='./module_messages.tpl'}
- {include file='./module_translates.tpl'}
-
-
-
- {$systemName|escape:'htmlall':'UTF-8'}
-
-{**}
-
-
-
-
-
-
-
-
-
diff --git a/tests/RetailcrmOrderBuilderTest.php b/tests/RetailcrmOrderBuilderTest.php
index 8a15240..a93a036 100644
--- a/tests/RetailcrmOrderBuilderTest.php
+++ b/tests/RetailcrmOrderBuilderTest.php
@@ -152,8 +152,8 @@ class RetailcrmOrderBuilderTest extends RetailcrmTestCase
$order = new Order(1);
$order->reference = 'test_n';
$order->current_state = 0;
- Configuration::updateValue('RETAILCRM_API_DELIVERY', '{"1":"test_delivery"}');
- Configuration::updateValue('RETAILCRM_API_STATUS', '{"1":"test_status"}');
+ Configuration::updateValue(RetailCRM::DELIVERY, '{"1":"test_delivery"}');
+ Configuration::updateValue(RetailCRM::STATUS, '{"1":"test_status"}');
Configuration::updateValue(RetailCRM::ENABLE_ORDER_NUMBER_SENDING, false);
$crmOrder = RetailcrmOrderBuilder::buildCrmOrder($order);
diff --git a/tests/RetailcrmTest.php b/tests/RetailcrmTest.php
index bb879be..82ad2bf 100644
--- a/tests/RetailcrmTest.php
+++ b/tests/RetailcrmTest.php
@@ -129,14 +129,16 @@ class RetailCRMTest extends RetailcrmTestCase
$this->mockMethodsForOrderUpload(1, 1, $updReference);
+ RetailcrmExport::$api = $this->retailcrmModule->api;
+
Configuration::updateValue(RetailCRM::ENABLE_ORDER_NUMBER_RECEIVING, false);
- $this->retailcrmModule->uploadOrders([1]);
+ RetailcrmExport::uploadOrders([1]);
$firstUpdOrder = new Order(1);
$this->assertEquals($reference, $firstUpdOrder->reference);
Configuration::updateValue(RetailCRM::ENABLE_ORDER_NUMBER_RECEIVING, true);
- $this->retailcrmModule->uploadOrders([1]);
+ RetailcrmExport::uploadOrders([1]);
$secondUpdOrder = new Order(1);
$this->assertEquals($updReference, $secondUpdOrder->reference);
diff --git a/tests/helpers/RetailcrmTestCase.php b/tests/helpers/RetailcrmTestCase.php
index 363c815..65417a3 100644
--- a/tests/helpers/RetailcrmTestCase.php
+++ b/tests/helpers/RetailcrmTestCase.php
@@ -90,9 +90,9 @@ abstract class RetailcrmTestCase extends \PHPUnit\Framework\TestCase
]
);
- Configuration::updateValue('RETAILCRM_API_DELIVERY', $delivery);
- Configuration::updateValue('RETAILCRM_API_STATUS', $status);
- Configuration::updateValue('RETAILCRM_API_PAYMENT', $payment);
+ Configuration::updateValue(RetailCRM::DELIVERY, $delivery);
+ Configuration::updateValue(RetailCRM::STATUS, $status);
+ Configuration::updateValue(RetailCRM::PAYMENT, $payment);
}
private function apiMockBuilder(array $methods)