From fcc0913b6c4d6c6e8dd9718feecea1d3d95e50c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=A0=20=E6=81=A9=E6=A8=B9?= Date: Tue, 14 May 2024 16:00:07 +0900 Subject: [PATCH 1/5] =?UTF-8?q?zap=E3=82=B7=E3=83=8A=E3=83=AA=E3=82=AA?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zap/scripts/admin_authority.zst | 98 +++ zap/scripts/admin_class_category_csv.zst | 251 ++++++++ zap/scripts/admin_class_name.zst | 156 +++++ zap/scripts/admin_content_block.zst | 245 +++++++ zap/scripts/admin_content_cache.zst | 140 ++++ zap/scripts/admin_content_file.zst | 355 ++++++++++ zap/scripts/admin_content_layout.zst | 237 +++++++ zap/scripts/admin_create_customer.zst | 463 +++++++++++++ zap/scripts/admin_create_customers.zst | 104 +++ zap/scripts/admin_create_orders_100.zst | 90 +++ zap/scripts/admin_customer_delivery.zst | 255 ++++++++ zap/scripts/admin_customer_edit.zst | 371 +++++++++++ zap/scripts/admin_customer_list.zst | 176 +++++ zap/scripts/admin_delivery.zst | 259 ++++++++ zap/scripts/admin_js_css.zst | 187 ++++++ zap/scripts/admin_log.zst | 118 ++++ zap/scripts/admin_login_history.zst | 92 +++ zap/scripts/admin_mail.zst | 162 +++++ zap/scripts/admin_mail_edit.zst | 254 ++++++++ zap/scripts/admin_masterdata.zst | 230 +++++++ zap/scripts/admin_member_edit.zst | 300 +++++++++ zap/scripts/admin_member_setting.zst | 445 +++++++++++++ zap/scripts/admin_news.zst | 288 +++++++++ zap/scripts/admin_order_edit.zst | 183 ++++++ zap/scripts/admin_order_edit_search.zst | 261 ++++++++ zap/scripts/admin_order_list.zst | 295 +++++++++ zap/scripts/admin_order_mail.zst | 467 ++++++++++++++ zap/scripts/admin_page.zst | 234 +++++++ zap/scripts/admin_payment.zst | 375 +++++++++++ zap/scripts/admin_product_category.zst | 300 +++++++++ zap/scripts/admin_product_class_name.zst | 561 ++++++++++++++++ zap/scripts/admin_product_copy.zst | 105 +++ zap/scripts/admin_product_csv.zst | 255 ++++++++ zap/scripts/admin_product_edit.zst | 283 ++++++++ zap/scripts/admin_product_edit_class.zst | 305 +++++++++ zap/scripts/admin_product_tag.zst | 192 ++++++ zap/scripts/admin_product_view.zst | 273 ++++++++ zap/scripts/admin_shipping_csv.zst | 180 ++++++ zap/scripts/admin_shop_setting.zst | 183 ++++++ zap/scripts/admin_system.zst | 142 ++++ zap/scripts/admin_tax.zst | 215 +++++++ zap/scripts/admin_template.zst | 264 ++++++++ zap/scripts/assert_no_high_risks.js | 23 + zap/scripts/configure_tech.js | 50 ++ zap/scripts/dump_alerts.js | 38 ++ zap/scripts/entry.zst | 421 ++++++++++++ zap/scripts/forceuser.groovy | 16 + zap/scripts/front_block.zst | 109 ++++ zap/scripts/front_contact.zst | 133 ++++ zap/scripts/front_help.zst | 131 ++++ zap/scripts/front_mypage.zst | 220 +++++++ zap/scripts/front_new_item.zst | 448 +++++++++++++ zap/scripts/front_product.zst | 154 +++++ zap/scripts/front_sitemap.zst | 109 ++++ zap/scripts/guest_cart.zst | 183 ++++++ zap/scripts/guest_front.zst | 43 ++ zap/scripts/guest_shopping.zst | 429 +++++++++++++ zap/scripts/guest_shopping_customer_edit.zst | 394 ++++++++++++ zap/scripts/guest_shopping_shipping_edit.zst | 449 +++++++++++++ .../guest_shopping_shipping_multiple.zst | 607 ++++++++++++++++++ zap/scripts/mypage_change.zst | 406 ++++++++++++ zap/scripts/mypage_delivery.zst | 271 ++++++++ zap/scripts/mypage_favorite.zst | 309 +++++++++ zap/scripts/mypage_order.zst | 151 +++++ zap/scripts/plugin_coupon_admin_coupon.zst | 487 ++++++++++++++ .../plugin_coupon_admin_create_coupon.zst | 167 +++++ zap/scripts/plugin_coupon_guest_shopping.zst | 600 +++++++++++++++++ .../plugin_mailmagazine_create_customers.zst | 106 +++ zap/scripts/plugin_mailmagazine_send.zst | 540 ++++++++++++++++ zap/scripts/plugin_mailmagazine_template.zst | 458 +++++++++++++ zap/scripts/plugin_product_review.zst | 439 +++++++++++++ zap/scripts/plugin_recommend.zst | 381 +++++++++++ zap/scripts/plugin_related_product.zst | 169 +++++ zap/scripts/plugin_sales_report.zst | 294 +++++++++ 74 files changed, 19084 insertions(+) create mode 100644 zap/scripts/admin_authority.zst create mode 100644 zap/scripts/admin_class_category_csv.zst create mode 100644 zap/scripts/admin_class_name.zst create mode 100644 zap/scripts/admin_content_block.zst create mode 100644 zap/scripts/admin_content_cache.zst create mode 100644 zap/scripts/admin_content_file.zst create mode 100644 zap/scripts/admin_content_layout.zst create mode 100644 zap/scripts/admin_create_customer.zst create mode 100644 zap/scripts/admin_create_customers.zst create mode 100644 zap/scripts/admin_create_orders_100.zst create mode 100644 zap/scripts/admin_customer_delivery.zst create mode 100644 zap/scripts/admin_customer_edit.zst create mode 100644 zap/scripts/admin_customer_list.zst create mode 100644 zap/scripts/admin_delivery.zst create mode 100644 zap/scripts/admin_js_css.zst create mode 100644 zap/scripts/admin_log.zst create mode 100644 zap/scripts/admin_login_history.zst create mode 100644 zap/scripts/admin_mail.zst create mode 100644 zap/scripts/admin_mail_edit.zst create mode 100644 zap/scripts/admin_masterdata.zst create mode 100644 zap/scripts/admin_member_edit.zst create mode 100644 zap/scripts/admin_member_setting.zst create mode 100644 zap/scripts/admin_news.zst create mode 100644 zap/scripts/admin_order_edit.zst create mode 100644 zap/scripts/admin_order_edit_search.zst create mode 100644 zap/scripts/admin_order_list.zst create mode 100644 zap/scripts/admin_order_mail.zst create mode 100644 zap/scripts/admin_page.zst create mode 100644 zap/scripts/admin_payment.zst create mode 100644 zap/scripts/admin_product_category.zst create mode 100644 zap/scripts/admin_product_class_name.zst create mode 100644 zap/scripts/admin_product_copy.zst create mode 100644 zap/scripts/admin_product_csv.zst create mode 100644 zap/scripts/admin_product_edit.zst create mode 100644 zap/scripts/admin_product_edit_class.zst create mode 100644 zap/scripts/admin_product_tag.zst create mode 100644 zap/scripts/admin_product_view.zst create mode 100644 zap/scripts/admin_shipping_csv.zst create mode 100644 zap/scripts/admin_shop_setting.zst create mode 100644 zap/scripts/admin_system.zst create mode 100644 zap/scripts/admin_tax.zst create mode 100644 zap/scripts/admin_template.zst create mode 100644 zap/scripts/assert_no_high_risks.js create mode 100644 zap/scripts/configure_tech.js create mode 100644 zap/scripts/dump_alerts.js create mode 100644 zap/scripts/entry.zst create mode 100644 zap/scripts/forceuser.groovy create mode 100644 zap/scripts/front_block.zst create mode 100644 zap/scripts/front_contact.zst create mode 100644 zap/scripts/front_help.zst create mode 100644 zap/scripts/front_mypage.zst create mode 100644 zap/scripts/front_new_item.zst create mode 100644 zap/scripts/front_product.zst create mode 100644 zap/scripts/front_sitemap.zst create mode 100644 zap/scripts/guest_cart.zst create mode 100644 zap/scripts/guest_front.zst create mode 100644 zap/scripts/guest_shopping.zst create mode 100644 zap/scripts/guest_shopping_customer_edit.zst create mode 100644 zap/scripts/guest_shopping_shipping_edit.zst create mode 100644 zap/scripts/guest_shopping_shipping_multiple.zst create mode 100644 zap/scripts/mypage_change.zst create mode 100644 zap/scripts/mypage_delivery.zst create mode 100644 zap/scripts/mypage_favorite.zst create mode 100644 zap/scripts/mypage_order.zst create mode 100644 zap/scripts/plugin_coupon_admin_coupon.zst create mode 100644 zap/scripts/plugin_coupon_admin_create_coupon.zst create mode 100644 zap/scripts/plugin_coupon_guest_shopping.zst create mode 100644 zap/scripts/plugin_mailmagazine_create_customers.zst create mode 100644 zap/scripts/plugin_mailmagazine_send.zst create mode 100644 zap/scripts/plugin_mailmagazine_template.zst create mode 100644 zap/scripts/plugin_product_review.zst create mode 100644 zap/scripts/plugin_recommend.zst create mode 100644 zap/scripts/plugin_related_product.zst create mode 100644 zap/scripts/plugin_sales_report.zst diff --git a/zap/scripts/admin_authority.zst b/zap/scripts/admin_authority.zst new file mode 100644 index 00000000000..3f02ff95f6c --- /dev/null +++ b/zap/scripts/admin_authority.zst @@ -0,0 +1,98 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_authority", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "url": "https://ec-cube/admin/setting/system/authority", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656670494113, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 2, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/setting/system/authority", + "data": "form%5B_token%5D={{csrf1}}&form%5BAuthorityRoles%5D%5B62bec91e21aa2%5D%5BAuthority%5D=1&form%5BAuthorityRoles%5D%5B62bec91e21aa2%5D%5Bdeny_url%5D=%2Ftest", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 187\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656670507818, + "cookies": [], + "index": 3, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/setting/system/authority", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656670507863, + "cookies": [], + "index": 4, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_class_category_csv.zst b/zap/scripts/admin_class_category_csv.zst new file mode 100644 index 00000000000..8163fa4d2e6 --- /dev/null +++ b/zap/scripts/admin_class_category_csv.zst @@ -0,0 +1,251 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_class_category_csv", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "url": "https://ec-cube/admin/product/class_category_csv_upload", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \"Chromium\";v\u003d\"124\", \"Google Chrome\";v\u003d\"124\", \"Not-A.Brand\";v\u003d\"99\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"macOS\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: none\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "response": { + "url": "https://ec-cube/admin/product/class_category_csv_upload", + "headers": "HTTP/1.1 200 OK\r\nDate: Tue, 14 May 2024 06:12:11 GMT\r\nServer: Apache/2.4.59 (Debian)\r\nX-Frame-Options: SAMEORIGIN\r\nX-Powered-By: PHP/8.1.28\r\nCache-Control: max-age\u003d0, must-revalidate, private\r\nX-Debug-Token: 5b9a76\r\nX-Debug-Token-Link: https://ec-cube/_profiler/5b9a76\r\nX-Robots-Tag: noindex\r\nExpires: Tue, 14 May 2024 06:12:11 GMT\r\nSet-Cookie: maintenance_token\u003ddeleted; expires\u003dMon, 15 May 2023 06:12:10 GMT; Max-Age\u003d0; path\u003d/; httponly\r\nVary: Accept-Encoding\r\nX-XSS-Protection: 1; mode\u003dblock\r\nX-Content-Type-Options: nosniff\r\nContent-Type: text/html; charset\u003dUTF-8\r\ncontent-length: 88562\r\n\r\n", + "body": "\u003c!doctype html\u003e\n\u003chtml lang\u003d\"ja\"\u003e\n\u003chead\u003e\n \u003cmeta charset\u003d\"utf-8\"\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width, initial-scale\u003d1, shrink-to-fit\u003dno\"\u003e\n \u003cmeta name\u003d\"eccube-csrf-token\" content\u003d\"bf2ed621f1d5e4.Lc71bXI60NVMQhr7zY2DHom7GG5GkmHk43aGQ8PNFdw.S6HALCgOnKx4IVWMuu7HderyQSUz-ymhlgXXNqi3ULpem54OK1WPpB4YTw\"\u003e\n \u003ctitle\u003e商品管理 規格分類CSV登録 - EC-CUBE SHOP\u003c/title\u003e\n \u003clink rel\u003d\"icon\" href\u003d\"/html/template/admin/assets/img/favicon.ico\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/all.css\" integrity\u003d\"sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/v4-shims.css\" integrity\u003d\"sha384-lmquXrF9qn7mMo6iRQ662vN44vTTVUBpcdtDFWPxD9uFPqC/aMn6pcQrTTupiv1A\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/bootstrap.css\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/app.css\"\u003e\n \u003cscript src\u003d\"/html/bundle/admin.bundle.js\"\u003e\u003c/script\u003e\n \u003cscript\u003e\n $(function() {\n $.ajaxSetup({\n \u0027headers\u0027: {\n \u0027ECCUBE-CSRF-TOKEN\u0027: $(\u0027meta[name\u003d\"eccube-csrf-token\"]\u0027).attr(\u0027content\u0027)\n }\n });\n });\n \u003c/script\u003e\n \u003c/head\u003e\n\u003cbody id\u003d\"page_admin_product_class_category_csv_import\"\u003e\n\u003cheader class\u003d\"c-headerBar\"\u003e\n \u003cdiv class\u003d\"c-headerBar__container\"\u003e\n \u003cdiv class\u003d\"c-headerBar__logo\"\u003e\n \u003ch1\u003e\u003cimg src\u003d\"/html/template/admin/assets/img/logo@2x.png\"\u003e\u003c/h1\u003e\n \u003c/div\u003e\n \u003ca class\u003d\"c-headerBar__toggleBtn\"\u003e\u003ci class\u003d\"fa fa-bars\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__shopTitle\" href\u003d\"https://ec-cube/\" target\u003d\"_blank\"\u003e\u003cspan\u003eEC-CUBE SHOP\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-right\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__userMenu\"\n data-bs-container\u003d\"body\"\n data-bs-toggle\u003d\"popover\"\n data-bs-placement\u003d\"bottom\"\n title\u003d\"最終ログイン\"\n data-bs-content\u003d\"\u0026lt;p\u0026gt;2024/05/14 15:11\u0026lt;/p\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/change_password\u0027 class\u003d\u0027btn btn-ec-regular w-100 mb-2\u0027\u0026gt;パスワード変更\u0026lt;/a\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/logout\u0027 class\u003d\u0027btn btn-ec-sub w-100\u0027\u0026gt;ログアウト\u0026lt;/a\u0026gt;\"\n data-bs-html\u003d\"true\"\u003e\u003ci class\u003d\"fa fa-user-circle\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003cspan\u003e管理者 様\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-down\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003c/div\u003e\n\u003c/header\u003e\n\u003cdiv class\u003d\"c-container\"\u003e\n \u003cdiv class\u003d\"c-mainNavArea\"\u003e\n \u003cnav\u003e\n \u003cul class\u003d\"c-mainNavArea__nav\"\u003e\n \u003c!-- ホーム --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\" href\u003d\"https://ec-cube/admin/\"\u003e\n \u003ci class\u003d\"fa fa-home fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eホーム\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-product\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-product\"\u003e\n \u003ci class\u003d\"fa fa-cube fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e商品管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse show\" id\u003d\"nav-product\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product\"\u003e\n \u003cspan\u003e商品一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product/new\"\u003e\n \u003cspan\u003e商品登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003cspan\u003e規格管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category\"\u003e\n \u003cspan\u003eカテゴリ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/tag\"\u003e\n \u003cspan\u003eタグ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product_csv_upload\"\u003e\n \u003cspan\u003e商品CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name_csv_upload\"\u003e\n \u003cspan\u003e規格CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category_csv_upload\" class\u003d\"is-active\"\u003e\n \u003cspan\u003e規格分類CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category_csv_upload\"\u003e\n \u003cspan\u003eカテゴリCSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-order\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-order\"\u003e\n \u003ci class\u003d\"fa fa-shopping-cart fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e受注管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-order\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order\"\u003e\n \u003cspan\u003e受注一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/new\"\u003e\n \u003cspan\u003e受注登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/shipping_csv_upload\"\u003e\n \u003cspan\u003e出荷CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-customer\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-customer\"\u003e\n \u003ci class\u003d\"fa fa-users fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e会員管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-customer\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer\"\u003e\n \u003cspan\u003e会員一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer/new\"\u003e\n \u003cspan\u003e会員登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-content\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-content\"\u003e\n \u003ci class\u003d\"fa fa-file-text-o fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eコンテンツ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-content\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/news\"\u003e\n \u003cspan\u003e新着情報管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/file_manager\"\u003e\n \u003cspan\u003eファイル管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/layout\"\u003e\n \u003cspan\u003eレイアウト管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page\"\u003e\n \u003cspan\u003eページ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/css\"\u003e\n \u003cspan\u003eCSS管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/js\"\u003e\n \u003cspan\u003eJavaScript管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/block\"\u003e\n \u003cspan\u003eブロック管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/cache\"\u003e\n \u003cspan\u003eキャッシュ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/maintenance\"\u003e\n \u003cspan\u003eメンテナンス管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-setting\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-setting\"\u003e\n \u003ci class\u003d\"fa fa-cog fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-setting\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-shop\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-shop\"\u003e\n \u003cspan\u003e店舗設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-shop\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop\"\u003e\n \u003cspan\u003e基本設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tradelaw\"\u003e\n \u003cspan\u003e特定商取引法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page/19/edit?return\u003dagreement\"\u003e\n \u003cspan\u003e利用規約設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/payment\"\u003e\n \u003cspan\u003e支払方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/delivery\"\u003e\n \u003cspan\u003e配送方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tax\"\u003e\n \u003cspan\u003e税率設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/mail\"\u003e\n \u003cspan\u003eメール設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/csv\"\u003e\n \u003cspan\u003eCSV出力項目設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/order_status\"\u003e\n \u003cspan\u003e受注対応状況設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/calendar\"\u003e\n \u003cspan\u003e定休日カレンダー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-system\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-system\"\u003e\n \u003cspan\u003eシステム設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-system\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/member\"\u003e\n \u003cspan\u003eメンバー管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/authority\"\u003e\n \u003cspan\u003e権限管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/security\"\u003e\n \u003cspan\u003eセキュリティ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/login_history\"\u003e\n \u003cspan\u003eログイン履歴\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/log\"\u003e\n \u003cspan\u003eログ表示\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/masterdata\"\u003e\n \u003cspan\u003eマスタデータ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/system\"\u003e\n \u003cspan\u003eシステム情報\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-store\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-store\"\u003e\n \u003ci class\u003d\"fa fa-plug fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eオーナーズストア\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-store\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-plugin\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-plugin\"\u003e\n \u003cspan\u003eプラグイン\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-plugin\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/api/search\"\u003e\n \u003cspan\u003eプラグインを探す\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin\"\u003e\n \u003cspan\u003eプラグイン一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-template\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-template\"\u003e\n \u003cspan\u003eテンプレート\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-template\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template\"\u003e\n \u003cspan\u003eテンプレート一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template/install\"\u003e\n \u003cspan\u003eアップロード\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/authentication_setting\"\u003e\n \u003cspan\u003e認証キー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c!-- 情報 --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\" data-bs-toggle\u003d\"collapse\" href\u003d\"#others\" aria-expanded\u003d\"false\"\n aria-controls\u003d\"others\"\u003e\n \u003ci class\u003d\"fa fa-info-circle fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e情報\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"others\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e公式サイト\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://xoops.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e開発コミュニティ\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"http://doc4.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003eドキュメント\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net/manual/ec-cube4/\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e管理・運用マニュアル\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n\u003c/nav\u003e\n\n \u003c/div\u003e\n \u003cdiv class\u003d\"c-curtain\"\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"c-contentsArea\"\u003e\n \u003cdiv class\u003d\"c-pageTitle\"\u003e\n \u003cdiv class\u003d\"c-pageTitle__titles\"\u003e\n \u003ch2 class\u003d\"c-pageTitle__title\"\u003e規格分類CSV登録\u003c/h2\u003e\u003cspan class\u003d\"c-pageTitle__subTitle\"\u003e商品管理\u003c/span\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \n\n\n\n\n \n \u003cdiv class\u003d\"alert alert-danger alert-dismissible fade show m-3\" role\u003d\"alert\"\u003e\n \u003ci class\u003d\"fa fa-warning fa-lg me-2\"\u003e\u003c/i\u003e\n \u003cspan class\u003d\"fw-bold\"\u003eデバッグモードが有効になっています。\u003c/span\u003e\n \u003cbutton class\u003d\"btn-close\" type\u003d\"button\" data-bs-dismiss\u003d\"alert\" aria-label\u003d\"Close\"\u003e\n \u003c/button\u003e\n \u003c/div\u003e\n\n\n \u003cdiv class\u003d\"c-contentsArea__cols\"\u003e\n \u003cdiv class\u003d\"c-contentsArea__primaryCol\"\u003e\n \u003cdiv class\u003d\"c-primaryCol\"\u003e\n \u003cdiv class\u003d\"card rounded border-0 mb-4\"\u003e\n \u003cdiv class\u003d\"card-header\"\u003e\n \u003cdiv class\u003d\"d-inline-block\" data-tooltip\u003d\"true\" data-placement\u003d\"top\" title\u003d\"tooltip.class_category.csv_upload\"\u003e\u003cspan\u003eCSVファイルをアップロード\u003c/span\u003e\u003ci class\u003d\"fa fa-question-circle fa-lg fa-lg ml-1\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv id\u003d\"ex-csv_category-upload\" class\u003d\"card-body\"\u003e\n \u003cdiv class\u003d\"row\"\u003e\n \u003cdiv class\u003d\"col-2\"\u003e\u003cspan\u003eCSVファイルを選択\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col\"\u003e\n \u003cform id\u003d\"upload-form\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_category_csv_upload\" enctype\u003d\"multipart/form-data\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"admin_csv_import__token\" name\u003d\"admin_csv_import[_token]\" value\u003d\"de0fba8.pkJTFi-lQP_rK9vAt3srVrBi2yXQ_yTKS8aGfAaK6P4.1CcbY0T8GZ7ZTa-GzzJPOfo4t3OepV6lCfXxJEn73ZDkcz4vauN5krR86w\" /\u003e\n \u003cdiv class\u003d\"mb-2\"\u003e\n \u003cspan id\u003d\"file-select\" class\u003d\"btn btn-ec-regular mr-2\"\u003eファイルを選択\u003c/span\u003e\n \u003cspan id\u003d\"admin_csv_import_import_file_name\"\u003e選択されていません\u003c/span\u003e\n \u003cinput type\u003d\"file\" id\u003d\"admin_csv_import_import_file\" name\u003d\"admin_csv_import[import_file]\" required\u003d\"required\" accept\u003d\"text/csv,text/tsv\" class\u003d\"d-none form-control-file\" /\u003e\n \n \u003c/div\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" id\u003d\"upload-button\" type\u003d\"submit\"\u003e一括登録を実行\u003c/button\u003e\n \u003c/form\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv id\u003d\"spinner\"\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"card rounded border-0 mb-4\"\u003e\n \u003cdiv class\u003d\"card-header\"\u003e\n \u003cdiv class\u003d\"row justify-content-between\"\u003e\n \u003cdiv class\u003d\"col-6\"\u003e\n \u003cdiv class\u003d\"d-inline-block\" data-tooltip\u003d\"true\" data-placement\u003d\"top\" title\u003d\"tooltip.class_category.csv_format\"\u003e\u003cspan class\u003d\"align-middle\"\u003eCSVファイルフォーマット\u003c/span\u003e\u003ci class\u003d\"fa fa-question-circle fa-lg fa-lg ml-1\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-4 text-right\"\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/csv_template/class_category\" class\u003d\"btn btn-ec-regular\" id\u003d\"download-button\"\u003e雛形ファイルダウンロード\u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv id\u003d\"ex-csv_class_name-format\" class\u003d\"card-body\"\u003e\n \u003ctable class\u003d\"table table-striped table-bordered\"\u003e\n \u003ctbody\u003e\n \u003ctr\u003e\n \u003cth class\u003d\"w-25 align-middle table-ec-lightGray\" id\u003d\"file_format_box__header--1\"\u003e規格ID\n \u003cspan class\u003d\"badge bg-primary ms-1\"\u003e必須\u003c/span\u003e\n \u003c/th\u003e\n \u003ctd class\u003d\"align-middle\"\u003e\n 既存の規格IDを指定してください。\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003cth class\u003d\"w-25 align-middle table-ec-lightGray\" id\u003d\"file_format_box__header--2\"\u003e規格分類ID\n \u003c/th\u003e\n \u003ctd class\u003d\"align-middle\"\u003e\n 新規登録の場合は空にしてください。既存の規格分類を更新する場合は、規格分類IDを指定してください。\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003cth class\u003d\"w-25 align-middle table-ec-lightGray\" id\u003d\"file_format_box__header--3\"\u003e規格分類名\n \u003cspan class\u003d\"badge bg-primary ms-1\"\u003e必須\u003c/span\u003e\n \u003c/th\u003e\n \u003ctd class\u003d\"align-middle\"\u003e\n \n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003cth class\u003d\"w-25 align-middle table-ec-lightGray\" id\u003d\"file_format_box__header--4\"\u003e規格分類管理名\n \u003c/th\u003e\n \u003ctd class\u003d\"align-middle\"\u003e\n \n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003cth class\u003d\"w-25 align-middle table-ec-lightGray\" id\u003d\"file_format_box__header--5\"\u003e規格分類削除フラグ\n \u003c/th\u003e\n \u003ctd class\u003d\"align-middle\"\u003e\n 0:登録 1:削除を指定します。未指定の場合、0として扱います。\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003c/tbody\u003e\n \u003c/table\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003c/div\u003e\n\u003c/div\u003e\n\u003cscript\u003e\nvar eccube_lang \u003d {\n \u0027common.delete_confirm\u0027: \"削除してもよろしいですか?\",\n \u0027front.product.out_of_stock\u0027: \"ただいま品切れ中です。\",\n};\n\u003c/script\u003e\n\u003cscript src\u003d\"/html/template/admin/assets/js/function.js\"\u003e\u003c/script\u003e\n \u003cscript src\u003d\"/html/template/admin/assets/js/vendor/spin.min.js\"\u003e\u003c/script\u003e\n \u003cscript\u003e\n $(function() {\n\n var opts \u003d {\n lines: 13,\n length: 30,\n width: 2,\n radius: 12,\n corners: 1,\n rotate: 0,\n direction: 1,\n color: \u0027#BBB\u0027,\n speed: 1,\n trail: 67,\n shadow: true,\n hwaccel: false,\n className: \u0027spinner\u0027,\n zIndex: 2e9,\n top: top\n };\n\n ImageSpinner \u003d new Spinner(opts).spin(document.getElementById(\u0027spinner\u0027));\n ImageSpinner.stop();\n\n $(\u0027#upload-form\u0027).submit(function() {\n $(\u0027#upload-button\u0027).attr(\u0027disabled\u0027, \u0027disabled\u0027);\n $(\u0027#download-button\u0027).attr(\u0027disabled\u0027, \u0027disabled\u0027);\n ImageSpinner.spin(document.getElementById(\u0027spinner\u0027));\n });\n\n $(\u0027#file-select\u0027).click(function() {\n $(\u0027#admin_csv_import_import_file\u0027).click();\n $(\u0027#admin_csv_import_import_file\u0027).on(\u0027change\u0027, function() {\n var files \u003d $(this).prop(\u0027files\u0027);\n if (files.length) {\n $(\u0027#admin_csv_import_import_file_name\u0027).text(files[0].name);\n }\n });\n });\n });\n \u003c/script\u003e\n\n\u003cdiv id\u003d\"sfwdt5b9a76\" class\u003d\"sf-toolbar sf-display-none\" role\u003d\"region\" aria-label\u003d\"Symfony Web Debug Toolbar\"\u003e \u003c!-- START of Symfony Web Debug Toolbar --\u003e\u003cdiv id\u003d\"sfMiniToolbar-5b9a76\" class\u003d\"sf-minitoolbar\" data-no-turbolink data-turbo\u003d\"false\"\u003e \u003cbutton type\u003d\"button\" title\u003d\"Show Symfony toolbar\" id\u003d\"sfToolbarMiniToggler-5b9a76\" accesskey\u003d\"D\" aria-expanded\u003d\"false\" aria-controls\u003d\"sfToolbarMainContent-5b9a76\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarClearer-5b9a76\" class\u003d\"sf-toolbar-clearer\"\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarMainContent-5b9a76\" class\u003d\"sf-toolbarreset notranslate clear-fix\" data-no-turbolink\u003e \u003cdiv class\u003d\"sf-toolbar-block sf-toolbar-block-request sf-toolbar-status-normal \" \u003e \u003ca href\u003d\"https://ec-cube/_profiler/5b9a76?panel\u003drequest\"\u003e \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003cspan class\u003d\"sf-toolbar-value sf-toolbar-ajax-request-counter\"\u003e Loading\u0026hellip; \u003c/span\u003e \u003c/div\u003e \u003c/a\u003e \u003cdiv class\u003d\"sf-toolbar-info\"\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003eLoading the web debug toolbar\u0026hellip;\u003c/b\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e Attempt #\u003cspan id\u003d\"sfLoadCounter-5b9a76\"\u003e\u003c/span\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003e \u003cbutton class\u003d\"sf-cancel-button\" type\u003d\"button\" id\u003d\"sfLoadCancel-5b9a76\" title\u003d\"Cancel loading\"\u003eCancel\u003c/button\u003e \u003c/b\u003e \u003c/div\u003e \u003c/div\u003e\u003c/div\u003e \u003cbutton class\u003d\"hide-button\" type\u003d\"button\" id\u003d\"sfToolbarHideButton-5b9a76\" title\u003d\"Close Toolbar\" accesskey\u003d\"D\" aria-expanded\u003d\"true\" aria-controls\u003d\"sfToolbarMainContent-5b9a76\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" data-icon-name\u003d\"icon-tabler-x\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\" stroke-width\u003d\"1.5\" stroke\u003d\"currentColor\" fill\u003d\"none\" stroke-linecap\u003d\"round\" stroke-linejoin\u003d\"round\"\u003e \u003cpath stroke\u003d\"none\" d\u003d\"M0 0h24v24H0z\" fill\u003d\"none\"\u003e\u003c/path\u003e \u003cline x1\u003d\"18\" y1\u003d\"6\" x2\u003d\"6\" y2\u003d\"18\"\u003e\u003c/line\u003e \u003cline x1\u003d\"6\" y1\u003d\"6\" x2\u003d\"18\" y2\u003d\"18\"\u003e\u003c/line\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003c!-- END of Symfony Web Debug Toolbar --\u003e\u003c/div\u003e\u003cstyle nonce\u003d\"47fcabaeb6913dea3ab170383441381d\"\u003e .sf-toolbarreset { --sf-toolbar-font-family-system: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --sf-toolbar-font-family-monospace: \"Ubuntu Mono\", \"JetBrains Mono\", ui-monospace, \"Roboto Mono\", SFMono-Regular, Menlo, Monaco, Consolas,\"Liberation Mono\", \"Courier New\", monospace; --sf-toolbar-white: #fff; --sf-toolbar-black: #000; --sf-toolbar-gray-50: #fafafa; --sf-toolbar-gray-100: #f5f5f5; --sf-toolbar-gray-200: #e5e5e5; --sf-toolbar-gray-300: #d4d4d4; --sf-toolbar-gray-400: #a3a3a3; --sf-toolbar-gray-500: #737373; --sf-toolbar-gray-600: #525252; --sf-toolbar-gray-700: #404040; --sf-toolbar-gray-800: #262626; --sf-toolbar-gray-900: #171717; --sf-toolbar-red-50: #FEFBFC; --sf-toolbar-red-100: #FCE9ED; --sf-toolbar-red-200: #F5B8C5; --sf-toolbar-red-300: #EF869C; --sf-toolbar-red-400: #E85574; --sf-toolbar-red-500: #E1244B; --sf-toolbar-red-600: #B41939; --sf-toolbar-red-700: #83122A; --sf-toolbar-red-800: #510B1A; --sf-toolbar-red-900: #20040A; --sf-toolbar-yellow-50: #fef7e1; --sf-toolbar-yellow-100: #fef2cd; --sf-toolbar-yellow-200: #fde496; --sf-toolbar-yellow-300: #fcd55f; --sf-toolbar-yellow-400: #fbc728; --sf-toolbar-yellow-500: #e6af05; --sf-toolbar-yellow-600: #af8503; --sf-toolbar-yellow-700: #785b02; --sf-toolbar-yellow-800: #413101; --sf-toolbar-yellow-900: #0a0800; --sf-toolbar-green-50: #eff5f5; --sf-toolbar-green-100: #deeaea; --sf-toolbar-green-200: #bbd5d5; --sf-toolbar-green-300: #99bfbf; --sf-toolbar-green-400: #76a9a9; --sf-toolbar-green-500: #598e8e; --sf-toolbar-green-600: #436c6c; --sf-toolbar-green-700: #2e4949; --sf-toolbar-green-800: #182727; --sf-toolbar-green-900: #030404;}.sf-minitoolbar { --sf-toolbar-gray-800: #262626; background-color: var(--sf-toolbar-gray-800); border-top-left-radius: 4px; bottom: 0; box-sizing: border-box; display: none; height: 36px; padding: 6px; position: fixed; right: 0; z-index: 99999;}.sf-minitoolbar button { background-color: transparent; padding: 0; border: none;}.sf-minitoolbar svg,.sf-minitoolbar img { --sf-toolbar-gray-200: #e5e5e5; color: var(--sf-toolbar-gray-200); max-height: 24px; max-width: 24px; display: inline;}.sf-toolbar-clearer { clear: both; height: 36px;}.sf-display-none { display: none;}.sf-toolbarreset *:not(svg rect) { box-sizing: content-box; vertical-align: baseline; letter-spacing: normal; width: auto;}.sf-toolbarreset { background-color: var(--sf-toolbar-gray-800); bottom: 0; box-shadow: inset 0 1px 0 var(--sf-toolbar-black), 0 -1px 0 rgba(0, 0, 0, 0.5); color: var(--sf-toolbar-gray-200); font: 11px var(--sf-toolbar-font-family-system); left: 0; margin: 0; padding: 0 36px 0 0; position: fixed; right: 0; text-align: left; text-transform: none; z-index: 99999; direction: ltr; /* neutralize the aliasing defined by external CSS styles */ -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto;}.sf-toolbarreset abbr { border: dashed var(--sf-toolbar-gray-500); border-width: 0 0 1px;}.sf-toolbarreset svg,.sf-toolbarreset img { height: 20px; width: 20px; display: inline-block;}.sf-toolbarreset .sf-cancel-button { color: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-300); display: block; position: absolute; top: 2px; right: 0; width: 36px; height: 34px; cursor: pointer; text-align: center; border: none; margin: 0; padding: 0;}.sf-toolbarreset .hide-button:hover { background: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button svg { max-height: 18px; margin-top: 1px;}.sf-toolbar-block { cursor: default; display: block; float: left; height: 36px; margin-right: 0; position: relative; white-space: nowrap; max-width: 15%;}.sf-toolbar-block \u003e a,.sf-toolbar-block \u003e a:hover { display: block; text-decoration: none; background-color: transparent; color: inherit;}.sf-toolbar-block span { display: inline-block;}.sf-toolbar-block .sf-toolbar-value { color: var(--sf-toolbar-gray-100); font-size: 13px; line-height: 36px; padding: 0;}.sf-toolbar-block .sf-toolbar-label,.sf-toolbar-block .sf-toolbar-class-separator { color: var(--sf-toolbar-gray-400); font-size: 12px; margin-left: 2px;}.sf-toolbar-block .sf-toolbar-info { border-collapse: collapse; display: table; z-index: 100000;}.sf-toolbar-block hr { border-top: 1px solid var(--sf-toolbar-gray-500); margin: 4px 0; padding-top: 4px;}.sf-toolbar-block .sf-toolbar-info-piece { /* this \u0027border-bottom\u0027 trick is needed because \u0027margin-bottom\u0027 doesn\u0027t work for table rows */ border-bottom: solid transparent 3px; display: table-row;}.sf-toolbar-block .sf-toolbar-info-piece-additional,.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: none;}.sf-toolbar-block .sf-toolbar-info-group { margin-bottom: 4px; padding-bottom: 2px; border-bottom: 1px solid #333333;}.sf-toolbar-block .sf-toolbar-info-group:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status { border-radius: 4px; padding: 2px 5px; margin-bottom: 0;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status + .sf-toolbar-status { margin-left: 4px;}.sf-toolbar-block .sf-toolbar-info-piece:last-child { margin-bottom: 0;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece a { color: #99CDD8; text-decoration: underline;}div.sf-toolbar .sf-toolbar-block a:hover { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info-piece b { color: var(--sf-toolbar-gray-400); display: table-cell; font-size: 11px; padding: 4px 8px 4px 0;}.sf-toolbar-block:not(.sf-toolbar-block-dump) .sf-toolbar-info-piece span { color: var(--sf-toolbar-gray-100);}.sf-toolbar-block .sf-toolbar-info-piece span { font-size: 12px;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece.sf-toolbar-info-php-ext a { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info { background-color: var(--sf-toolbar-gray-700); border-radius: 4px; border-bottom-left-radius: 0; bottom: 36px; color: var(--sf-toolbar-gray-100); display: none; padding: 9px 0; position: absolute;}.sf-toolbar-block.sf-toolbar-block-right .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0;}.sf-toolbar-block .sf-toolbar-info:empty { visibility: hidden;}.sf-toolbar-block .sf-toolbar-status { display: inline-block; color: var(--sf-toolbar-white); background-color: var(--sf-toolbar-gray-600); padding: 3px 6px; margin: 0 4px; min-width: 15px; min-height: 13px; text-align: center;}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-green,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-green { background-color: #059669; color: var(--white);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-red,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-red { background-color: var(--sf-toolbar-red-500); color: var(--sf-toolbar-red-50);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-yellow,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); color: var(--sf-toolbar-yellow-800);}.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block.sf-toolbar-status-yellow::before { background: var(--sf-toolbar-yellow-400); border-radius: 6px; content: \u0027\u0027; position: absolute; bottom: 1px; left: 0; width: 98%; height: 3px; z-index: 10005;}.sf-toolbar-block.sf-toolbar-status-red::before { background: var(--sf-toolbar-red-400);}.sf-toolbar-block.sf-toolbar-status-green::before { background: var(--sf-toolbar-green-400);}.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-yellow::before { display: none;}.sf-toolbar-block-request .sf-toolbar-status { border-radius: 6px; color: #fff; display: inline-block; flex-shrink: 0; font-size: 13px; font-weight: 500; padding: 4px 8px;}.sf-toolbar-block-request .sf-toolbar-info-piece a { background-color: transparent; text-decoration: none;}.sf-toolbar-block-request .sf-toolbar-info-piece a:hover { text-decoration: underline;}.sf-toolbar-block-request .sf-toolbar-redirection-status { font-weight: normal; padding: 2px 4px; line-height: 18px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-redirection-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); border-radius: 4px; color: var(--sf-toolbar-yellow-800); padding: 1px 4px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-info-piece .sf-toolbar-redirection-method { background: transparent; color: var(--sf-toolbar-gray-300); border: 1px solid var(--sf-toolbar-gray-400); padding: 1px 4px;}.sf-toolbar-block-request .sf-toolbar-info-piece span.sf-toolbar-redirection-method { font-size: 12px; height: 17px; line-height: 17px; margin-right: 5px;}.sf-toolbar-block-request .sf-toolbar-request-icon svg { stroke-width: 3px;}.sf-toolbar-block-ajax .sf-toolbar-icon { cursor: pointer;}.sf-toolbar-status-green .sf-toolbar-label,.sf-toolbar-status-yellow .sf-toolbar-label,.sf-toolbar-status-red .sf-toolbar-label { color: var(--sf-toolbar-white);}.sf-toolbar-block-config svg path,.sf-toolbar-block-config svg .sf-svg-path { fill: var(--sf-toolbar-white);}.sf-toolbar-block .sf-toolbar-icon { color: var(--sf-toolbar-gray-300); align-items: center; display: flex; height: 36px; padding: 0 7px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-block:hover .sf-toolbar-icon { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block.sf-toolbar-block-right:hover .sf-toolbar-icon { box-shadow: -1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block-request .sf-toolbar-icon { padding-left: 0; padding-right: 0;}.sf-toolbar-block .sf-toolbar-icon img,.sf-toolbar-block .sf-toolbar-icon svg { border-width: 0;}.sf-toolbar-block .sf-toolbar-icon img + span,.sf-toolbar-block .sf-toolbar-icon svg + span { margin-left: 4px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-value,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-value { margin-left: 5px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-label { margin-left: 0;}.sf-toolbar-block:hover,.sf-toolbar-block.hover { position: relative;}.sf-toolbar-block:hover .sf-toolbar-icon,.sf-toolbar-block.hover .sf-toolbar-icon { background-color: var(--sf-toolbar-gray-700); position: relative; z-index: 10002;}.sf-toolbar-block-ajax.hover .sf-toolbar-info { z-index: 10001;}.sf-toolbar-block:hover .sf-toolbar-info,.sf-toolbar-block.hover .sf-toolbar-info { display: block; padding: 10px; max-width: 525px; max-height: 480px; word-wrap: break-word; overflow: hidden; overflow-y: auto;}.sf-toolbar-info-piece b.sf-toolbar-ajax-info { color: var(--sf-toolbar-gray-100);}.sf-toolbar-ajax-requests { border: 1px solid var(--sf-toolbar-gray-500); font-variant: tabular-nums; margin: 5px 0 0; width: 100%;}.sf-toolbar-ajax-requests td { background-color: var(--sf-toolbar-gray-700); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-100); font-size: 12px; padding: 4px; vertical-align: middle;}.sf-toolbar-ajax-requests thead { border: 0;}.sf-toolbar-ajax-requests th { background-color: var(--sf-toolbar-gray-800); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-200); font-size: 11px; padding: 4px;}.sf-ajax-request-url { max-width: 250px; line-height: 9px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-ajax-requests .sf-ajax-request-url a { text-decoration: none;}.sf-toolbar-ajax-requests .sf-ajax-request-url a:hover { text-decoration: underline;}.sf-ajax-request-duration { text-align: right;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-ajax-requests .sf-toolbar-status { font-size: 11px; padding: 1px 3px;}.sf-ajax-request-loading { animation: sf-blink .5s ease-in-out infinite;}@keyframes sf-blink { 0% { background: var(--sf-toolbar-gray-800); } 50% { background: var(--sf-toolbar-gray-700); } 100% { background: var(--sf-toolbar-gray-800); }}.sf-toolbar-block.sf-toolbar-block-dump .sf-toolbar-info { max-width: none; width: 100%; position: fixed; box-sizing: border-box; left: 0;}.sf-toolbar-block-dump pre.sf-dump { background-color: var(--sf-toolbar-gray-800); border-color: var(--sf-toolbar-gray-500); border-radius: 0; margin: 6px 0 12px 0;}.sf-toolbar-block-dump pre.sf-dump:last-child { margin-bottom: 0;}.sf-toolbar-block-dump pre.sf-dump .sf-dump-search-wrapper { margin-bottom: 5px;}.sf-toolbar-block-dump pre.sf-dump span.sf-dump-search-count { color: #333; font-size: 12px;}.sf-toolbar-block-dump .sf-toolbar-info-piece { display: block;}.sf-toolbar-block-dump .sf-toolbar-info-piece .sf-toolbar-file-line { color: var(--sf-toolbar-gray-400); margin-left: 4px;}.sf-toolbar-block-dump .sf-toolbar-info img { display: none;}.sf-toolbar-block-serializer .detailed-metrics { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 15px; margin-top: 15px;}/* Responsive Design */.sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-icon .sf-toolbar-value { display: none;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-cli .sf-toolbar-icon .sf-toolbar-label { display: inline-block;}/* Legacy Design - these styles are maintained to make old panels look a bit better on the new toolbar */.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-gray-400); font-size: 12px;}.sf-toolbar-status-green .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-yellow .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-red .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-white);}@media (min-width: 768px) { .sf-toolbar-icon .sf-toolbar-label, .sf-toolbar-icon .sf-toolbar-value { display: inline; } .sf-toolbar-block-time .sf-toolbar-icon svg, .sf-toolbar-block-memory .sf-toolbar-icon svg { display: none; } .sf-toolbar-block-time .sf-toolbar-icon svg + span, .sf-toolbar-block-memory .sf-toolbar-icon svg + span { margin-left: 0; } .sf-toolbar-block .sf-toolbar-icon { padding: 0 10px; } .sf-toolbar-block-time .sf-toolbar-icon { padding-right: 5px; } .sf-toolbar-block-memory .sf-toolbar-icon { padding-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon { display: flex; align-items: center; padding-left: 0; padding-right: 0; } .sf-toolbar-block-request .sf-toolbar-label { margin-left: 4px; margin-right: 1px; } .sf-toolbar-block-request .sf-toolbar-status + .sf-toolbar-request-icon { display: inline-flex; margin-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon .sf-toolbar-request-icon + .sf-toolbar-label { margin-left: 0; } .sf-toolbar-block-request .sf-toolbar-label + .sf-toolbar-value { margin-right: 5px; } .sf-toolbar-block-request:hover .sf-toolbar-info { max-width: none; } .sf-toolbar-block .sf-toolbar-info-piece b { font-size: 12px; } .sf-toolbar-block .sf-toolbar-info-piece span { font-size: 13px; } .sf-toolbar-block-right { float: right; margin-left: 0; margin-right: 0; } .sf-toolbarreset .sf-toolbar-block.sf-toolbar-block-right:not(.sf-toolbar-block-sf-cli) .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0; }}@media (min-width: 1024px) { .sf-toolbar-block .sf-toolbar-info-piece-additional, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: inline; } .sf-toolbar-block .sf-toolbar-info-piece-additional:empty, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail:empty { display: none; }}/***** Error Toolbar *****/.sf-error-toolbar .sf-toolbarreset { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-100); font: 13px/36px var(--sf-toolbar-font-family-system); height: 36px; padding: 0 15px; text-align: left;}.sf-error-toolbar .sf-toolbarreset svg { height: auto;}.sf-error-toolbar .sf-toolbarreset a { color: #99cdd8; margin-left: 5px; text-decoration: underline;}.sf-error-toolbar .sf-toolbarreset a:hover { text-decoration: none;}.sf-error-toolbar .sf-toolbarreset .sf-toolbar-icon { float: left; padding: 5px 0; margin-right: 10px;}.sf-full-stack { left: 0px; font-size: 12px;}/***** Media query print: Do not print the Toolbar. *****/@media print { .sf-toolbar { display: none !important; }}\u003c/style\u003e\u003cscript nonce\u003d\"ea0ce3413968f8a4449d43f39f898f56\"\u003e/*\u003c![CDATA[*/ if (typeof Sfjs \u003d\u003d\u003d \u0027undefined\u0027 || typeof Sfjs.loadToolbar \u003d\u003d\u003d \u0027undefined\u0027) { Sfjs \u003d (function() { \"use strict\"; if (\u0027classList\u0027 in document.documentElement) { var hasClass \u003d function (el, cssClass) { return el.classList.contains(cssClass); }; var removeClass \u003d function(el, cssClass) { el.classList.remove(cssClass); }; var addClass \u003d function(el, cssClass) { el.classList.add(cssClass); }; var toggleClass \u003d function(el, cssClass) { el.classList.toggle(cssClass); }; } else { var hasClass \u003d function (el, cssClass) { return el.className.match(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027)); }; var removeClass \u003d function(el, cssClass) { el.className \u003d el.className.replace(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027), \u0027 \u0027); }; var addClass \u003d function(el, cssClass) { if (!hasClass(el, cssClass)) { el.className +\u003d \" \" + cssClass; } }; var toggleClass \u003d function(el, cssClass) { hasClass(el, cssClass) ? removeClass(el, cssClass) : addClass(el, cssClass); }; } var noop \u003d function() {}; var profilerStorageKey \u003d \u0027symfony/profiler/\u0027; var addEventListener; var el \u003d document.createElement(\u0027div\u0027); if (!(\u0027addEventListener\u0027 in el)) { addEventListener \u003d function (element, eventName, callback) { element.attachEvent(\u0027on\u0027 + eventName, callback); }; } else { addEventListener \u003d function (element, eventName, callback) { element.addEventListener(eventName, callback, false); }; } var request \u003d function(url, onSuccess, onError, payload, options, tries) { var xhr \u003d window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject(\u0027Microsoft.XMLHTTP\u0027); options \u003d options || {}; options.retry \u003d options.retry || false; tries \u003d tries || 1; /* this delays for 125, 375, 625, 875, and 1000, ... */ var delay \u003d tries \u003c 5 ? (tries - 0.5) * 250 : 1000; xhr.open(options.method || \u0027GET\u0027, url, true); xhr.setRequestHeader(\u0027X-Requested-With\u0027, \u0027XMLHttpRequest\u0027); xhr.onreadystatechange \u003d function(state) { if (4 !\u003d\u003d xhr.readyState) { return null; } if (xhr.status \u003d\u003d 404 \u0026\u0026 options.retry \u0026\u0026 !options.stop) { setTimeout(function() { if (options.stop) { return; } request(url, onSuccess, onError, payload, options, tries + 1); }, delay); return null; } if (200 \u003d\u003d\u003d xhr.status) { (onSuccess || noop)(xhr); } else { (onError || noop)(xhr); } }; if (options.onSend) { options.onSend(tries); } xhr.send(payload || \u0027\u0027); }; var getPreference \u003d function(name) { if (!window.localStorage) { return null; } return localStorage.getItem(profilerStorageKey + name); }; var setPreference \u003d function(name, value) { if (!window.localStorage) { return null; } localStorage.setItem(profilerStorageKey + name, value); }; var requestStack \u003d []; var extractHeaders \u003d function(xhr, stackElement) { /* Here we avoid to call xhr.getResponseHeader in order to */ /* prevent polluting the console with CORS security errors */ var allHeaders \u003d xhr.getAllResponseHeaders(); var ret; if (ret \u003d allHeaders.match(/^x-debug-token:\\s+(.*)$/im)) { stackElement.profile \u003d ret[1]; } if (ret \u003d allHeaders.match(/^x-debug-token-link:\\s+(.*)$/im)) { stackElement.profilerUrl \u003d ret[1]; } if (ret \u003d allHeaders.match(/^Symfony-Debug-Toolbar-Replace:\\s+(.*)$/im)) { stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d ret[1]; } }; var successStreak \u003d 4; var pendingRequests \u003d 0; var renderAjaxRequests \u003d function() { var requestCounter \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-counter\u0027); if (!requestCounter) { return; } requestCounter.textContent \u003d requestStack.length; var infoSpan \u003d document.querySelector(\".sf-toolbar-ajax-info\"); if (infoSpan) { infoSpan.textContent \u003d requestStack.length + \u0027 AJAX request\u0027 + (requestStack.length !\u003d\u003d 1 ? \u0027s\u0027 : \u0027\u0027); } var ajaxToolbarPanel \u003d document.querySelector(\u0027.sf-toolbar-block-ajax\u0027); if (requestStack.length) { ajaxToolbarPanel.style.display \u003d \u0027block\u0027; } else { ajaxToolbarPanel.style.display \u003d \u0027none\u0027; } if (pendingRequests \u003e 0) { addClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else if (successStreak \u003c 4) { addClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else { removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); removeClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); } }; var startAjaxRequest \u003d function(index) { var tbody \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027); if (!tbody) { return; } var nbOfAjaxRequest \u003d tbody.rows.length; if (nbOfAjaxRequest \u003e\u003d 100) { tbody.deleteRow(0); } var request \u003d requestStack[index]; pendingRequests++; var row \u003d document.createElement(\u0027tr\u0027); request.DOMNode \u003d row; var requestNumberCell \u003d document.createElement(\u0027td\u0027); requestNumberCell.textContent \u003d index + 1; row.appendChild(requestNumberCell); var profilerCell \u003d document.createElement(\u0027td\u0027); profilerCell.textContent \u003d \u0027n/a\u0027; row.appendChild(profilerCell); var methodCell \u003d document.createElement(\u0027td\u0027); methodCell.textContent \u003d request.method; row.appendChild(methodCell); var typeCell \u003d document.createElement(\u0027td\u0027); typeCell.textContent \u003d request.type; row.appendChild(typeCell); var statusCodeCell \u003d document.createElement(\u0027td\u0027); var statusCode \u003d document.createElement(\u0027span\u0027); statusCode.textContent \u003d \u0027n/a\u0027; statusCodeCell.appendChild(statusCode); row.appendChild(statusCodeCell); var pathCell \u003d document.createElement(\u0027td\u0027); pathCell.className \u003d \u0027sf-ajax-request-url\u0027; if (\u0027GET\u0027 \u003d\u003d\u003d request.method) { var pathLink \u003d document.createElement(\u0027a\u0027); pathLink.setAttribute(\u0027href\u0027, request.url); pathLink.textContent \u003d request.url; pathCell.appendChild(pathLink); } else { pathCell.textContent \u003d request.url; } pathCell.setAttribute(\u0027title\u0027, request.url); row.appendChild(pathCell); var durationCell \u003d document.createElement(\u0027td\u0027); durationCell.className \u003d \u0027sf-ajax-request-duration\u0027; durationCell.textContent \u003d \u0027n/a\u0027; row.appendChild(durationCell); request.liveDurationHandle \u003d setInterval(function() { durationCell.textContent \u003d (new Date() - request.start) + \u0027 ms\u0027; }, 100); row.className \u003d \u0027sf-ajax-request sf-ajax-request-loading\u0027; tbody.insertBefore(row, null); var toolbarInfo \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); toolbarInfo.scrollTop \u003d toolbarInfo.scrollHeight; renderAjaxRequests(); }; var finishAjaxRequest \u003d function(index) { var request \u003d requestStack[index]; clearInterval(request.liveDurationHandle); if (!request.DOMNode) { return; } if (request.toolbarReplace \u0026\u0026 !request.toolbarReplaceFinished \u0026\u0026 request.profile) { /* Flag as complete because finishAjaxRequest can be called multiple times. */ request.toolbarReplaceFinished \u003d true; /* Search up through the DOM to find the toolbar\u0027s container ID. */ for (var elem \u003d request.DOMNode; elem \u0026\u0026 elem !\u003d\u003d document; elem \u003d elem.parentNode) { if (elem.id.match(/^sfwdt/)) { Sfjs.loadToolbar(elem.id.replace(/^sfwdt/, \u0027\u0027), request.profile); break; } } } pendingRequests--; var row \u003d request.DOMNode; /* Unpack the children from the row */ var profilerCell \u003d row.children[1]; var methodCell \u003d row.children[2]; var statusCodeCell \u003d row.children[4]; var statusCodeElem \u003d statusCodeCell.children[0]; var durationCell \u003d row.children[6]; if (request.error) { row.className \u003d \u0027sf-ajax-request sf-ajax-request-error\u0027; methodCell.className \u003d \u0027sf-ajax-request-error\u0027; successStreak \u003d 0; } else { row.className \u003d \u0027sf-ajax-request sf-ajax-request-ok\u0027; successStreak++; } if (request.statusCode) { if (request.statusCode \u003c 300) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status\u0027); } else if (request.statusCode \u003c 400) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-yellow\u0027); } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } statusCodeElem.textContent \u003d request.statusCode; } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } if (request.duration) { durationCell.textContent \u003d request.duration + \u0027 ms\u0027; } if (request.profilerUrl) { profilerCell.textContent \u003d \u0027\u0027; var profilerLink \u003d document.createElement(\u0027a\u0027); profilerLink.setAttribute(\u0027href\u0027, request.profilerUrl); profilerLink.textContent \u003d request.profile; profilerCell.appendChild(profilerLink); } renderAjaxRequests(); }; if (window.fetch \u0026\u0026 window.fetch.polyfill \u003d\u003d\u003d undefined) { var oldFetch \u003d window.fetch; window.fetch \u003d function () { var promise \u003d oldFetch.apply(this, arguments); var url \u003d arguments[0]; var params \u003d arguments[1]; var paramType \u003d Object.prototype.toString.call(arguments[0]); if (paramType \u003d\u003d\u003d \u0027[object Request]\u0027) { url \u003d arguments[0].url; params \u003d { method: arguments[0].method, credentials: arguments[0].credentials, headers: arguments[0].headers, mode: arguments[0].mode, redirect: arguments[0].redirect }; } else { url \u003d String(url); } if (!url.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var method \u003d \u0027GET\u0027; if (params \u0026\u0026 params.method !\u003d\u003d undefined) { method \u003d params.method; } var stackElement \u003d { error: false, url: url, method: method, type: \u0027fetch\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; promise.then(function (r) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d r.status \u003c 200 || r.status \u003e\u003d 400; stackElement.statusCode \u003d r.status; stackElement.profile \u003d r.headers.get(\u0027x-debug-token\u0027); stackElement.profilerUrl \u003d r.headers.get(\u0027x-debug-token-link\u0027); stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d r.headers.get(\u0027Symfony-Debug-Toolbar-Replace\u0027); finishAjaxRequest(idx); }, function (e){ stackElement.error \u003d true; finishAjaxRequest(idx); }); startAjaxRequest(idx); } return promise; }; } if (window.XMLHttpRequest \u0026\u0026 XMLHttpRequest.prototype.addEventListener) { var proxied \u003d XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open \u003d function(method, url, async, user, pass) { var self \u003d this; /* prevent logging AJAX calls to static and inline files, like templates */ var path \u003d url; if (url.slice(0, 1) \u003d\u003d\u003d \u0027/\u0027) { if (0 \u003d\u003d\u003d url.indexOf(\u0027\u0027)) { path \u003d url.slice(0); } } else if (0 \u003d\u003d\u003d url.indexOf(\u0027http\\u003A\\/\\/localhost\\u003A8080\u0027)) { path \u003d url.slice(21); } if (!path.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var stackElement \u003d { error: false, url: url, method: method, type: \u0027xhr\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; this.addEventListener(\u0027readystatechange\u0027, function() { if (self.readyState \u003d\u003d 4) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d self.status \u003c 200 || self.status \u003e\u003d 400; stackElement.statusCode \u003d self.status; extractHeaders(self, stackElement); finishAjaxRequest(idx); } }, false); startAjaxRequest(idx); } proxied.apply(this, Array.prototype.slice.call(arguments)); }; } return { hasClass: hasClass, removeClass: removeClass, addClass: addClass, toggleClass: toggleClass, getPreference: getPreference, setPreference: setPreference, addEventListener: addEventListener, request: request, renderAjaxRequests: renderAjaxRequests, getSfwdt: function(token) { if (!this.sfwdt) { this.sfwdt \u003d document.getElementById(\u0027sfwdt\u0027 + token); } return this.sfwdt; }, load: function(selector, url, onSuccess, onError, options) { var el \u003d document.getElementById(selector); if (el \u0026\u0026 el.getAttribute(\u0027data-sfurl\u0027) !\u003d\u003d url) { request( url, function(xhr) { el.innerHTML \u003d xhr.responseText; el.setAttribute(\u0027data-sfurl\u0027, url); removeClass(el, \u0027loading\u0027); var pending \u003d pendingRequests; for (var i \u003d 0; i \u003c requestStack.length; i++) { startAjaxRequest(i); if (requestStack[i].duration) { finishAjaxRequest(i); } } /* Revert the pending state in case there was a start called without a finish above. */ pendingRequests \u003d pending; (onSuccess || noop)(xhr, el); }, function(xhr) { (onError || noop)(xhr, el); }, \u0027\u0027, options ); } return this; }, showToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); removeClass(sfwdt, \u0027sf-display-none\u0027); if (getPreference(\u0027toolbar/displayState\u0027) \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027none\u0027; } }, hideToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); addClass(sfwdt, \u0027sf-display-none\u0027); }, initToolbar: function(token) { this.showToolbar(token); var hideButton \u003d document.getElementById(\u0027sfToolbarHideButton-\u0027 + token); var hideButtonSvg \u003d hideButton.querySelector(\u0027svg\u0027); hideButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); hideButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(hideButton, \u0027click\u0027, function (event) { event.preventDefault(); var p \u003d this.parentNode; p.style.display \u003d \u0027none\u0027; (p.previousElementSibling || p.previousSibling).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; setPreference(\u0027toolbar/displayState\u0027, \u0027none\u0027); }); var showButton \u003d document.getElementById(\u0027sfToolbarMiniToggler-\u0027 + token); var showButtonSvg \u003d showButton.querySelector(\u0027svg\u0027); showButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); showButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(showButton, \u0027click\u0027, function (event) { event.preventDefault(); var elem \u003d this.parentNode; if (elem.style.display \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; elem.style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; elem.style.display \u003d \u0027none\u0027 } setPreference(\u0027toolbar/displayState\u0027, \u0027block\u0027); }); }, loadToolbar: function(token, newToken) { var that \u003d this; var triesCounter \u003d document.getElementById(\u0027sfLoadCounter-\u0027 + token); var options \u003d { retry: true, onSend: function (count) { if (count \u003d\u003d\u003d 3) { that.initToolbar(token); } if (triesCounter) { triesCounter.textContent \u003d count; } }, }; var cancelButton \u003d document.getElementById(\u0027sfLoadCancel-\u0027 + token); if (cancelButton) { addEventListener(cancelButton, \u0027click\u0027, function (event) { event.preventDefault(); options.stop \u003d true; that.hideToolbar(token); }); } newToken \u003d (newToken || token); this.load( \u0027sfwdt\u0027 + token, \u0027http\\u003A\\/\\/localhost\\u003A8080\\/_wdt\\/xxxxxx\u0027.replace(/xxxxxx/, newToken), function(xhr, el) { /* Do nothing in the edge case where the toolbar has already been replaced with a new one */ if (!document.getElementById(\u0027sfToolbarMainContent-\u0027 + newToken)) { return; } /* Evaluate in global scope scripts embedded inside the toolbar */ var i, scripts \u003d [].slice.call(el.querySelectorAll(\u0027script\u0027)); for (i \u003d 0; i \u003c scripts.length; ++i) { if (scripts[i].firstChild) { eval.call({}, scripts[i].firstChild.nodeValue); } } el.style.display \u003d -1 !\u003d\u003d xhr.responseText.indexOf(\u0027sf-toolbarreset\u0027) ? \u0027block\u0027 : \u0027none\u0027; if (el.style.display \u003d\u003d \u0027none\u0027) { return; } that.initToolbar(newToken); /* Handle toolbar-info position */ var toolbarBlocks \u003d [].slice.call(el.querySelectorAll(\u0027.sf-toolbar-block\u0027)); for (i \u003d 0; i \u003c toolbarBlocks.length; ++i) { toolbarBlocks[i].onmouseover \u003d function () { var toolbarInfo \u003d this.querySelectorAll(\u0027.sf-toolbar-info\u0027)[0]; var pageWidth \u003d document.body.clientWidth; var elementWidth \u003d toolbarInfo.offsetWidth; var leftValue \u003d (elementWidth + this.offsetLeft) - pageWidth; var rightValue \u003d (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth; /* Reset right and left value, useful on window resize */ toolbarInfo.style.right \u003d \u0027\u0027; toolbarInfo.style.left \u003d \u0027\u0027; if (elementWidth \u003e pageWidth) { toolbarInfo.style.left \u003d 0; } else if (leftValue \u003e 0 \u0026\u0026 rightValue \u003e 0) { toolbarInfo.style.right \u003d (rightValue * -1) + \u0027px\u0027; } else if (leftValue \u003c 0) { toolbarInfo.style.left \u003d 0; } else { toolbarInfo.style.right \u003d \u00270px\u0027; } }; } renderAjaxRequests(); addEventListener(document.querySelector(\u0027.sf-toolbar-ajax-clear\u0027), \u0027click\u0027, function() { requestStack \u003d []; renderAjaxRequests(); successStreak \u003d 4; document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027).innerHTML \u003d \u0027\u0027; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax\u0027), \u0027mouseenter\u0027, function (event) { var elem \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); elem.scrollTop \u003d elem.scrollHeight; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax \u003e .sf-toolbar-icon\u0027), \u0027click\u0027, function (event) { event.preventDefault(); toggleClass(this.parentNode, \u0027hover\u0027); }); var dumpInfo \u003d document.querySelector(\u0027.sf-toolbar-block-dump .sf-toolbar-info\u0027); if (null !\u003d\u003d dumpInfo) { addEventListener(dumpInfo, \u0027sfbeforedumpcollapse\u0027, function () { dumpInfo.style.minHeight \u003d dumpInfo.getBoundingClientRect().height+\u0027px\u0027; }); addEventListener(dumpInfo, \u0027mouseleave\u0027, function () { dumpInfo.style.minHeight \u003d \u0027\u0027; }); } }, function(xhr) { if (xhr.status !\u003d\u003d 0 \u0026\u0026 !options.stop) { var sfwdt \u003d that.getSfwdt(token); sfwdt.innerHTML \u003d \u0027\\ \u003cdiv class\u003d\"sf-toolbarreset notranslate\"\u003e\\ \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e\u003csvg width\u003d\"26\" height\u003d\"28\" xmlns\u003d\"http://www.w3.org/2000/svg\" version\u003d\"1.1\" x\u003d\"0px\" y\u003d\"0px\" viewBox\u003d\"0 0 26 28\" enable-background\u003d\"new 0 0 26 28\" xml:space\u003d\"preserve\"\u003e\u003cpath fill\u003d\"#FFFFFF\" d\u003d\"M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z\"/\u003e\u003c/svg\u003e\u003c/div\u003e\\ An error occurred while loading the web debug toolbar. \u003ca href\u003d\"http\\u003A\\/\\/localhost\\u003A8080\\/_profiler\\/\u0027 + newToken + \u0027\"\u003eOpen the web profiler.\u003c/a\u003e\\ \u003c/div\u003e\\ \u0027; sfwdt.setAttribute(\u0027class\u0027, \u0027sf-toolbar sf-error-toolbar\u0027); } }, options ); return this; }, toggle: function(selector, elOn, elOff) { var tmp \u003d elOn.style.display, el \u003d document.getElementById(selector); elOn.style.display \u003d elOff.style.display; elOff.style.display \u003d tmp; if (el) { el.style.display \u003d \u0027none\u0027 \u003d\u003d\u003d tmp ? \u0027none\u0027 : \u0027block\u0027; } return this; }, }; })(); } Sfjs.loadToolbar(\u00275b9a76\u0027);/*]]\u003e*/\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n", + "statusCode": 200, + "responseTimeInMs": 443, + "elementType": "ZestResponse" + }, + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + }, + { + "rootExpression": { + "length": 87352, + "approx": 1, + "variableName": "response.body", + "not": false, + "elementType": "ZestExpressionLength" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1715667131630, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_csv_import__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 2, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_csv_import__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf2", + "index": 3, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/product/class_name", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \"Chromium\";v\u003d\"124\", \"Google Chrome\";v\u003d\"124\", \"Not-A.Brand\";v\u003d\"99\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"macOS\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "response": { + "url": "https://ec-cube/admin/product/class_name", + "headers": "HTTP/1.1 200 OK\r\nDate: Tue, 14 May 2024 06:12:30 GMT\r\nServer: Apache/2.4.59 (Debian)\r\nX-Frame-Options: SAMEORIGIN\r\nX-Powered-By: PHP/8.1.28\r\nCache-Control: max-age\u003d0, must-revalidate, private\r\nX-Debug-Token: bd6f3e\r\nX-Debug-Token-Link: https://ec-cube/_profiler/bd6f3e\r\nX-Robots-Tag: noindex\r\nExpires: Tue, 14 May 2024 06:12:31 GMT\r\nSet-Cookie: maintenance_token\u003ddeleted; expires\u003dMon, 15 May 2023 06:12:30 GMT; Max-Age\u003d0; path\u003d/; httponly\r\nVary: Accept-Encoding\r\nX-XSS-Protection: 1; mode\u003dblock\r\nX-Content-Type-Options: nosniff\r\nContent-Type: text/html; charset\u003dUTF-8\r\ncontent-length: 100207\r\n\r\n", + "body": "\u003c!doctype html\u003e\n\u003chtml lang\u003d\"ja\"\u003e\n\u003chead\u003e\n \u003cmeta charset\u003d\"utf-8\"\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width, initial-scale\u003d1, shrink-to-fit\u003dno\"\u003e\n \u003cmeta name\u003d\"eccube-csrf-token\" content\u003d\"4b8f2288df36621f2adb.M5jCQoCa2rXhKgnl7hIMnxMtFm5BKrcusaBD3Y_bjj8.Vff3A9qulszVSUaSmXFI9HBkTyU0Q_9rxNMSqOShy1lAzakh2fWFxLNwXA\"\u003e\n \u003ctitle\u003e商品管理 規格管理 - EC-CUBE SHOP\u003c/title\u003e\n \u003clink rel\u003d\"icon\" href\u003d\"/html/template/admin/assets/img/favicon.ico\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/all.css\" integrity\u003d\"sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/v4-shims.css\" integrity\u003d\"sha384-lmquXrF9qn7mMo6iRQ662vN44vTTVUBpcdtDFWPxD9uFPqC/aMn6pcQrTTupiv1A\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/bootstrap.css\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/app.css\"\u003e\n \u003cscript src\u003d\"/html/bundle/admin.bundle.js\"\u003e\u003c/script\u003e\n \u003cstyle type\u003d\"text/css\"\u003e\n .list-group-item:hover {\n z-index: inherit;\n }\n \u003c/style\u003e\n \u003cscript\u003e\n $(function() {\n $.ajaxSetup({\n \u0027headers\u0027: {\n \u0027ECCUBE-CSRF-TOKEN\u0027: $(\u0027meta[name\u003d\"eccube-csrf-token\"]\u0027).attr(\u0027content\u0027)\n }\n });\n });\n \u003c/script\u003e\n \u003c/head\u003e\n\u003cbody id\u003d\"page_admin_product_class_name\"\u003e\n\u003cheader class\u003d\"c-headerBar\"\u003e\n \u003cdiv class\u003d\"c-headerBar__container\"\u003e\n \u003cdiv class\u003d\"c-headerBar__logo\"\u003e\n \u003ch1\u003e\u003cimg src\u003d\"/html/template/admin/assets/img/logo@2x.png\"\u003e\u003c/h1\u003e\n \u003c/div\u003e\n \u003ca class\u003d\"c-headerBar__toggleBtn\"\u003e\u003ci class\u003d\"fa fa-bars\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__shopTitle\" href\u003d\"https://ec-cube/\" target\u003d\"_blank\"\u003e\u003cspan\u003eEC-CUBE SHOP\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-right\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__userMenu\"\n data-bs-container\u003d\"body\"\n data-bs-toggle\u003d\"popover\"\n data-bs-placement\u003d\"bottom\"\n title\u003d\"最終ログイン\"\n data-bs-content\u003d\"\u0026lt;p\u0026gt;2024/05/14 15:11\u0026lt;/p\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/change_password\u0027 class\u003d\u0027btn btn-ec-regular w-100 mb-2\u0027\u0026gt;パスワード変更\u0026lt;/a\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/logout\u0027 class\u003d\u0027btn btn-ec-sub w-100\u0027\u0026gt;ログアウト\u0026lt;/a\u0026gt;\"\n data-bs-html\u003d\"true\"\u003e\u003ci class\u003d\"fa fa-user-circle\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003cspan\u003e管理者 様\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-down\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003c/div\u003e\n\u003c/header\u003e\n\u003cdiv class\u003d\"c-container\"\u003e\n \u003cdiv class\u003d\"c-mainNavArea\"\u003e\n \u003cnav\u003e\n \u003cul class\u003d\"c-mainNavArea__nav\"\u003e\n \u003c!-- ホーム --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\" href\u003d\"https://ec-cube/admin/\"\u003e\n \u003ci class\u003d\"fa fa-home fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eホーム\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-product\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-product\"\u003e\n \u003ci class\u003d\"fa fa-cube fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e商品管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse show\" id\u003d\"nav-product\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product\"\u003e\n \u003cspan\u003e商品一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product/new\"\u003e\n \u003cspan\u003e商品登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name\" class\u003d\"is-active\"\u003e\n \u003cspan\u003e規格管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category\"\u003e\n \u003cspan\u003eカテゴリ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/tag\"\u003e\n \u003cspan\u003eタグ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product_csv_upload\"\u003e\n \u003cspan\u003e商品CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name_csv_upload\"\u003e\n \u003cspan\u003e規格CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category_csv_upload\"\u003e\n \u003cspan\u003e規格分類CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category_csv_upload\"\u003e\n \u003cspan\u003eカテゴリCSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-order\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-order\"\u003e\n \u003ci class\u003d\"fa fa-shopping-cart fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e受注管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-order\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order\"\u003e\n \u003cspan\u003e受注一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/new\"\u003e\n \u003cspan\u003e受注登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/shipping_csv_upload\"\u003e\n \u003cspan\u003e出荷CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-customer\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-customer\"\u003e\n \u003ci class\u003d\"fa fa-users fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e会員管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-customer\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer\"\u003e\n \u003cspan\u003e会員一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer/new\"\u003e\n \u003cspan\u003e会員登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-content\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-content\"\u003e\n \u003ci class\u003d\"fa fa-file-text-o fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eコンテンツ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-content\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/news\"\u003e\n \u003cspan\u003e新着情報管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/file_manager\"\u003e\n \u003cspan\u003eファイル管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/layout\"\u003e\n \u003cspan\u003eレイアウト管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page\"\u003e\n \u003cspan\u003eページ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/css\"\u003e\n \u003cspan\u003eCSS管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/js\"\u003e\n \u003cspan\u003eJavaScript管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/block\"\u003e\n \u003cspan\u003eブロック管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/cache\"\u003e\n \u003cspan\u003eキャッシュ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/maintenance\"\u003e\n \u003cspan\u003eメンテナンス管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-setting\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-setting\"\u003e\n \u003ci class\u003d\"fa fa-cog fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-setting\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-shop\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-shop\"\u003e\n \u003cspan\u003e店舗設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-shop\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop\"\u003e\n \u003cspan\u003e基本設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tradelaw\"\u003e\n \u003cspan\u003e特定商取引法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page/19/edit?return\u003dagreement\"\u003e\n \u003cspan\u003e利用規約設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/payment\"\u003e\n \u003cspan\u003e支払方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/delivery\"\u003e\n \u003cspan\u003e配送方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tax\"\u003e\n \u003cspan\u003e税率設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/mail\"\u003e\n \u003cspan\u003eメール設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/csv\"\u003e\n \u003cspan\u003eCSV出力項目設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/order_status\"\u003e\n \u003cspan\u003e受注対応状況設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/calendar\"\u003e\n \u003cspan\u003e定休日カレンダー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-system\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-system\"\u003e\n \u003cspan\u003eシステム設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-system\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/member\"\u003e\n \u003cspan\u003eメンバー管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/authority\"\u003e\n \u003cspan\u003e権限管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/security\"\u003e\n \u003cspan\u003eセキュリティ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/login_history\"\u003e\n \u003cspan\u003eログイン履歴\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/log\"\u003e\n \u003cspan\u003eログ表示\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/masterdata\"\u003e\n \u003cspan\u003eマスタデータ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/system\"\u003e\n \u003cspan\u003eシステム情報\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-store\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-store\"\u003e\n \u003ci class\u003d\"fa fa-plug fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eオーナーズストア\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-store\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-plugin\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-plugin\"\u003e\n \u003cspan\u003eプラグイン\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-plugin\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/api/search\"\u003e\n \u003cspan\u003eプラグインを探す\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin\"\u003e\n \u003cspan\u003eプラグイン一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-template\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-template\"\u003e\n \u003cspan\u003eテンプレート\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-template\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template\"\u003e\n \u003cspan\u003eテンプレート一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template/install\"\u003e\n \u003cspan\u003eアップロード\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/authentication_setting\"\u003e\n \u003cspan\u003e認証キー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c!-- 情報 --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\" data-bs-toggle\u003d\"collapse\" href\u003d\"#others\" aria-expanded\u003d\"false\"\n aria-controls\u003d\"others\"\u003e\n \u003ci class\u003d\"fa fa-info-circle fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e情報\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"others\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e公式サイト\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://xoops.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e開発コミュニティ\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"http://doc4.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003eドキュメント\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net/manual/ec-cube4/\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e管理・運用マニュアル\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n\u003c/nav\u003e\n\n \u003c/div\u003e\n \u003cdiv class\u003d\"c-curtain\"\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"c-contentsArea\"\u003e\n \u003cdiv class\u003d\"c-pageTitle\"\u003e\n \u003cdiv class\u003d\"c-pageTitle__titles\"\u003e\n \u003ch2 class\u003d\"c-pageTitle__title\"\u003e規格管理\u003c/h2\u003e\u003cspan class\u003d\"c-pageTitle__subTitle\"\u003e商品管理\u003c/span\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \n\n\n\n\n \n \u003cdiv class\u003d\"alert alert-danger alert-dismissible fade show m-3\" role\u003d\"alert\"\u003e\n \u003ci class\u003d\"fa fa-warning fa-lg me-2\"\u003e\u003c/i\u003e\n \u003cspan class\u003d\"fw-bold\"\u003eデバッグモードが有効になっています。\u003c/span\u003e\n \u003cbutton class\u003d\"btn-close\" type\u003d\"button\" data-bs-dismiss\u003d\"alert\" aria-label\u003d\"Close\"\u003e\n \u003c/button\u003e\n \u003c/div\u003e\n\n\n \u003cdiv class\u003d\"c-outsideBlock\"\u003e\n \u003cdiv class\u003d\"c-outsideBlock__contents mb-2\"\u003e\n \u003cdiv class\u003d\"row\"\u003e\n \u003cdiv class\u003d\"col-12 text-right\"\u003e\n \u003cdiv class\u003d\"btn-group\" role\u003d\"group\"\u003e\n \u003ca class\u003d\"btn btn-ec-regular\" href\u003d\"https://ec-cube/admin/product/class_name/export\"\u003e\n \u003ci class\u003d\"fa fa-cloud-download mr-1 text-secondary\"\u003e\u003c/i\u003e\n \u003cspan\u003eCSVダウンロード\u003c/span\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-regular\" href\u003d\"https://ec-cube/admin/setting/shop/csv/6\"\u003e\n \u003ci class\u003d\"fa fa-cog mr-1 text-secondary\"\u003e\u003c/i\u003e\n \u003cspan\u003eCSV出力項目設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"c-contentsArea__cols\"\u003e\n \u003cdiv class\u003d\"c-contentsArea__primaryCol\"\u003e\n \u003cdiv class\u003d\"c-primaryCol\"\u003e\n \u003cdiv class\u003d\"card rounded border-0 mb-4\"\u003e\n \u003cdiv class\u003d\"card-body p-0\"\u003e\n \u003cdiv class\u003d\"card rounded border-0\"\u003e\n \u003cul class\u003d\"list-group list-group-flush sortable-container\"\u003e\n \u003cli class\u003d\"list-group-item\"\u003e\n \u003cform role\u003d\"form\" class\u003d\"row\" name\u003d\"form1\" id\u003d\"form1\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\n \u003cspan\u003e規格名\u003c/span\u003e\n \u003cspan class\u003d\"badge bg-primary ms-1\"\u003e必須\u003c/span\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-3 me-2\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"admin_class_name__token\" name\u003d\"admin_class_name[_token]\" value\u003d\"0cba5.BIvXFV1IDGi2WmLgz1Z9erC2MP3MVTsVwJj05ydrBdM.N9i-TDQQVFjhMgbTnQ8RHefMVp_5DE5g7fGDq1YOVphQ5-RzFw5pWPw_Kw\" /\u003e\n \u003cinput type\u003d\"text\" id\u003d\"admin_class_name_name\" name\u003d\"admin_class_name[name]\" required\u003d\"required\" class\u003d\"form-control\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"管理者用に別名を登録しておくことができます(例:規格名:サイズ 管理名:サイズ(服)、サイズ(靴)等 )。フロント画面には表示されません。\"\u003e\n \u003cspan\u003e管理名\u003c/span\u003e\n \u003ci class\u003d\"fa fa-question-circle fa-lg ms-1\"\u003e\u003c/i\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-3\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"admin_class_name_backend_name\" name\u003d\"admin_class_name[backend_name]\" class\u003d\"form-control\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-regular\" type\u003d\"submit\"\u003e新規作成\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"list-group-item\"\u003e\n \u003cdiv class\u003d\"row\"\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cstrong\u003e\u0026nbsp;\u003c/strong\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cstrong\u003eID\u003c/strong\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-1\"\u003e\u003cstrong\u003e規格管理\u003c/strong\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/li\u003e\n \u003cli id\u003d\"ex-class_name-2\" class\u003d\"list-group-item sortable-item\" data-class-name-id\u003d\"2\" data-sort-no\u003d\"2\"\u003e\n \u003cdiv class\u003d\"row justify-content-around mode-view\"\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e\u003ci class\u003d\"fa fa-bars text-ec-gray\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e2\u003c/div\u003e\n \u003cdiv class\u003d\"col d-flex align-items-center\"\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category/2\"\u003eサイズ[管理名:CUBE用サイズ] (3)\u003c/a\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto text-end\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 up disabled\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"上へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-up fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 down \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"下へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-down fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-edit\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"編集\"\u003e\n \u003ci class\u003d\"fa fa-pencil fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003cdiv class\u003d\"d-inline-block me-2\" data-bs-toggle\u003d\"tooltip\"\n data-bs-placement\u003d\"top\" title\u003d\"削除\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon disabled\"\n \u003e\n \u003ci class\u003d\"fa fa-close fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cform class\u003d\"row d-none mode-edit\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"class_name_2__token\" name\u003d\"class_name_2[_token]\" value\u003d\"499ae124e82c6526992.sqh0VByMOOz9KPXEnN04X7L29kLHZr_NCkfF_Z-7fmU.1vhGPVLWXNyzG6WC8JBMM_ScpBryHtirQRjysPLOISfYzxEMb_5gh4hJhg\" /\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e規格名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_2_name\" name\u003d\"class_name_2[name]\" required\u003d\"required\" data-origin-value\u003d\"サイズ\" class\u003d\"form-control\" value\u003d\"サイズ\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_2_backend_name\" name\u003d\"class_name_2[backend_name]\" data-origin-value\u003d\"CUBE用サイズ\" class\u003d\"form-control\" value\u003d\"CUBE用サイズ\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" type\u003d\"submit\"\u003e決定\u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub action-edit-cancel\" type\u003d\"button\"\u003eキャンセル\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003cli id\u003d\"ex-class_name-1\" class\u003d\"list-group-item sortable-item\" data-class-name-id\u003d\"1\" data-sort-no\u003d\"1\"\u003e\n \u003cdiv class\u003d\"row justify-content-around mode-view\"\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e\u003ci class\u003d\"fa fa-bars text-ec-gray\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e1\u003c/div\u003e\n \u003cdiv class\u003d\"col d-flex align-items-center\"\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category/1\"\u003eフレーバー[管理名:CUBE用味] (4)\u003c/a\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto text-end\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 up \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"上へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-up fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 down disabled\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"下へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-down fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-edit\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"編集\"\u003e\n \u003ci class\u003d\"fa fa-pencil fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003cdiv class\u003d\"d-inline-block me-2\" data-bs-toggle\u003d\"tooltip\"\n data-bs-placement\u003d\"top\" title\u003d\"削除\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon disabled\"\n \u003e\n \u003ci class\u003d\"fa fa-close fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cform class\u003d\"row d-none mode-edit\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"class_name_1__token\" name\u003d\"class_name_1[_token]\" value\u003d\"b39485c79b61e09d9c291124246bd0.PbYwMiDeeLaZN34ie4jG_ITx5fporzjOLfKqCs3D--M.dtkEB0GNStLfYwkXE8-rr7S9trIk22mkSZGSeJyMs5JpgV9WdalVhvpDKw\" /\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e規格名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_1_name\" name\u003d\"class_name_1[name]\" required\u003d\"required\" data-origin-value\u003d\"フレーバー\" class\u003d\"form-control\" value\u003d\"フレーバー\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_1_backend_name\" name\u003d\"class_name_1[backend_name]\" data-origin-value\u003d\"CUBE用味\" class\u003d\"form-control\" value\u003d\"CUBE用味\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" type\u003d\"submit\"\u003e決定\u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub action-edit-cancel\" type\u003d\"button\"\u003eキャンセル\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c!-- 削除モーダル --\u003e\n \u003cdiv class\u003d\"modal fade\" id\u003d\"DeleteModal\" tabindex\u003d\"-1\" role\u003d\"dialog\"\n aria-labelledby\u003d\"DeleteModal\" aria-hidden\u003d\"true\"\u003e\n \u003cdiv class\u003d\"modal-dialog\" role\u003d\"document\"\u003e\n \u003cdiv class\u003d\"modal-content\"\u003e\n \u003cdiv class\u003d\"modal-header\"\u003e\n \u003ch5 class\u003d\"modal-title fw-bold\"\u003e\n 削除します\n \u003c/h5\u003e\n \u003cbutton class\u003d\"btn-close\" type\u003d\"button\" data-bs-dismiss\u003d\"modal\" aria-label\u003d\"Close\"\u003e\n\n \u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"modal-body text-start\"\u003e\n \u003cp class\u003d\"text-start modal-message\"\u003e\u003c!-- jsでメッセージを挿入 --\u003e\u003c/p\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"modal-footer\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub\" type\u003d\"button\" data-bs-dismiss\u003d\"modal\"\u003e\n キャンセル\n \u003c/button\u003e\n \u003ca class\u003d\"btn btn-ec-delete\" href\u003d\"#\" token-for-anchor\u003d\u002721904bd65cf08eb.bjgbC4zKrMJBmiWhDXyZug3w7CxII57-uK325tuimVY.CFcuStb-4Lt1-WrWeh_d0W65tWc9Sta7zd6nk7DY3DAdbXBo1aXzsxPAcA\u0027\n data-method\u003d\"delete\" data-confirm\u003d\"false\"\u003e\n 削除\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cp\u003e項目の順番はドラッグ&ドロップでも変更可能です。\u003c/p\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003c/div\u003e\n\u003c/div\u003e\n\u003cscript\u003e\nvar eccube_lang \u003d {\n \u0027common.delete_confirm\u0027: \"削除してもよろしいですか?\",\n \u0027front.product.out_of_stock\u0027: \"ただいま品切れ中です。\",\n};\n\u003c/script\u003e\n\u003cscript src\u003d\"/html/template/admin/assets/js/function.js\"\u003e\u003c/script\u003e\n \u003cscript\u003e\n $(function() {\n var oldSortNos \u003d [];\n // 画面の中のsortNo一覧を保持\n $(\u0027.sortable-item\u0027).each(function() {\n oldSortNos.push(this.dataset.sortNo);\n });\n // rsort\n oldSortNos.sort(function(a, b) {\n return a - b;\n }).reverse();\n\n $(\u0027.sortable-container\u0027).sortable({\n items: \u0027\u003e .sortable-item\u0027,\n cursor: \u0027move\u0027,\n update: function(e, ui) {\n $(\u0027body\u0027).append($(\u0027\u003cdiv class\u003d\"modal-backdrop show\"\u003e\u003c/div\u003e\u0027));\n updateSortNo();\n }\n });\n\n var updateSortNo \u003d function() {\n // 並び替え後にsortNoを更新\n var newSortNos \u003d {};\n var i \u003d 0;\n $(\u0027.sortable-item\u0027).each(function() {\n newSortNos[this.dataset.classNameId] \u003d oldSortNos[i];\n i++;\n });\n\n $.ajax({\n url: \u0027https://ec-cube/admin/product/class_name/sort_no/move\u0027,\n type: \u0027POST\u0027,\n data: newSortNos\n }).done(function() {\n // remove class disable\n $(\u0027a.up.disabled\u0027).removeClass(\u0027disabled\u0027);\n $(\u0027a.down.disabled\u0027).removeClass(\u0027disabled\u0027);\n // First element\n $(\u0027.sortable-item \u003e li:nth-child(2) \u003e div \u003e div.col-auto.text-end \u003e a.up\u0027).addClass(\u0027disabled\u0027);\n }).always(function() {\n redrawDisableAllows();\n $(\u0027.modal-backdrop\u0027).remove();\n });\n };\n\n // 最初と最後の↑↓を再描画\n var redrawDisableAllows \u003d function() {\n var items \u003d $(\u0027.sortable-item\u0027);\n items.find(\u0027a.up\u0027).removeClass(\u0027disabled\u0027);\n items.find(\u0027a.down\u0027).removeClass(\u0027disabled\u0027);\n items.first().find(\u0027a.up\u0027).addClass(\u0027disabled\u0027);\n items.last().find(\u0027a.down\u0027).addClass(\u0027disabled\u0027);\n };\n\n $(\u0027.sortable-item a.up\u0027).click(function(e) {\n e.preventDefault();\n var current \u003d $(this).parents(\u0027.list-group-item\u0027);\n current.prev().before(current);\n $(\u0027body\u0027).append($(\u0027\u003cdiv class\u003d\"modal-backdrop show\"\u003e\u003c/div\u003e\u0027));\n updateSortNo();\n });\n\n $(\u0027.sortable-item a.down\u0027).click(function(e) {\n e.preventDefault();\n var current \u003d $(this).parents(\u0027.list-group-item\u0027);\n current.next().after(current);\n $(\u0027body\u0027).append($(\u0027\u003cdiv class\u003d\"modal-backdrop show\"\u003e\u003c/div\u003e\u0027));\n updateSortNo();\n });\n\n // 編集\n $(\u0027.sortable-item\u0027).on(\u0027click\u0027, \u0027a.action-edit\u0027, function(e) {\n e.preventDefault();\n var current \u003d $(this).parents(\u0027li\u0027);\n current.find(\u0027.mode-view\u0027).addClass(\u0027d-none\u0027);\n current.find(\u0027.mode-edit\u0027).removeClass(\u0027d-none\u0027);\n });\n // 編集キャンセル\n $(\u0027.sortable-item\u0027).on(\u0027click\u0027, \u0027button.action-edit-cancel\u0027, function(e) {\n location.href \u003d \u0027https://ec-cube/admin/product/class_name\u0027;\n });\n\n // 編集時, エラーがあれば入力欄を表示.\n $(\u0027.sortable-item\u0027).find(\u0027.is-invalid\u0027).each(function(e) {\n var current \u003d $(this).parents(\u0027li\u0027);\n current.find(\u0027.mode-view\u0027).addClass(\u0027d-none\u0027);\n current.find(\u0027.mode-edit\u0027).removeClass(\u0027d-none\u0027);\n });\n\n // 削除モーダルのhrefとmessageの変更\n $(\u0027#DeleteModal\u0027).on(\u0027shown.bs.modal\u0027, function(event) {\n var target \u003d $(event.relatedTarget);\n // hrefの変更\n $(this).find(\u0027[data-method\u003d\"delete\"]\u0027).attr(\u0027href\u0027, target.data(\u0027url\u0027));\n\n // messageの変更\n $(this).find(\u0027p.modal-message\u0027).text(target.data(\u0027message\u0027));\n });\n });\n \u003c/script\u003e\n\n\n\u003cdiv id\u003d\"sfwdtbd6f3e\" class\u003d\"sf-toolbar sf-display-none\" role\u003d\"region\" aria-label\u003d\"Symfony Web Debug Toolbar\"\u003e \u003c!-- START of Symfony Web Debug Toolbar --\u003e\u003cdiv id\u003d\"sfMiniToolbar-bd6f3e\" class\u003d\"sf-minitoolbar\" data-no-turbolink data-turbo\u003d\"false\"\u003e \u003cbutton type\u003d\"button\" title\u003d\"Show Symfony toolbar\" id\u003d\"sfToolbarMiniToggler-bd6f3e\" accesskey\u003d\"D\" aria-expanded\u003d\"false\" aria-controls\u003d\"sfToolbarMainContent-bd6f3e\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarClearer-bd6f3e\" class\u003d\"sf-toolbar-clearer\"\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarMainContent-bd6f3e\" class\u003d\"sf-toolbarreset notranslate clear-fix\" data-no-turbolink\u003e \u003cdiv class\u003d\"sf-toolbar-block sf-toolbar-block-request sf-toolbar-status-normal \" \u003e \u003ca href\u003d\"https://ec-cube/_profiler/bd6f3e?panel\u003drequest\"\u003e \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003cspan class\u003d\"sf-toolbar-value sf-toolbar-ajax-request-counter\"\u003e Loading\u0026hellip; \u003c/span\u003e \u003c/div\u003e \u003c/a\u003e \u003cdiv class\u003d\"sf-toolbar-info\"\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003eLoading the web debug toolbar\u0026hellip;\u003c/b\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e Attempt #\u003cspan id\u003d\"sfLoadCounter-bd6f3e\"\u003e\u003c/span\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003e \u003cbutton class\u003d\"sf-cancel-button\" type\u003d\"button\" id\u003d\"sfLoadCancel-bd6f3e\" title\u003d\"Cancel loading\"\u003eCancel\u003c/button\u003e \u003c/b\u003e \u003c/div\u003e \u003c/div\u003e\u003c/div\u003e \u003cbutton class\u003d\"hide-button\" type\u003d\"button\" id\u003d\"sfToolbarHideButton-bd6f3e\" title\u003d\"Close Toolbar\" accesskey\u003d\"D\" aria-expanded\u003d\"true\" aria-controls\u003d\"sfToolbarMainContent-bd6f3e\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" data-icon-name\u003d\"icon-tabler-x\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\" stroke-width\u003d\"1.5\" stroke\u003d\"currentColor\" fill\u003d\"none\" stroke-linecap\u003d\"round\" stroke-linejoin\u003d\"round\"\u003e \u003cpath stroke\u003d\"none\" d\u003d\"M0 0h24v24H0z\" fill\u003d\"none\"\u003e\u003c/path\u003e \u003cline x1\u003d\"18\" y1\u003d\"6\" x2\u003d\"6\" y2\u003d\"18\"\u003e\u003c/line\u003e \u003cline x1\u003d\"6\" y1\u003d\"6\" x2\u003d\"18\" y2\u003d\"18\"\u003e\u003c/line\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003c!-- END of Symfony Web Debug Toolbar --\u003e\u003c/div\u003e\u003cstyle nonce\u003d\"e84d305f986d45ee3901eda0baa0ccbc\"\u003e .sf-toolbarreset { --sf-toolbar-font-family-system: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --sf-toolbar-font-family-monospace: \"Ubuntu Mono\", \"JetBrains Mono\", ui-monospace, \"Roboto Mono\", SFMono-Regular, Menlo, Monaco, Consolas,\"Liberation Mono\", \"Courier New\", monospace; --sf-toolbar-white: #fff; --sf-toolbar-black: #000; --sf-toolbar-gray-50: #fafafa; --sf-toolbar-gray-100: #f5f5f5; --sf-toolbar-gray-200: #e5e5e5; --sf-toolbar-gray-300: #d4d4d4; --sf-toolbar-gray-400: #a3a3a3; --sf-toolbar-gray-500: #737373; --sf-toolbar-gray-600: #525252; --sf-toolbar-gray-700: #404040; --sf-toolbar-gray-800: #262626; --sf-toolbar-gray-900: #171717; --sf-toolbar-red-50: #FEFBFC; --sf-toolbar-red-100: #FCE9ED; --sf-toolbar-red-200: #F5B8C5; --sf-toolbar-red-300: #EF869C; --sf-toolbar-red-400: #E85574; --sf-toolbar-red-500: #E1244B; --sf-toolbar-red-600: #B41939; --sf-toolbar-red-700: #83122A; --sf-toolbar-red-800: #510B1A; --sf-toolbar-red-900: #20040A; --sf-toolbar-yellow-50: #fef7e1; --sf-toolbar-yellow-100: #fef2cd; --sf-toolbar-yellow-200: #fde496; --sf-toolbar-yellow-300: #fcd55f; --sf-toolbar-yellow-400: #fbc728; --sf-toolbar-yellow-500: #e6af05; --sf-toolbar-yellow-600: #af8503; --sf-toolbar-yellow-700: #785b02; --sf-toolbar-yellow-800: #413101; --sf-toolbar-yellow-900: #0a0800; --sf-toolbar-green-50: #eff5f5; --sf-toolbar-green-100: #deeaea; --sf-toolbar-green-200: #bbd5d5; --sf-toolbar-green-300: #99bfbf; --sf-toolbar-green-400: #76a9a9; --sf-toolbar-green-500: #598e8e; --sf-toolbar-green-600: #436c6c; --sf-toolbar-green-700: #2e4949; --sf-toolbar-green-800: #182727; --sf-toolbar-green-900: #030404;}.sf-minitoolbar { --sf-toolbar-gray-800: #262626; background-color: var(--sf-toolbar-gray-800); border-top-left-radius: 4px; bottom: 0; box-sizing: border-box; display: none; height: 36px; padding: 6px; position: fixed; right: 0; z-index: 99999;}.sf-minitoolbar button { background-color: transparent; padding: 0; border: none;}.sf-minitoolbar svg,.sf-minitoolbar img { --sf-toolbar-gray-200: #e5e5e5; color: var(--sf-toolbar-gray-200); max-height: 24px; max-width: 24px; display: inline;}.sf-toolbar-clearer { clear: both; height: 36px;}.sf-display-none { display: none;}.sf-toolbarreset *:not(svg rect) { box-sizing: content-box; vertical-align: baseline; letter-spacing: normal; width: auto;}.sf-toolbarreset { background-color: var(--sf-toolbar-gray-800); bottom: 0; box-shadow: inset 0 1px 0 var(--sf-toolbar-black), 0 -1px 0 rgba(0, 0, 0, 0.5); color: var(--sf-toolbar-gray-200); font: 11px var(--sf-toolbar-font-family-system); left: 0; margin: 0; padding: 0 36px 0 0; position: fixed; right: 0; text-align: left; text-transform: none; z-index: 99999; direction: ltr; /* neutralize the aliasing defined by external CSS styles */ -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto;}.sf-toolbarreset abbr { border: dashed var(--sf-toolbar-gray-500); border-width: 0 0 1px;}.sf-toolbarreset svg,.sf-toolbarreset img { height: 20px; width: 20px; display: inline-block;}.sf-toolbarreset .sf-cancel-button { color: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-300); display: block; position: absolute; top: 2px; right: 0; width: 36px; height: 34px; cursor: pointer; text-align: center; border: none; margin: 0; padding: 0;}.sf-toolbarreset .hide-button:hover { background: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button svg { max-height: 18px; margin-top: 1px;}.sf-toolbar-block { cursor: default; display: block; float: left; height: 36px; margin-right: 0; position: relative; white-space: nowrap; max-width: 15%;}.sf-toolbar-block \u003e a,.sf-toolbar-block \u003e a:hover { display: block; text-decoration: none; background-color: transparent; color: inherit;}.sf-toolbar-block span { display: inline-block;}.sf-toolbar-block .sf-toolbar-value { color: var(--sf-toolbar-gray-100); font-size: 13px; line-height: 36px; padding: 0;}.sf-toolbar-block .sf-toolbar-label,.sf-toolbar-block .sf-toolbar-class-separator { color: var(--sf-toolbar-gray-400); font-size: 12px; margin-left: 2px;}.sf-toolbar-block .sf-toolbar-info { border-collapse: collapse; display: table; z-index: 100000;}.sf-toolbar-block hr { border-top: 1px solid var(--sf-toolbar-gray-500); margin: 4px 0; padding-top: 4px;}.sf-toolbar-block .sf-toolbar-info-piece { /* this \u0027border-bottom\u0027 trick is needed because \u0027margin-bottom\u0027 doesn\u0027t work for table rows */ border-bottom: solid transparent 3px; display: table-row;}.sf-toolbar-block .sf-toolbar-info-piece-additional,.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: none;}.sf-toolbar-block .sf-toolbar-info-group { margin-bottom: 4px; padding-bottom: 2px; border-bottom: 1px solid #333333;}.sf-toolbar-block .sf-toolbar-info-group:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status { border-radius: 4px; padding: 2px 5px; margin-bottom: 0;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status + .sf-toolbar-status { margin-left: 4px;}.sf-toolbar-block .sf-toolbar-info-piece:last-child { margin-bottom: 0;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece a { color: #99CDD8; text-decoration: underline;}div.sf-toolbar .sf-toolbar-block a:hover { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info-piece b { color: var(--sf-toolbar-gray-400); display: table-cell; font-size: 11px; padding: 4px 8px 4px 0;}.sf-toolbar-block:not(.sf-toolbar-block-dump) .sf-toolbar-info-piece span { color: var(--sf-toolbar-gray-100);}.sf-toolbar-block .sf-toolbar-info-piece span { font-size: 12px;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece.sf-toolbar-info-php-ext a { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info { background-color: var(--sf-toolbar-gray-700); border-radius: 4px; border-bottom-left-radius: 0; bottom: 36px; color: var(--sf-toolbar-gray-100); display: none; padding: 9px 0; position: absolute;}.sf-toolbar-block.sf-toolbar-block-right .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0;}.sf-toolbar-block .sf-toolbar-info:empty { visibility: hidden;}.sf-toolbar-block .sf-toolbar-status { display: inline-block; color: var(--sf-toolbar-white); background-color: var(--sf-toolbar-gray-600); padding: 3px 6px; margin: 0 4px; min-width: 15px; min-height: 13px; text-align: center;}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-green,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-green { background-color: #059669; color: var(--white);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-red,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-red { background-color: var(--sf-toolbar-red-500); color: var(--sf-toolbar-red-50);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-yellow,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); color: var(--sf-toolbar-yellow-800);}.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block.sf-toolbar-status-yellow::before { background: var(--sf-toolbar-yellow-400); border-radius: 6px; content: \u0027\u0027; position: absolute; bottom: 1px; left: 0; width: 98%; height: 3px; z-index: 10005;}.sf-toolbar-block.sf-toolbar-status-red::before { background: var(--sf-toolbar-red-400);}.sf-toolbar-block.sf-toolbar-status-green::before { background: var(--sf-toolbar-green-400);}.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-yellow::before { display: none;}.sf-toolbar-block-request .sf-toolbar-status { border-radius: 6px; color: #fff; display: inline-block; flex-shrink: 0; font-size: 13px; font-weight: 500; padding: 4px 8px;}.sf-toolbar-block-request .sf-toolbar-info-piece a { background-color: transparent; text-decoration: none;}.sf-toolbar-block-request .sf-toolbar-info-piece a:hover { text-decoration: underline;}.sf-toolbar-block-request .sf-toolbar-redirection-status { font-weight: normal; padding: 2px 4px; line-height: 18px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-redirection-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); border-radius: 4px; color: var(--sf-toolbar-yellow-800); padding: 1px 4px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-info-piece .sf-toolbar-redirection-method { background: transparent; color: var(--sf-toolbar-gray-300); border: 1px solid var(--sf-toolbar-gray-400); padding: 1px 4px;}.sf-toolbar-block-request .sf-toolbar-info-piece span.sf-toolbar-redirection-method { font-size: 12px; height: 17px; line-height: 17px; margin-right: 5px;}.sf-toolbar-block-request .sf-toolbar-request-icon svg { stroke-width: 3px;}.sf-toolbar-block-ajax .sf-toolbar-icon { cursor: pointer;}.sf-toolbar-status-green .sf-toolbar-label,.sf-toolbar-status-yellow .sf-toolbar-label,.sf-toolbar-status-red .sf-toolbar-label { color: var(--sf-toolbar-white);}.sf-toolbar-block-config svg path,.sf-toolbar-block-config svg .sf-svg-path { fill: var(--sf-toolbar-white);}.sf-toolbar-block .sf-toolbar-icon { color: var(--sf-toolbar-gray-300); align-items: center; display: flex; height: 36px; padding: 0 7px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-block:hover .sf-toolbar-icon { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block.sf-toolbar-block-right:hover .sf-toolbar-icon { box-shadow: -1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block-request .sf-toolbar-icon { padding-left: 0; padding-right: 0;}.sf-toolbar-block .sf-toolbar-icon img,.sf-toolbar-block .sf-toolbar-icon svg { border-width: 0;}.sf-toolbar-block .sf-toolbar-icon img + span,.sf-toolbar-block .sf-toolbar-icon svg + span { margin-left: 4px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-value,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-value { margin-left: 5px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-label { margin-left: 0;}.sf-toolbar-block:hover,.sf-toolbar-block.hover { position: relative;}.sf-toolbar-block:hover .sf-toolbar-icon,.sf-toolbar-block.hover .sf-toolbar-icon { background-color: var(--sf-toolbar-gray-700); position: relative; z-index: 10002;}.sf-toolbar-block-ajax.hover .sf-toolbar-info { z-index: 10001;}.sf-toolbar-block:hover .sf-toolbar-info,.sf-toolbar-block.hover .sf-toolbar-info { display: block; padding: 10px; max-width: 525px; max-height: 480px; word-wrap: break-word; overflow: hidden; overflow-y: auto;}.sf-toolbar-info-piece b.sf-toolbar-ajax-info { color: var(--sf-toolbar-gray-100);}.sf-toolbar-ajax-requests { border: 1px solid var(--sf-toolbar-gray-500); font-variant: tabular-nums; margin: 5px 0 0; width: 100%;}.sf-toolbar-ajax-requests td { background-color: var(--sf-toolbar-gray-700); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-100); font-size: 12px; padding: 4px; vertical-align: middle;}.sf-toolbar-ajax-requests thead { border: 0;}.sf-toolbar-ajax-requests th { background-color: var(--sf-toolbar-gray-800); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-200); font-size: 11px; padding: 4px;}.sf-ajax-request-url { max-width: 250px; line-height: 9px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-ajax-requests .sf-ajax-request-url a { text-decoration: none;}.sf-toolbar-ajax-requests .sf-ajax-request-url a:hover { text-decoration: underline;}.sf-ajax-request-duration { text-align: right;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-ajax-requests .sf-toolbar-status { font-size: 11px; padding: 1px 3px;}.sf-ajax-request-loading { animation: sf-blink .5s ease-in-out infinite;}@keyframes sf-blink { 0% { background: var(--sf-toolbar-gray-800); } 50% { background: var(--sf-toolbar-gray-700); } 100% { background: var(--sf-toolbar-gray-800); }}.sf-toolbar-block.sf-toolbar-block-dump .sf-toolbar-info { max-width: none; width: 100%; position: fixed; box-sizing: border-box; left: 0;}.sf-toolbar-block-dump pre.sf-dump { background-color: var(--sf-toolbar-gray-800); border-color: var(--sf-toolbar-gray-500); border-radius: 0; margin: 6px 0 12px 0;}.sf-toolbar-block-dump pre.sf-dump:last-child { margin-bottom: 0;}.sf-toolbar-block-dump pre.sf-dump .sf-dump-search-wrapper { margin-bottom: 5px;}.sf-toolbar-block-dump pre.sf-dump span.sf-dump-search-count { color: #333; font-size: 12px;}.sf-toolbar-block-dump .sf-toolbar-info-piece { display: block;}.sf-toolbar-block-dump .sf-toolbar-info-piece .sf-toolbar-file-line { color: var(--sf-toolbar-gray-400); margin-left: 4px;}.sf-toolbar-block-dump .sf-toolbar-info img { display: none;}.sf-toolbar-block-serializer .detailed-metrics { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 15px; margin-top: 15px;}/* Responsive Design */.sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-icon .sf-toolbar-value { display: none;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-cli .sf-toolbar-icon .sf-toolbar-label { display: inline-block;}/* Legacy Design - these styles are maintained to make old panels look a bit better on the new toolbar */.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-gray-400); font-size: 12px;}.sf-toolbar-status-green .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-yellow .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-red .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-white);}@media (min-width: 768px) { .sf-toolbar-icon .sf-toolbar-label, .sf-toolbar-icon .sf-toolbar-value { display: inline; } .sf-toolbar-block-time .sf-toolbar-icon svg, .sf-toolbar-block-memory .sf-toolbar-icon svg { display: none; } .sf-toolbar-block-time .sf-toolbar-icon svg + span, .sf-toolbar-block-memory .sf-toolbar-icon svg + span { margin-left: 0; } .sf-toolbar-block .sf-toolbar-icon { padding: 0 10px; } .sf-toolbar-block-time .sf-toolbar-icon { padding-right: 5px; } .sf-toolbar-block-memory .sf-toolbar-icon { padding-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon { display: flex; align-items: center; padding-left: 0; padding-right: 0; } .sf-toolbar-block-request .sf-toolbar-label { margin-left: 4px; margin-right: 1px; } .sf-toolbar-block-request .sf-toolbar-status + .sf-toolbar-request-icon { display: inline-flex; margin-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon .sf-toolbar-request-icon + .sf-toolbar-label { margin-left: 0; } .sf-toolbar-block-request .sf-toolbar-label + .sf-toolbar-value { margin-right: 5px; } .sf-toolbar-block-request:hover .sf-toolbar-info { max-width: none; } .sf-toolbar-block .sf-toolbar-info-piece b { font-size: 12px; } .sf-toolbar-block .sf-toolbar-info-piece span { font-size: 13px; } .sf-toolbar-block-right { float: right; margin-left: 0; margin-right: 0; } .sf-toolbarreset .sf-toolbar-block.sf-toolbar-block-right:not(.sf-toolbar-block-sf-cli) .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0; }}@media (min-width: 1024px) { .sf-toolbar-block .sf-toolbar-info-piece-additional, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: inline; } .sf-toolbar-block .sf-toolbar-info-piece-additional:empty, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail:empty { display: none; }}/***** Error Toolbar *****/.sf-error-toolbar .sf-toolbarreset { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-100); font: 13px/36px var(--sf-toolbar-font-family-system); height: 36px; padding: 0 15px; text-align: left;}.sf-error-toolbar .sf-toolbarreset svg { height: auto;}.sf-error-toolbar .sf-toolbarreset a { color: #99cdd8; margin-left: 5px; text-decoration: underline;}.sf-error-toolbar .sf-toolbarreset a:hover { text-decoration: none;}.sf-error-toolbar .sf-toolbarreset .sf-toolbar-icon { float: left; padding: 5px 0; margin-right: 10px;}.sf-full-stack { left: 0px; font-size: 12px;}/***** Media query print: Do not print the Toolbar. *****/@media print { .sf-toolbar { display: none !important; }}\u003c/style\u003e\u003cscript nonce\u003d\"3033c130fd0947b645ad69c5c54886bc\"\u003e/*\u003c![CDATA[*/ if (typeof Sfjs \u003d\u003d\u003d \u0027undefined\u0027 || typeof Sfjs.loadToolbar \u003d\u003d\u003d \u0027undefined\u0027) { Sfjs \u003d (function() { \"use strict\"; if (\u0027classList\u0027 in document.documentElement) { var hasClass \u003d function (el, cssClass) { return el.classList.contains(cssClass); }; var removeClass \u003d function(el, cssClass) { el.classList.remove(cssClass); }; var addClass \u003d function(el, cssClass) { el.classList.add(cssClass); }; var toggleClass \u003d function(el, cssClass) { el.classList.toggle(cssClass); }; } else { var hasClass \u003d function (el, cssClass) { return el.className.match(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027)); }; var removeClass \u003d function(el, cssClass) { el.className \u003d el.className.replace(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027), \u0027 \u0027); }; var addClass \u003d function(el, cssClass) { if (!hasClass(el, cssClass)) { el.className +\u003d \" \" + cssClass; } }; var toggleClass \u003d function(el, cssClass) { hasClass(el, cssClass) ? removeClass(el, cssClass) : addClass(el, cssClass); }; } var noop \u003d function() {}; var profilerStorageKey \u003d \u0027symfony/profiler/\u0027; var addEventListener; var el \u003d document.createElement(\u0027div\u0027); if (!(\u0027addEventListener\u0027 in el)) { addEventListener \u003d function (element, eventName, callback) { element.attachEvent(\u0027on\u0027 + eventName, callback); }; } else { addEventListener \u003d function (element, eventName, callback) { element.addEventListener(eventName, callback, false); }; } var request \u003d function(url, onSuccess, onError, payload, options, tries) { var xhr \u003d window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject(\u0027Microsoft.XMLHTTP\u0027); options \u003d options || {}; options.retry \u003d options.retry || false; tries \u003d tries || 1; /* this delays for 125, 375, 625, 875, and 1000, ... */ var delay \u003d tries \u003c 5 ? (tries - 0.5) * 250 : 1000; xhr.open(options.method || \u0027GET\u0027, url, true); xhr.setRequestHeader(\u0027X-Requested-With\u0027, \u0027XMLHttpRequest\u0027); xhr.onreadystatechange \u003d function(state) { if (4 !\u003d\u003d xhr.readyState) { return null; } if (xhr.status \u003d\u003d 404 \u0026\u0026 options.retry \u0026\u0026 !options.stop) { setTimeout(function() { if (options.stop) { return; } request(url, onSuccess, onError, payload, options, tries + 1); }, delay); return null; } if (200 \u003d\u003d\u003d xhr.status) { (onSuccess || noop)(xhr); } else { (onError || noop)(xhr); } }; if (options.onSend) { options.onSend(tries); } xhr.send(payload || \u0027\u0027); }; var getPreference \u003d function(name) { if (!window.localStorage) { return null; } return localStorage.getItem(profilerStorageKey + name); }; var setPreference \u003d function(name, value) { if (!window.localStorage) { return null; } localStorage.setItem(profilerStorageKey + name, value); }; var requestStack \u003d []; var extractHeaders \u003d function(xhr, stackElement) { /* Here we avoid to call xhr.getResponseHeader in order to */ /* prevent polluting the console with CORS security errors */ var allHeaders \u003d xhr.getAllResponseHeaders(); var ret; if (ret \u003d allHeaders.match(/^x-debug-token:\\s+(.*)$/im)) { stackElement.profile \u003d ret[1]; } if (ret \u003d allHeaders.match(/^x-debug-token-link:\\s+(.*)$/im)) { stackElement.profilerUrl \u003d ret[1]; } if (ret \u003d allHeaders.match(/^Symfony-Debug-Toolbar-Replace:\\s+(.*)$/im)) { stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d ret[1]; } }; var successStreak \u003d 4; var pendingRequests \u003d 0; var renderAjaxRequests \u003d function() { var requestCounter \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-counter\u0027); if (!requestCounter) { return; } requestCounter.textContent \u003d requestStack.length; var infoSpan \u003d document.querySelector(\".sf-toolbar-ajax-info\"); if (infoSpan) { infoSpan.textContent \u003d requestStack.length + \u0027 AJAX request\u0027 + (requestStack.length !\u003d\u003d 1 ? \u0027s\u0027 : \u0027\u0027); } var ajaxToolbarPanel \u003d document.querySelector(\u0027.sf-toolbar-block-ajax\u0027); if (requestStack.length) { ajaxToolbarPanel.style.display \u003d \u0027block\u0027; } else { ajaxToolbarPanel.style.display \u003d \u0027none\u0027; } if (pendingRequests \u003e 0) { addClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else if (successStreak \u003c 4) { addClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else { removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); removeClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); } }; var startAjaxRequest \u003d function(index) { var tbody \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027); if (!tbody) { return; } var nbOfAjaxRequest \u003d tbody.rows.length; if (nbOfAjaxRequest \u003e\u003d 100) { tbody.deleteRow(0); } var request \u003d requestStack[index]; pendingRequests++; var row \u003d document.createElement(\u0027tr\u0027); request.DOMNode \u003d row; var requestNumberCell \u003d document.createElement(\u0027td\u0027); requestNumberCell.textContent \u003d index + 1; row.appendChild(requestNumberCell); var profilerCell \u003d document.createElement(\u0027td\u0027); profilerCell.textContent \u003d \u0027n/a\u0027; row.appendChild(profilerCell); var methodCell \u003d document.createElement(\u0027td\u0027); methodCell.textContent \u003d request.method; row.appendChild(methodCell); var typeCell \u003d document.createElement(\u0027td\u0027); typeCell.textContent \u003d request.type; row.appendChild(typeCell); var statusCodeCell \u003d document.createElement(\u0027td\u0027); var statusCode \u003d document.createElement(\u0027span\u0027); statusCode.textContent \u003d \u0027n/a\u0027; statusCodeCell.appendChild(statusCode); row.appendChild(statusCodeCell); var pathCell \u003d document.createElement(\u0027td\u0027); pathCell.className \u003d \u0027sf-ajax-request-url\u0027; if (\u0027GET\u0027 \u003d\u003d\u003d request.method) { var pathLink \u003d document.createElement(\u0027a\u0027); pathLink.setAttribute(\u0027href\u0027, request.url); pathLink.textContent \u003d request.url; pathCell.appendChild(pathLink); } else { pathCell.textContent \u003d request.url; } pathCell.setAttribute(\u0027title\u0027, request.url); row.appendChild(pathCell); var durationCell \u003d document.createElement(\u0027td\u0027); durationCell.className \u003d \u0027sf-ajax-request-duration\u0027; durationCell.textContent \u003d \u0027n/a\u0027; row.appendChild(durationCell); request.liveDurationHandle \u003d setInterval(function() { durationCell.textContent \u003d (new Date() - request.start) + \u0027 ms\u0027; }, 100); row.className \u003d \u0027sf-ajax-request sf-ajax-request-loading\u0027; tbody.insertBefore(row, null); var toolbarInfo \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); toolbarInfo.scrollTop \u003d toolbarInfo.scrollHeight; renderAjaxRequests(); }; var finishAjaxRequest \u003d function(index) { var request \u003d requestStack[index]; clearInterval(request.liveDurationHandle); if (!request.DOMNode) { return; } if (request.toolbarReplace \u0026\u0026 !request.toolbarReplaceFinished \u0026\u0026 request.profile) { /* Flag as complete because finishAjaxRequest can be called multiple times. */ request.toolbarReplaceFinished \u003d true; /* Search up through the DOM to find the toolbar\u0027s container ID. */ for (var elem \u003d request.DOMNode; elem \u0026\u0026 elem !\u003d\u003d document; elem \u003d elem.parentNode) { if (elem.id.match(/^sfwdt/)) { Sfjs.loadToolbar(elem.id.replace(/^sfwdt/, \u0027\u0027), request.profile); break; } } } pendingRequests--; var row \u003d request.DOMNode; /* Unpack the children from the row */ var profilerCell \u003d row.children[1]; var methodCell \u003d row.children[2]; var statusCodeCell \u003d row.children[4]; var statusCodeElem \u003d statusCodeCell.children[0]; var durationCell \u003d row.children[6]; if (request.error) { row.className \u003d \u0027sf-ajax-request sf-ajax-request-error\u0027; methodCell.className \u003d \u0027sf-ajax-request-error\u0027; successStreak \u003d 0; } else { row.className \u003d \u0027sf-ajax-request sf-ajax-request-ok\u0027; successStreak++; } if (request.statusCode) { if (request.statusCode \u003c 300) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status\u0027); } else if (request.statusCode \u003c 400) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-yellow\u0027); } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } statusCodeElem.textContent \u003d request.statusCode; } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } if (request.duration) { durationCell.textContent \u003d request.duration + \u0027 ms\u0027; } if (request.profilerUrl) { profilerCell.textContent \u003d \u0027\u0027; var profilerLink \u003d document.createElement(\u0027a\u0027); profilerLink.setAttribute(\u0027href\u0027, request.profilerUrl); profilerLink.textContent \u003d request.profile; profilerCell.appendChild(profilerLink); } renderAjaxRequests(); }; if (window.fetch \u0026\u0026 window.fetch.polyfill \u003d\u003d\u003d undefined) { var oldFetch \u003d window.fetch; window.fetch \u003d function () { var promise \u003d oldFetch.apply(this, arguments); var url \u003d arguments[0]; var params \u003d arguments[1]; var paramType \u003d Object.prototype.toString.call(arguments[0]); if (paramType \u003d\u003d\u003d \u0027[object Request]\u0027) { url \u003d arguments[0].url; params \u003d { method: arguments[0].method, credentials: arguments[0].credentials, headers: arguments[0].headers, mode: arguments[0].mode, redirect: arguments[0].redirect }; } else { url \u003d String(url); } if (!url.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var method \u003d \u0027GET\u0027; if (params \u0026\u0026 params.method !\u003d\u003d undefined) { method \u003d params.method; } var stackElement \u003d { error: false, url: url, method: method, type: \u0027fetch\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; promise.then(function (r) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d r.status \u003c 200 || r.status \u003e\u003d 400; stackElement.statusCode \u003d r.status; stackElement.profile \u003d r.headers.get(\u0027x-debug-token\u0027); stackElement.profilerUrl \u003d r.headers.get(\u0027x-debug-token-link\u0027); stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d r.headers.get(\u0027Symfony-Debug-Toolbar-Replace\u0027); finishAjaxRequest(idx); }, function (e){ stackElement.error \u003d true; finishAjaxRequest(idx); }); startAjaxRequest(idx); } return promise; }; } if (window.XMLHttpRequest \u0026\u0026 XMLHttpRequest.prototype.addEventListener) { var proxied \u003d XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open \u003d function(method, url, async, user, pass) { var self \u003d this; /* prevent logging AJAX calls to static and inline files, like templates */ var path \u003d url; if (url.slice(0, 1) \u003d\u003d\u003d \u0027/\u0027) { if (0 \u003d\u003d\u003d url.indexOf(\u0027\u0027)) { path \u003d url.slice(0); } } else if (0 \u003d\u003d\u003d url.indexOf(\u0027http\\u003A\\/\\/localhost\\u003A8080\u0027)) { path \u003d url.slice(21); } if (!path.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var stackElement \u003d { error: false, url: url, method: method, type: \u0027xhr\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; this.addEventListener(\u0027readystatechange\u0027, function() { if (self.readyState \u003d\u003d 4) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d self.status \u003c 200 || self.status \u003e\u003d 400; stackElement.statusCode \u003d self.status; extractHeaders(self, stackElement); finishAjaxRequest(idx); } }, false); startAjaxRequest(idx); } proxied.apply(this, Array.prototype.slice.call(arguments)); }; } return { hasClass: hasClass, removeClass: removeClass, addClass: addClass, toggleClass: toggleClass, getPreference: getPreference, setPreference: setPreference, addEventListener: addEventListener, request: request, renderAjaxRequests: renderAjaxRequests, getSfwdt: function(token) { if (!this.sfwdt) { this.sfwdt \u003d document.getElementById(\u0027sfwdt\u0027 + token); } return this.sfwdt; }, load: function(selector, url, onSuccess, onError, options) { var el \u003d document.getElementById(selector); if (el \u0026\u0026 el.getAttribute(\u0027data-sfurl\u0027) !\u003d\u003d url) { request( url, function(xhr) { el.innerHTML \u003d xhr.responseText; el.setAttribute(\u0027data-sfurl\u0027, url); removeClass(el, \u0027loading\u0027); var pending \u003d pendingRequests; for (var i \u003d 0; i \u003c requestStack.length; i++) { startAjaxRequest(i); if (requestStack[i].duration) { finishAjaxRequest(i); } } /* Revert the pending state in case there was a start called without a finish above. */ pendingRequests \u003d pending; (onSuccess || noop)(xhr, el); }, function(xhr) { (onError || noop)(xhr, el); }, \u0027\u0027, options ); } return this; }, showToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); removeClass(sfwdt, \u0027sf-display-none\u0027); if (getPreference(\u0027toolbar/displayState\u0027) \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027none\u0027; } }, hideToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); addClass(sfwdt, \u0027sf-display-none\u0027); }, initToolbar: function(token) { this.showToolbar(token); var hideButton \u003d document.getElementById(\u0027sfToolbarHideButton-\u0027 + token); var hideButtonSvg \u003d hideButton.querySelector(\u0027svg\u0027); hideButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); hideButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(hideButton, \u0027click\u0027, function (event) { event.preventDefault(); var p \u003d this.parentNode; p.style.display \u003d \u0027none\u0027; (p.previousElementSibling || p.previousSibling).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; setPreference(\u0027toolbar/displayState\u0027, \u0027none\u0027); }); var showButton \u003d document.getElementById(\u0027sfToolbarMiniToggler-\u0027 + token); var showButtonSvg \u003d showButton.querySelector(\u0027svg\u0027); showButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); showButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(showButton, \u0027click\u0027, function (event) { event.preventDefault(); var elem \u003d this.parentNode; if (elem.style.display \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; elem.style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; elem.style.display \u003d \u0027none\u0027 } setPreference(\u0027toolbar/displayState\u0027, \u0027block\u0027); }); }, loadToolbar: function(token, newToken) { var that \u003d this; var triesCounter \u003d document.getElementById(\u0027sfLoadCounter-\u0027 + token); var options \u003d { retry: true, onSend: function (count) { if (count \u003d\u003d\u003d 3) { that.initToolbar(token); } if (triesCounter) { triesCounter.textContent \u003d count; } }, }; var cancelButton \u003d document.getElementById(\u0027sfLoadCancel-\u0027 + token); if (cancelButton) { addEventListener(cancelButton, \u0027click\u0027, function (event) { event.preventDefault(); options.stop \u003d true; that.hideToolbar(token); }); } newToken \u003d (newToken || token); this.load( \u0027sfwdt\u0027 + token, \u0027http\\u003A\\/\\/localhost\\u003A8080\\/_wdt\\/xxxxxx\u0027.replace(/xxxxxx/, newToken), function(xhr, el) { /* Do nothing in the edge case where the toolbar has already been replaced with a new one */ if (!document.getElementById(\u0027sfToolbarMainContent-\u0027 + newToken)) { return; } /* Evaluate in global scope scripts embedded inside the toolbar */ var i, scripts \u003d [].slice.call(el.querySelectorAll(\u0027script\u0027)); for (i \u003d 0; i \u003c scripts.length; ++i) { if (scripts[i].firstChild) { eval.call({}, scripts[i].firstChild.nodeValue); } } el.style.display \u003d -1 !\u003d\u003d xhr.responseText.indexOf(\u0027sf-toolbarreset\u0027) ? \u0027block\u0027 : \u0027none\u0027; if (el.style.display \u003d\u003d \u0027none\u0027) { return; } that.initToolbar(newToken); /* Handle toolbar-info position */ var toolbarBlocks \u003d [].slice.call(el.querySelectorAll(\u0027.sf-toolbar-block\u0027)); for (i \u003d 0; i \u003c toolbarBlocks.length; ++i) { toolbarBlocks[i].onmouseover \u003d function () { var toolbarInfo \u003d this.querySelectorAll(\u0027.sf-toolbar-info\u0027)[0]; var pageWidth \u003d document.body.clientWidth; var elementWidth \u003d toolbarInfo.offsetWidth; var leftValue \u003d (elementWidth + this.offsetLeft) - pageWidth; var rightValue \u003d (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth; /* Reset right and left value, useful on window resize */ toolbarInfo.style.right \u003d \u0027\u0027; toolbarInfo.style.left \u003d \u0027\u0027; if (elementWidth \u003e pageWidth) { toolbarInfo.style.left \u003d 0; } else if (leftValue \u003e 0 \u0026\u0026 rightValue \u003e 0) { toolbarInfo.style.right \u003d (rightValue * -1) + \u0027px\u0027; } else if (leftValue \u003c 0) { toolbarInfo.style.left \u003d 0; } else { toolbarInfo.style.right \u003d \u00270px\u0027; } }; } renderAjaxRequests(); addEventListener(document.querySelector(\u0027.sf-toolbar-ajax-clear\u0027), \u0027click\u0027, function() { requestStack \u003d []; renderAjaxRequests(); successStreak \u003d 4; document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027).innerHTML \u003d \u0027\u0027; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax\u0027), \u0027mouseenter\u0027, function (event) { var elem \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); elem.scrollTop \u003d elem.scrollHeight; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax \u003e .sf-toolbar-icon\u0027), \u0027click\u0027, function (event) { event.preventDefault(); toggleClass(this.parentNode, \u0027hover\u0027); }); var dumpInfo \u003d document.querySelector(\u0027.sf-toolbar-block-dump .sf-toolbar-info\u0027); if (null !\u003d\u003d dumpInfo) { addEventListener(dumpInfo, \u0027sfbeforedumpcollapse\u0027, function () { dumpInfo.style.minHeight \u003d dumpInfo.getBoundingClientRect().height+\u0027px\u0027; }); addEventListener(dumpInfo, \u0027mouseleave\u0027, function () { dumpInfo.style.minHeight \u003d \u0027\u0027; }); } }, function(xhr) { if (xhr.status !\u003d\u003d 0 \u0026\u0026 !options.stop) { var sfwdt \u003d that.getSfwdt(token); sfwdt.innerHTML \u003d \u0027\\ \u003cdiv class\u003d\"sf-toolbarreset notranslate\"\u003e\\ \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e\u003csvg width\u003d\"26\" height\u003d\"28\" xmlns\u003d\"http://www.w3.org/2000/svg\" version\u003d\"1.1\" x\u003d\"0px\" y\u003d\"0px\" viewBox\u003d\"0 0 26 28\" enable-background\u003d\"new 0 0 26 28\" xml:space\u003d\"preserve\"\u003e\u003cpath fill\u003d\"#FFFFFF\" d\u003d\"M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z\"/\u003e\u003c/svg\u003e\u003c/div\u003e\\ An error occurred while loading the web debug toolbar. \u003ca href\u003d\"http\\u003A\\/\\/localhost\\u003A8080\\/_profiler\\/\u0027 + newToken + \u0027\"\u003eOpen the web profiler.\u003c/a\u003e\\ \u003c/div\u003e\\ \u0027; sfwdt.setAttribute(\u0027class\u0027, \u0027sf-toolbar sf-error-toolbar\u0027); } }, options ); return this; }, toggle: function(selector, elOn, elOff) { var tmp \u003d elOn.style.display, el \u003d document.getElementById(selector); elOn.style.display \u003d elOff.style.display; elOff.style.display \u003d tmp; if (el) { el.style.display \u003d \u0027none\u0027 \u003d\u003d\u003d tmp ? \u0027none\u0027 : \u0027block\u0027; } return this; }, }; })(); } Sfjs.loadToolbar(\u0027bd6f3e\u0027);/*]]\u003e*/\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n", + "statusCode": 200, + "responseTimeInMs": 555, + "elementType": "ZestResponse" + }, + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + }, + { + "rootExpression": { + "length": 98737, + "approx": 1, + "variableName": "response.body", + "not": false, + "elementType": "ZestExpressionLength" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1715667150870, + "cookies": [], + "index": 4, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_class_name__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf3", + "index": 5, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 1, + "fieldName": "class_name_2__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf4", + "index": 6, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 2, + "fieldName": "class_name_1__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf5", + "index": 7, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/product/class_category/1", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \"Chromium\";v\u003d\"124\", \"Google Chrome\";v\u003d\"124\", \"Not-A.Brand\";v\u003d\"99\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"macOS\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "response": { + "url": "https://ec-cube/admin/product/class_category/1", + "headers": "HTTP/1.1 200 OK\r\nDate: Tue, 14 May 2024 06:12:32 GMT\r\nServer: Apache/2.4.59 (Debian)\r\nX-Frame-Options: SAMEORIGIN\r\nX-Powered-By: PHP/8.1.28\r\nCache-Control: max-age\u003d0, must-revalidate, private\r\nX-Debug-Token: 2aaf1c\r\nX-Debug-Token-Link: https://ec-cube/_profiler/2aaf1c\r\nX-Robots-Tag: noindex\r\nExpires: Tue, 14 May 2024 06:12:33 GMT\r\nSet-Cookie: maintenance_token\u003ddeleted; expires\u003dMon, 15 May 2023 06:12:32 GMT; Max-Age\u003d0; path\u003d/; httponly\r\nVary: Accept-Encoding\r\nX-XSS-Protection: 1; mode\u003dblock\r\nX-Content-Type-Options: nosniff\r\nContent-Type: text/html; charset\u003dUTF-8\r\ncontent-length: 114288\r\n\r\n", + "body": "\u003c!doctype html\u003e\n\u003chtml lang\u003d\"ja\"\u003e\n\u003chead\u003e\n \u003cmeta charset\u003d\"utf-8\"\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width, initial-scale\u003d1, shrink-to-fit\u003dno\"\u003e\n \u003cmeta name\u003d\"eccube-csrf-token\" content\u003d\"4a3352e1.J5ghX9v9VYJOLBd2XbDbJhRH4T7JOhsuAuq4Lykw2ow.QfcUHoHJGft6T1gBKtOfTXcOuHW8U1Nrd5npWkJKn-pUzUo8gpIK8xx2Qg\"\u003e\n \u003ctitle\u003e商品管理 規格分類管理 - EC-CUBE SHOP\u003c/title\u003e\n \u003clink rel\u003d\"icon\" href\u003d\"/html/template/admin/assets/img/favicon.ico\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/all.css\" integrity\u003d\"sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/v4-shims.css\" integrity\u003d\"sha384-lmquXrF9qn7mMo6iRQ662vN44vTTVUBpcdtDFWPxD9uFPqC/aMn6pcQrTTupiv1A\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/bootstrap.css\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/app.css\"\u003e\n \u003cscript src\u003d\"/html/bundle/admin.bundle.js\"\u003e\u003c/script\u003e\n \u003cstyle type\u003d\"text/css\"\u003e\n .list-group-item:hover {\n z-index: inherit;\n }\n \u003c/style\u003e\n \u003cscript\u003e\n $(function() {\n $.ajaxSetup({\n \u0027headers\u0027: {\n \u0027ECCUBE-CSRF-TOKEN\u0027: $(\u0027meta[name\u003d\"eccube-csrf-token\"]\u0027).attr(\u0027content\u0027)\n }\n });\n });\n \u003c/script\u003e\n \u003c/head\u003e\n\u003cbody id\u003d\"page_admin_product_class_category\"\u003e\n\u003cheader class\u003d\"c-headerBar\"\u003e\n \u003cdiv class\u003d\"c-headerBar__container\"\u003e\n \u003cdiv class\u003d\"c-headerBar__logo\"\u003e\n \u003ch1\u003e\u003cimg src\u003d\"/html/template/admin/assets/img/logo@2x.png\"\u003e\u003c/h1\u003e\n \u003c/div\u003e\n \u003ca class\u003d\"c-headerBar__toggleBtn\"\u003e\u003ci class\u003d\"fa fa-bars\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__shopTitle\" href\u003d\"https://ec-cube/\" target\u003d\"_blank\"\u003e\u003cspan\u003eEC-CUBE SHOP\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-right\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__userMenu\"\n data-bs-container\u003d\"body\"\n data-bs-toggle\u003d\"popover\"\n data-bs-placement\u003d\"bottom\"\n title\u003d\"最終ログイン\"\n data-bs-content\u003d\"\u0026lt;p\u0026gt;2024/05/14 15:11\u0026lt;/p\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/change_password\u0027 class\u003d\u0027btn btn-ec-regular w-100 mb-2\u0027\u0026gt;パスワード変更\u0026lt;/a\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/logout\u0027 class\u003d\u0027btn btn-ec-sub w-100\u0027\u0026gt;ログアウト\u0026lt;/a\u0026gt;\"\n data-bs-html\u003d\"true\"\u003e\u003ci class\u003d\"fa fa-user-circle\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003cspan\u003e管理者 様\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-down\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003c/div\u003e\n\u003c/header\u003e\n\u003cdiv class\u003d\"c-container\"\u003e\n \u003cdiv class\u003d\"c-mainNavArea\"\u003e\n \u003cnav\u003e\n \u003cul class\u003d\"c-mainNavArea__nav\"\u003e\n \u003c!-- ホーム --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\" href\u003d\"https://ec-cube/admin/\"\u003e\n \u003ci class\u003d\"fa fa-home fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eホーム\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-product\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-product\"\u003e\n \u003ci class\u003d\"fa fa-cube fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e商品管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse show\" id\u003d\"nav-product\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product\"\u003e\n \u003cspan\u003e商品一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product/new\"\u003e\n \u003cspan\u003e商品登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name\" class\u003d\"is-active\"\u003e\n \u003cspan\u003e規格管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category\"\u003e\n \u003cspan\u003eカテゴリ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/tag\"\u003e\n \u003cspan\u003eタグ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product_csv_upload\"\u003e\n \u003cspan\u003e商品CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name_csv_upload\"\u003e\n \u003cspan\u003e規格CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category_csv_upload\"\u003e\n \u003cspan\u003e規格分類CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category_csv_upload\"\u003e\n \u003cspan\u003eカテゴリCSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-order\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-order\"\u003e\n \u003ci class\u003d\"fa fa-shopping-cart fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e受注管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-order\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order\"\u003e\n \u003cspan\u003e受注一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/new\"\u003e\n \u003cspan\u003e受注登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/shipping_csv_upload\"\u003e\n \u003cspan\u003e出荷CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-customer\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-customer\"\u003e\n \u003ci class\u003d\"fa fa-users fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e会員管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-customer\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer\"\u003e\n \u003cspan\u003e会員一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer/new\"\u003e\n \u003cspan\u003e会員登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-content\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-content\"\u003e\n \u003ci class\u003d\"fa fa-file-text-o fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eコンテンツ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-content\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/news\"\u003e\n \u003cspan\u003e新着情報管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/file_manager\"\u003e\n \u003cspan\u003eファイル管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/layout\"\u003e\n \u003cspan\u003eレイアウト管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page\"\u003e\n \u003cspan\u003eページ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/css\"\u003e\n \u003cspan\u003eCSS管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/js\"\u003e\n \u003cspan\u003eJavaScript管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/block\"\u003e\n \u003cspan\u003eブロック管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/cache\"\u003e\n \u003cspan\u003eキャッシュ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/maintenance\"\u003e\n \u003cspan\u003eメンテナンス管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-setting\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-setting\"\u003e\n \u003ci class\u003d\"fa fa-cog fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-setting\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-shop\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-shop\"\u003e\n \u003cspan\u003e店舗設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-shop\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop\"\u003e\n \u003cspan\u003e基本設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tradelaw\"\u003e\n \u003cspan\u003e特定商取引法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page/19/edit?return\u003dagreement\"\u003e\n \u003cspan\u003e利用規約設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/payment\"\u003e\n \u003cspan\u003e支払方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/delivery\"\u003e\n \u003cspan\u003e配送方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tax\"\u003e\n \u003cspan\u003e税率設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/mail\"\u003e\n \u003cspan\u003eメール設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/csv\"\u003e\n \u003cspan\u003eCSV出力項目設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/order_status\"\u003e\n \u003cspan\u003e受注対応状況設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/calendar\"\u003e\n \u003cspan\u003e定休日カレンダー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-system\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-system\"\u003e\n \u003cspan\u003eシステム設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-system\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/member\"\u003e\n \u003cspan\u003eメンバー管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/authority\"\u003e\n \u003cspan\u003e権限管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/security\"\u003e\n \u003cspan\u003eセキュリティ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/login_history\"\u003e\n \u003cspan\u003eログイン履歴\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/log\"\u003e\n \u003cspan\u003eログ表示\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/masterdata\"\u003e\n \u003cspan\u003eマスタデータ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/system\"\u003e\n \u003cspan\u003eシステム情報\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-store\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-store\"\u003e\n \u003ci class\u003d\"fa fa-plug fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eオーナーズストア\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-store\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-plugin\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-plugin\"\u003e\n \u003cspan\u003eプラグイン\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-plugin\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/api/search\"\u003e\n \u003cspan\u003eプラグインを探す\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin\"\u003e\n \u003cspan\u003eプラグイン一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-template\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-template\"\u003e\n \u003cspan\u003eテンプレート\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-template\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template\"\u003e\n \u003cspan\u003eテンプレート一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template/install\"\u003e\n \u003cspan\u003eアップロード\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/authentication_setting\"\u003e\n \u003cspan\u003e認証キー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c!-- 情報 --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\" data-bs-toggle\u003d\"collapse\" href\u003d\"#others\" aria-expanded\u003d\"false\"\n aria-controls\u003d\"others\"\u003e\n \u003ci class\u003d\"fa fa-info-circle fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e情報\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"others\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e公式サイト\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://xoops.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e開発コミュニティ\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"http://doc4.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003eドキュメント\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net/manual/ec-cube4/\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e管理・運用マニュアル\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n\u003c/nav\u003e\n\n \u003c/div\u003e\n \u003cdiv class\u003d\"c-curtain\"\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"c-contentsArea\"\u003e\n \u003cdiv class\u003d\"c-pageTitle\"\u003e\n \u003cdiv class\u003d\"c-pageTitle__titles\"\u003e\n \u003ch2 class\u003d\"c-pageTitle__title\"\u003e規格分類管理\u003c/h2\u003e\u003cspan class\u003d\"c-pageTitle__subTitle\"\u003e商品管理\u003c/span\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \n\n\n\n\n \n \u003cdiv class\u003d\"alert alert-danger alert-dismissible fade show m-3\" role\u003d\"alert\"\u003e\n \u003ci class\u003d\"fa fa-warning fa-lg me-2\"\u003e\u003c/i\u003e\n \u003cspan class\u003d\"fw-bold\"\u003eデバッグモードが有効になっています。\u003c/span\u003e\n \u003cbutton class\u003d\"btn-close\" type\u003d\"button\" data-bs-dismiss\u003d\"alert\" aria-label\u003d\"Close\"\u003e\n \u003c/button\u003e\n \u003c/div\u003e\n\n\n \u003cdiv class\u003d\"c-contentsArea__cols\"\u003e\n \u003cdiv class\u003d\"c-contentsArea__primaryCol\"\u003e\n \u003cdiv class\u003d\"c-primaryCol\"\u003e\n \u003cdiv class\u003d\"card rounded border-0 mb-4\"\u003e\n \u003cdiv class\u003d\"card-header\"\u003e\n \u003cdiv class\u003d\"row\"\u003e\n \u003cdiv class\u003d\"col\"\u003e\u003cspan class\u003d\"card-title\"\u003e規格名\u003c/span\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv id\u003d\"ex-class_category\" class\u003d\"card-body\"\u003e\n \u003cdiv class\u003d\"row mb-2\"\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cspan\u003e規格名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cspan\u003eフレーバー\u003c/span\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"row mb-2\"\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cspan\u003eCUBE用味\u003c/span\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"c-outsideBlock\"\u003e\n \u003cdiv class\u003d\"c-outsideBlock__contents mb-2\"\u003e\n \u003cdiv class\u003d\"row\"\u003e\n \u003cdiv class\u003d\"col-12 text-right\"\u003e\n \u003cdiv class\u003d\"btn-group\" role\u003d\"group\"\u003e\n \u003ca class\u003d\"btn btn-ec-regular\" href\u003d\"https://ec-cube/admin/product/class_category/export/1\"\u003e\n \u003ci class\u003d\"fa fa-cloud-download mr-1 text-secondary\"\u003e\u003c/i\u003e\n \u003cspan\u003eCSVダウンロード\u003c/span\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-regular\" href\u003d\"https://ec-cube/admin/setting/shop/csv/7\"\u003e\n \u003ci class\u003d\"fa fa-cog mr-1 text-secondary\"\u003e\u003c/i\u003e\n \u003cspan\u003eCSV出力項目設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"card rounded border-0 mb-4\"\u003e\n \u003cdiv class\u003d\"card-header\"\u003e\u003cspan class\u003d\"card-title\"\u003e規格分類\u003c/span\u003e\u003c/div\u003e\n \u003cdiv id\u003d\"ex-class_category-edit\" class\u003d\"card-body p-0\"\u003e\n \u003cdiv class\u003d\"card rounded border-0\"\u003e\n\n \u003cul class\u003d\"list-group list-group-flush sortable-container\"\u003e\n \u003cli class\u003d\"list-group-item\"\u003e\n \u003cform role\u003d\"form\" class\u003d\"row\" name\u003d\"form1\" id\u003d\"form1\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_category/1\"\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\n \u003cspan\u003e分類名\u003c/span\u003e\n \u003cspan class\u003d\"badge bg-primary ms-1\"\u003e必須\u003c/span\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-3 me-2\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"admin_class_category__token\" name\u003d\"admin_class_category[_token]\" value\u003d\"ee0e4c393b0d99a6320848.tayubCKQThAswuezsxLV0U2xGw37vjRcPGEQc7XfP1s.59WbH23cKyd4koz_4yGZsjrZT37KhlMdZDJPFeOxeXba1NsUFtwiVgGb0w\" /\u003e\n \u003cinput type\u003d\"text\" id\u003d\"admin_class_category_name\" name\u003d\"admin_class_category[name]\" required\u003d\"required\" class\u003d\"form-control\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-3\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"admin_class_category_backend_name\" name\u003d\"admin_class_category[backend_name]\" class\u003d\"form-control\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-regular\" type\u003d\"submit\"\u003e新規作成\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"list-group-item\"\u003e\n \u003cdiv class\u003d\"row\"\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cstrong\u003e\u0026nbsp;\u003c/strong\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cstrong\u003eID\u003c/strong\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-1\"\u003e\u003cstrong\u003e規格分類\u003c/strong\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/li\u003e\n \u003cli id\u003d\"ex-class_category-7\" class\u003d\"list-group-item sortable-item\" data-classname-id\u003d\"1\" data-id\u003d\"7\" data-sort-no\u003d\"4\"\u003e\n \u003cdiv class\u003d\"row justify-content-around mode-view\"\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e\u003ci class\u003d\"fa fa-bars text-ec-gray\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e7\u003c/div\u003e\n \u003cdiv class\u003d\"col d-flex align-items-center\"\u003eテスト [管理名:]\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto text-end\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-up disabled\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"上へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-up fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-down \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"下へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-down fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-edit\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"編集\"\u003e\n \u003ci class\u003d\"fa fa-pencil fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-visible\" href\u003d\"https://ec-cube/admin/product/class_category/1/7/visibility\"\n data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"表示中 | 非表示にする\"\n data-confirm\u003d\"false\" data-method\u003d\"put\" token-for-anchor\u003d\u0027205cc11aa335cf4dab119dcae9396.PCsGcdFgX68rL2lCaPz4z75RRncfMlxclLZneKDNuaM.WkQzMItUE9YfTCY1H5-8pN0YHzxqWxQZ4cU2Dcu3_MVPfm0SiA8A3nl1PA\u0027 \u003e\n \u003ci class\u003d\"fa fa-toggle-on fa-lg text-secondary\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003cdiv class\u003d\"d-inline-block me-2\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"削除\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon\" data-bs-toggle\u003d\"modal\" data-bs-target\u003d\"#DeleteModal\"\n data-url\u003d\"https://ec-cube/admin/product/class_category/1/7/delete\"\n data-message\u003d\"この操作はあとから取り消すことができません。「テスト」を削除してよろしいですか?\"\u003e\n \u003ci class\u003d\"fa fa-close fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cform class\u003d\"row d-none mode-edit\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_category/1/7/edit\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"class_category_7__token\" name\u003d\"class_category_7[_token]\" value\u003d\"f86bb30bdca.ihmKhxsQgz48MD36pdNFBkVXaaTZjMHUrqqEgaqdVas.wV_Cxm4p5FhQfmm26odxPiIRBOzr06enxp_W49PMFN7ETOjwcULbCkhIZA\" /\u003e\n \u003cdiv class\u003d\"col-3 me-2\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_category_7_name\" name\u003d\"class_category_7[name]\" required\u003d\"required\" data-origin-value\u003d\"テスト\" class\u003d\"form-control\" value\u003d\"テスト\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_category_7_backend_name\" name\u003d\"class_category_7[backend_name]\" data-origin-value\u003d\"\" class\u003d\"form-control\" /\u003e\n \n \u003c/div\u003e\n \u003cselect id\u003d\"class_category_7_visible\" name\u003d\"class_category_7[visible]\" class\u003d\"d-none form-select\"\u003e\u003coption value\u003d\"1\" selected\u003d\"selected\"\u003ecommon.label.display\u003c/option\u003e\u003coption value\u003d\"0\"\u003ecommon.label.hide\u003c/option\u003e\u003c/select\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" type\u003d\"submit\"\u003e決定\u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub action-edit-cancel\" type\u003d\"button\"\u003eキャンセル\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003cli id\u003d\"ex-class_category-1\" class\u003d\"list-group-item sortable-item\" data-classname-id\u003d\"1\" data-id\u003d\"1\" data-sort-no\u003d\"3\"\u003e\n \u003cdiv class\u003d\"row justify-content-around mode-view\"\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e\u003ci class\u003d\"fa fa-bars text-ec-gray\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e1\u003c/div\u003e\n \u003cdiv class\u003d\"col d-flex align-items-center\"\u003eチョコ [管理名:チョコ]\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto text-end\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-up \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"上へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-up fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-down \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"下へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-down fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-edit\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"編集\"\u003e\n \u003ci class\u003d\"fa fa-pencil fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-visible\" href\u003d\"https://ec-cube/admin/product/class_category/1/1/visibility\"\n data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"表示中 | 非表示にする\"\n data-confirm\u003d\"false\" data-method\u003d\"put\" token-for-anchor\u003d\u002756e00b92127b82231d1a.E-JK7jvlIFDmF-htTAREmVPWZ9A0NZW68-FJT0EJbw4.dY1_r2HRbCnSdKcaO2cA8jCfPptBXN3_hpIYOipzKmhgtyGNYop_IbRNvQ\u0027 \u003e\n \u003ci class\u003d\"fa fa-toggle-on fa-lg text-secondary\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003cdiv class\u003d\"d-inline-block me-2\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"削除\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon\" data-bs-toggle\u003d\"modal\" data-bs-target\u003d\"#DeleteModal\"\n data-url\u003d\"https://ec-cube/admin/product/class_category/1/1/delete\"\n data-message\u003d\"この操作はあとから取り消すことができません。「チョコ」を削除してよろしいですか?\"\u003e\n \u003ci class\u003d\"fa fa-close fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cform class\u003d\"row d-none mode-edit\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_category/1/1/edit\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"class_category_1__token\" name\u003d\"class_category_1[_token]\" value\u003d\"660af7cbe.KJcADIyZucq5tbQsZGrS0wLU-eq4Uod5Cx5FdFDyTxg.e69xPdXg1pPN_t5JHiCrlHOzm6neKM4WPy91HifHBEJj52VPxuP3qdjQ9Q\" /\u003e\n \u003cdiv class\u003d\"col-3 me-2\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_category_1_name\" name\u003d\"class_category_1[name]\" required\u003d\"required\" data-origin-value\u003d\"チョコ\" class\u003d\"form-control\" value\u003d\"チョコ\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_category_1_backend_name\" name\u003d\"class_category_1[backend_name]\" data-origin-value\u003d\"チョコ\" class\u003d\"form-control\" value\u003d\"チョコ\" /\u003e\n \n \u003c/div\u003e\n \u003cselect id\u003d\"class_category_1_visible\" name\u003d\"class_category_1[visible]\" class\u003d\"d-none form-select\"\u003e\u003coption value\u003d\"1\" selected\u003d\"selected\"\u003ecommon.label.display\u003c/option\u003e\u003coption value\u003d\"0\"\u003ecommon.label.hide\u003c/option\u003e\u003c/select\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" type\u003d\"submit\"\u003e決定\u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub action-edit-cancel\" type\u003d\"button\"\u003eキャンセル\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003cli id\u003d\"ex-class_category-2\" class\u003d\"list-group-item sortable-item\" data-classname-id\u003d\"1\" data-id\u003d\"2\" data-sort-no\u003d\"2\"\u003e\n \u003cdiv class\u003d\"row justify-content-around mode-view\"\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e\u003ci class\u003d\"fa fa-bars text-ec-gray\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e2\u003c/div\u003e\n \u003cdiv class\u003d\"col d-flex align-items-center\"\u003e抹茶 [管理名:抹茶]\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto text-end\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-up \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"上へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-up fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-down \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"下へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-down fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-edit\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"編集\"\u003e\n \u003ci class\u003d\"fa fa-pencil fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-visible\" href\u003d\"https://ec-cube/admin/product/class_category/1/2/visibility\"\n data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"表示中 | 非表示にする\"\n data-confirm\u003d\"false\" data-method\u003d\"put\" token-for-anchor\u003d\u002798a02820f595b6e.zkKZn-8y4BWZK0TFOELtbZLcMO8YsRDycwTFNLe1d2E.qC2s3rUGrGytSAuyTyGpBvGVaaRt2Fi3BneUQdzPMge9F_L8tl2_ZMtxEQ\u0027 \u003e\n \u003ci class\u003d\"fa fa-toggle-on fa-lg text-secondary\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003cdiv class\u003d\"d-inline-block me-2\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"削除\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon\" data-bs-toggle\u003d\"modal\" data-bs-target\u003d\"#DeleteModal\"\n data-url\u003d\"https://ec-cube/admin/product/class_category/1/2/delete\"\n data-message\u003d\"この操作はあとから取り消すことができません。「抹茶」を削除してよろしいですか?\"\u003e\n \u003ci class\u003d\"fa fa-close fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cform class\u003d\"row d-none mode-edit\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_category/1/2/edit\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"class_category_2__token\" name\u003d\"class_category_2[_token]\" value\u003d\"dc9.oqsNfRH4QUiZm58kp8ZPTe8Svv7oGLPORAQ-TRRVItk.yOg1BWO3A3jf2qle1YAVKplliYjdX_2NNlYONHMzaevG50oEWasYHOzvxg\" /\u003e\n \u003cdiv class\u003d\"col-3 me-2\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_category_2_name\" name\u003d\"class_category_2[name]\" required\u003d\"required\" data-origin-value\u003d\"抹茶\" class\u003d\"form-control\" value\u003d\"抹茶\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_category_2_backend_name\" name\u003d\"class_category_2[backend_name]\" data-origin-value\u003d\"抹茶\" class\u003d\"form-control\" value\u003d\"抹茶\" /\u003e\n \n \u003c/div\u003e\n \u003cselect id\u003d\"class_category_2_visible\" name\u003d\"class_category_2[visible]\" class\u003d\"d-none form-select\"\u003e\u003coption value\u003d\"1\" selected\u003d\"selected\"\u003ecommon.label.display\u003c/option\u003e\u003coption value\u003d\"0\"\u003ecommon.label.hide\u003c/option\u003e\u003c/select\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" type\u003d\"submit\"\u003e決定\u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub action-edit-cancel\" type\u003d\"button\"\u003eキャンセル\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003cli id\u003d\"ex-class_category-3\" class\u003d\"list-group-item sortable-item\" data-classname-id\u003d\"1\" data-id\u003d\"3\" data-sort-no\u003d\"1\"\u003e\n \u003cdiv class\u003d\"row justify-content-around mode-view\"\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e\u003ci class\u003d\"fa fa-bars text-ec-gray\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e3\u003c/div\u003e\n \u003cdiv class\u003d\"col d-flex align-items-center\"\u003eバニラ [管理名:バニラ]\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto text-end\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-up \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"上へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-up fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-down disabled\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"下へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-down fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-edit\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"編集\"\u003e\n \u003ci class\u003d\"fa fa-pencil fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-visible\" href\u003d\"https://ec-cube/admin/product/class_category/1/3/visibility\"\n data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"表示中 | 非表示にする\"\n data-confirm\u003d\"false\" data-method\u003d\"put\" token-for-anchor\u003d\u0027ad8eb8f4c63.CiWX-eB9QZHjKKLqBfuUYkHiqjc35kG8mC22IuukIPc.bEqiuLpJDejXS-2dcpjQCSKr83xCjwn57V7nV4DeZZF5cPyauRIe4LFy9w\u0027 \u003e\n \u003ci class\u003d\"fa fa-toggle-on fa-lg text-secondary\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003cdiv class\u003d\"d-inline-block me-2\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"削除\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon\" data-bs-toggle\u003d\"modal\" data-bs-target\u003d\"#DeleteModal\"\n data-url\u003d\"https://ec-cube/admin/product/class_category/1/3/delete\"\n data-message\u003d\"この操作はあとから取り消すことができません。「バニラ」を削除してよろしいですか?\"\u003e\n \u003ci class\u003d\"fa fa-close fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cform class\u003d\"row d-none mode-edit\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_category/1/3/edit\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"class_category_3__token\" name\u003d\"class_category_3[_token]\" value\u003d\"b6b0073bd5a76.7EJC9p4A8GnuhNXCQYZbDZQ4XiZzz_oBXS1bB8vfV54.vDgopq81k1285aeUA8gZTv90NEgCuplSF25oUIqNEsreIAPGrUeRB7TW4Q\" /\u003e\n \u003cdiv class\u003d\"col-3 me-2\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_category_3_name\" name\u003d\"class_category_3[name]\" required\u003d\"required\" data-origin-value\u003d\"バニラ\" class\u003d\"form-control\" value\u003d\"バニラ\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_category_3_backend_name\" name\u003d\"class_category_3[backend_name]\" data-origin-value\u003d\"バニラ\" class\u003d\"form-control\" value\u003d\"バニラ\" /\u003e\n \n \u003c/div\u003e\n \u003cselect id\u003d\"class_category_3_visible\" name\u003d\"class_category_3[visible]\" class\u003d\"d-none form-select\"\u003e\u003coption value\u003d\"1\" selected\u003d\"selected\"\u003ecommon.label.display\u003c/option\u003e\u003coption value\u003d\"0\"\u003ecommon.label.hide\u003c/option\u003e\u003c/select\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" type\u003d\"submit\"\u003e決定\u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub action-edit-cancel\" type\u003d\"button\"\u003eキャンセル\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c!-- 削除モーダル --\u003e\n \u003cdiv class\u003d\"modal fade\" id\u003d\"DeleteModal\" tabindex\u003d\"-1\" role\u003d\"dialog\"\n aria-labelledby\u003d\"DeleteModal\" aria-hidden\u003d\"true\"\u003e\n \u003cdiv class\u003d\"modal-dialog\" role\u003d\"document\"\u003e\n \u003cdiv class\u003d\"modal-content\"\u003e\n \u003cdiv class\u003d\"modal-header\"\u003e\n \u003ch5 class\u003d\"modal-title fw-bold\"\u003e\n 削除します\n \u003c/h5\u003e\n \u003cbutton class\u003d\"btn-close\" type\u003d\"button\" data-bs-dismiss\u003d\"modal\" aria-label\u003d\"Close\"\u003e\n\n \u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"modal-body text-start\"\u003e\n \u003cp class\u003d\"text-start modal-message\"\u003e\u003c!-- jsでメッセージを挿入 --\u003e\u003c/p\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"modal-footer\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub\" type\u003d\"button\" data-bs-dismiss\u003d\"modal\"\u003e\n キャンセル\n \u003c/button\u003e\n \u003ca class\u003d\"btn btn-ec-delete\" href\u003d\"#\" token-for-anchor\u003d\u002740493c54b5a489b5a6c5f9d9.d9dNBzVbgk7npk2tPn1YYCffA2Hbx7TsnU09rcip3SY.Ebh4Rm9vzjfTxQLaSR4cC0SWWiqurvyp6D5s2KPTmEAEgiZkbDTdP7X8GA\u0027\n data-method\u003d\"delete\" data-confirm\u003d\"false\"\u003e\n 削除\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cp\u003e項目の順番はドラッグ&ドロップでも変更可能です。\u003c/p\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"c-conversionArea\"\u003e\n \u003cdiv class\u003d\"c-conversionArea__container\"\u003e\n \u003cdiv class\u003d\"row justify-content-between align-items-center\"\u003e\n \u003cdiv class\u003d\"col-6\"\u003e\n \u003cdiv class\u003d\"c-conversionArea__leftBlockItem\"\u003e\n \u003ca class\u003d\"c-baseLink\" href\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003ci class\u003d\"fa fa-backward\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003cspan\u003e規格管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-6\"\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003c/div\u003e\n\u003c/div\u003e\n\u003cscript\u003e\nvar eccube_lang \u003d {\n \u0027common.delete_confirm\u0027: \"削除してもよろしいですか?\",\n \u0027front.product.out_of_stock\u0027: \"ただいま品切れ中です。\",\n};\n\u003c/script\u003e\n\u003cscript src\u003d\"/html/template/admin/assets/js/function.js\"\u003e\u003c/script\u003e\n \u003cscript type\u003d\"text/javascript\"\u003e\n $(function() {\n // 初期表示時のsort noを保持.\n var oldSortNos \u003d [];\n var sortable \u003d $(\u0027.sortable-item\u0027);\n sortable.each(function() {\n oldSortNos.push(this.dataset.sortNo);\n });\n oldSortNos.sort(function(a, b) {\n return a - b;\n }).reverse();\n // 並び替え後にsort noを更新\n var updateSortNo \u003d function() {\n var newSortNos \u003d {};\n var i \u003d 0;\n $(\u0027.sortable-item\u0027).each(function() {\n newSortNos[this.dataset.id] \u003d oldSortNos[i];\n i++;\n });\n $.ajax({\n url: \u0027https://ec-cube/admin/product/class_category/sort_no/move\u0027,\n type: \u0027POST\u0027,\n data: newSortNos\n }).always(function() {\n $(\".modal-backdrop\").remove();\n });\n };\n // 最初と最後の↑↓を再描画\n var redrawDisableAllows \u003d function() {\n var items \u003d $(\u0027.sortable-item\u0027);\n items.find(\u0027a\u0027).removeClass(\u0027disabled\u0027);\n items.first().find(\u0027a.action-up\u0027).addClass(\u0027disabled\u0027);\n items.last().find(\u0027a.action-down\u0027).addClass(\u0027disabled\u0027);\n };\n // オーバレイ後, 表示順の更新を行う\n var moveSortNo \u003d function() {\n $(\u0027body\u0027).append($(\u0027\u003cdiv class\u003d\"modal-backdrop show\"\u003e\u003c/div\u003e\u0027));\n updateSortNo();\n redrawDisableAllows();\n };\n // Drag and Drop\n $(\u0027.sortable-container\u0027).sortable({\n items: \u0027\u003e .sortable-item\u0027,\n cursor: \u0027move\u0027,\n update: function(e, ui) {\n moveSortNo();\n }\n });\n // Up\n sortable.on(\u0027click\u0027, \u0027a.action-up\u0027, function(e) {\n e.preventDefault();\n var current \u003d $(this).parents(\u0027li\u0027);\n if (current.prev().hasClass(\u0027sortable-item\u0027)) {\n current.prev().before(current);\n moveSortNo();\n }\n });\n // Down\n sortable.on(\u0027click\u0027, \u0027a.action-down\u0027, function(e) {\n e.preventDefault();\n var current \u003d $(this).parents(\u0027li\u0027);\n if (current.next().hasClass(\u0027sortable-item\u0027)) {\n current.next().after(current);\n moveSortNo();\n }\n });\n\n sortable.on(\u0027click\u0027, \u0027a.action-edit\u0027, function(e) {\n e.preventDefault();\n var current \u003d $(this).parents(\u0027li\u0027);\n current.find(\u0027.mode-view\u0027).addClass(\u0027d-none\u0027);\n current.find(\u0027.mode-edit\u0027).removeClass(\u0027d-none\u0027);\n });\n sortable.on(\u0027click\u0027, \u0027button.action-edit-cancel\u0027, function(e) {\n location.href \u003d \"https://ec-cube/admin/product/class_category/1\";\n });\n sortable.find(\u0027.is-invalid\u0027).each(function(e) {\n var current \u003d $(this).parents(\u0027li\u0027);\n current.find(\u0027.mode-view\u0027).addClass(\u0027d-none\u0027);\n current.find(\u0027.mode-edit\u0027).removeClass(\u0027d-none\u0027);\n });\n\n // 削除モーダルのhrefとmessageの変更\n $(\u0027#DeleteModal\u0027).on(\u0027shown.bs.modal\u0027, function(event) {\n var target \u003d $(event.relatedTarget);\n // hrefの変更\n $(this).find(\u0027[data-method\u003d\"delete\"]\u0027).attr(\u0027href\u0027, target.data(\u0027url\u0027));\n\n // messageの変更\n $(this).find(\u0027p.modal-message\u0027).text(target.data(\u0027message\u0027));\n });\n\n });\n \u003c/script\u003e\n\n\u003cdiv id\u003d\"sfwdt2aaf1c\" class\u003d\"sf-toolbar sf-display-none\" role\u003d\"region\" aria-label\u003d\"Symfony Web Debug Toolbar\"\u003e \u003c!-- START of Symfony Web Debug Toolbar --\u003e\u003cdiv id\u003d\"sfMiniToolbar-2aaf1c\" class\u003d\"sf-minitoolbar\" data-no-turbolink data-turbo\u003d\"false\"\u003e \u003cbutton type\u003d\"button\" title\u003d\"Show Symfony toolbar\" id\u003d\"sfToolbarMiniToggler-2aaf1c\" accesskey\u003d\"D\" aria-expanded\u003d\"false\" aria-controls\u003d\"sfToolbarMainContent-2aaf1c\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarClearer-2aaf1c\" class\u003d\"sf-toolbar-clearer\"\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarMainContent-2aaf1c\" class\u003d\"sf-toolbarreset notranslate clear-fix\" data-no-turbolink\u003e \u003cdiv class\u003d\"sf-toolbar-block sf-toolbar-block-request sf-toolbar-status-normal \" \u003e \u003ca href\u003d\"https://ec-cube/_profiler/2aaf1c?panel\u003drequest\"\u003e \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003cspan class\u003d\"sf-toolbar-value sf-toolbar-ajax-request-counter\"\u003e Loading\u0026hellip; \u003c/span\u003e \u003c/div\u003e \u003c/a\u003e \u003cdiv class\u003d\"sf-toolbar-info\"\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003eLoading the web debug toolbar\u0026hellip;\u003c/b\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e Attempt #\u003cspan id\u003d\"sfLoadCounter-2aaf1c\"\u003e\u003c/span\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003e \u003cbutton class\u003d\"sf-cancel-button\" type\u003d\"button\" id\u003d\"sfLoadCancel-2aaf1c\" title\u003d\"Cancel loading\"\u003eCancel\u003c/button\u003e \u003c/b\u003e \u003c/div\u003e \u003c/div\u003e\u003c/div\u003e \u003cbutton class\u003d\"hide-button\" type\u003d\"button\" id\u003d\"sfToolbarHideButton-2aaf1c\" title\u003d\"Close Toolbar\" accesskey\u003d\"D\" aria-expanded\u003d\"true\" aria-controls\u003d\"sfToolbarMainContent-2aaf1c\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" data-icon-name\u003d\"icon-tabler-x\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\" stroke-width\u003d\"1.5\" stroke\u003d\"currentColor\" fill\u003d\"none\" stroke-linecap\u003d\"round\" stroke-linejoin\u003d\"round\"\u003e \u003cpath stroke\u003d\"none\" d\u003d\"M0 0h24v24H0z\" fill\u003d\"none\"\u003e\u003c/path\u003e \u003cline x1\u003d\"18\" y1\u003d\"6\" x2\u003d\"6\" y2\u003d\"18\"\u003e\u003c/line\u003e \u003cline x1\u003d\"6\" y1\u003d\"6\" x2\u003d\"18\" y2\u003d\"18\"\u003e\u003c/line\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003c!-- END of Symfony Web Debug Toolbar --\u003e\u003c/div\u003e\u003cstyle nonce\u003d\"1eddbd862db1b4a0af1cd52a59d8b26a\"\u003e .sf-toolbarreset { --sf-toolbar-font-family-system: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --sf-toolbar-font-family-monospace: \"Ubuntu Mono\", \"JetBrains Mono\", ui-monospace, \"Roboto Mono\", SFMono-Regular, Menlo, Monaco, Consolas,\"Liberation Mono\", \"Courier New\", monospace; --sf-toolbar-white: #fff; --sf-toolbar-black: #000; --sf-toolbar-gray-50: #fafafa; --sf-toolbar-gray-100: #f5f5f5; --sf-toolbar-gray-200: #e5e5e5; --sf-toolbar-gray-300: #d4d4d4; --sf-toolbar-gray-400: #a3a3a3; --sf-toolbar-gray-500: #737373; --sf-toolbar-gray-600: #525252; --sf-toolbar-gray-700: #404040; --sf-toolbar-gray-800: #262626; --sf-toolbar-gray-900: #171717; --sf-toolbar-red-50: #FEFBFC; --sf-toolbar-red-100: #FCE9ED; --sf-toolbar-red-200: #F5B8C5; --sf-toolbar-red-300: #EF869C; --sf-toolbar-red-400: #E85574; --sf-toolbar-red-500: #E1244B; --sf-toolbar-red-600: #B41939; --sf-toolbar-red-700: #83122A; --sf-toolbar-red-800: #510B1A; --sf-toolbar-red-900: #20040A; --sf-toolbar-yellow-50: #fef7e1; --sf-toolbar-yellow-100: #fef2cd; --sf-toolbar-yellow-200: #fde496; --sf-toolbar-yellow-300: #fcd55f; --sf-toolbar-yellow-400: #fbc728; --sf-toolbar-yellow-500: #e6af05; --sf-toolbar-yellow-600: #af8503; --sf-toolbar-yellow-700: #785b02; --sf-toolbar-yellow-800: #413101; --sf-toolbar-yellow-900: #0a0800; --sf-toolbar-green-50: #eff5f5; --sf-toolbar-green-100: #deeaea; --sf-toolbar-green-200: #bbd5d5; --sf-toolbar-green-300: #99bfbf; --sf-toolbar-green-400: #76a9a9; --sf-toolbar-green-500: #598e8e; --sf-toolbar-green-600: #436c6c; --sf-toolbar-green-700: #2e4949; --sf-toolbar-green-800: #182727; --sf-toolbar-green-900: #030404;}.sf-minitoolbar { --sf-toolbar-gray-800: #262626; background-color: var(--sf-toolbar-gray-800); border-top-left-radius: 4px; bottom: 0; box-sizing: border-box; display: none; height: 36px; padding: 6px; position: fixed; right: 0; z-index: 99999;}.sf-minitoolbar button { background-color: transparent; padding: 0; border: none;}.sf-minitoolbar svg,.sf-minitoolbar img { --sf-toolbar-gray-200: #e5e5e5; color: var(--sf-toolbar-gray-200); max-height: 24px; max-width: 24px; display: inline;}.sf-toolbar-clearer { clear: both; height: 36px;}.sf-display-none { display: none;}.sf-toolbarreset *:not(svg rect) { box-sizing: content-box; vertical-align: baseline; letter-spacing: normal; width: auto;}.sf-toolbarreset { background-color: var(--sf-toolbar-gray-800); bottom: 0; box-shadow: inset 0 1px 0 var(--sf-toolbar-black), 0 -1px 0 rgba(0, 0, 0, 0.5); color: var(--sf-toolbar-gray-200); font: 11px var(--sf-toolbar-font-family-system); left: 0; margin: 0; padding: 0 36px 0 0; position: fixed; right: 0; text-align: left; text-transform: none; z-index: 99999; direction: ltr; /* neutralize the aliasing defined by external CSS styles */ -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto;}.sf-toolbarreset abbr { border: dashed var(--sf-toolbar-gray-500); border-width: 0 0 1px;}.sf-toolbarreset svg,.sf-toolbarreset img { height: 20px; width: 20px; display: inline-block;}.sf-toolbarreset .sf-cancel-button { color: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-300); display: block; position: absolute; top: 2px; right: 0; width: 36px; height: 34px; cursor: pointer; text-align: center; border: none; margin: 0; padding: 0;}.sf-toolbarreset .hide-button:hover { background: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button svg { max-height: 18px; margin-top: 1px;}.sf-toolbar-block { cursor: default; display: block; float: left; height: 36px; margin-right: 0; position: relative; white-space: nowrap; max-width: 15%;}.sf-toolbar-block \u003e a,.sf-toolbar-block \u003e a:hover { display: block; text-decoration: none; background-color: transparent; color: inherit;}.sf-toolbar-block span { display: inline-block;}.sf-toolbar-block .sf-toolbar-value { color: var(--sf-toolbar-gray-100); font-size: 13px; line-height: 36px; padding: 0;}.sf-toolbar-block .sf-toolbar-label,.sf-toolbar-block .sf-toolbar-class-separator { color: var(--sf-toolbar-gray-400); font-size: 12px; margin-left: 2px;}.sf-toolbar-block .sf-toolbar-info { border-collapse: collapse; display: table; z-index: 100000;}.sf-toolbar-block hr { border-top: 1px solid var(--sf-toolbar-gray-500); margin: 4px 0; padding-top: 4px;}.sf-toolbar-block .sf-toolbar-info-piece { /* this \u0027border-bottom\u0027 trick is needed because \u0027margin-bottom\u0027 doesn\u0027t work for table rows */ border-bottom: solid transparent 3px; display: table-row;}.sf-toolbar-block .sf-toolbar-info-piece-additional,.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: none;}.sf-toolbar-block .sf-toolbar-info-group { margin-bottom: 4px; padding-bottom: 2px; border-bottom: 1px solid #333333;}.sf-toolbar-block .sf-toolbar-info-group:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status { border-radius: 4px; padding: 2px 5px; margin-bottom: 0;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status + .sf-toolbar-status { margin-left: 4px;}.sf-toolbar-block .sf-toolbar-info-piece:last-child { margin-bottom: 0;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece a { color: #99CDD8; text-decoration: underline;}div.sf-toolbar .sf-toolbar-block a:hover { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info-piece b { color: var(--sf-toolbar-gray-400); display: table-cell; font-size: 11px; padding: 4px 8px 4px 0;}.sf-toolbar-block:not(.sf-toolbar-block-dump) .sf-toolbar-info-piece span { color: var(--sf-toolbar-gray-100);}.sf-toolbar-block .sf-toolbar-info-piece span { font-size: 12px;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece.sf-toolbar-info-php-ext a { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info { background-color: var(--sf-toolbar-gray-700); border-radius: 4px; border-bottom-left-radius: 0; bottom: 36px; color: var(--sf-toolbar-gray-100); display: none; padding: 9px 0; position: absolute;}.sf-toolbar-block.sf-toolbar-block-right .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0;}.sf-toolbar-block .sf-toolbar-info:empty { visibility: hidden;}.sf-toolbar-block .sf-toolbar-status { display: inline-block; color: var(--sf-toolbar-white); background-color: var(--sf-toolbar-gray-600); padding: 3px 6px; margin: 0 4px; min-width: 15px; min-height: 13px; text-align: center;}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-green,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-green { background-color: #059669; color: var(--white);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-red,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-red { background-color: var(--sf-toolbar-red-500); color: var(--sf-toolbar-red-50);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-yellow,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); color: var(--sf-toolbar-yellow-800);}.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block.sf-toolbar-status-yellow::before { background: var(--sf-toolbar-yellow-400); border-radius: 6px; content: \u0027\u0027; position: absolute; bottom: 1px; left: 0; width: 98%; height: 3px; z-index: 10005;}.sf-toolbar-block.sf-toolbar-status-red::before { background: var(--sf-toolbar-red-400);}.sf-toolbar-block.sf-toolbar-status-green::before { background: var(--sf-toolbar-green-400);}.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-yellow::before { display: none;}.sf-toolbar-block-request .sf-toolbar-status { border-radius: 6px; color: #fff; display: inline-block; flex-shrink: 0; font-size: 13px; font-weight: 500; padding: 4px 8px;}.sf-toolbar-block-request .sf-toolbar-info-piece a { background-color: transparent; text-decoration: none;}.sf-toolbar-block-request .sf-toolbar-info-piece a:hover { text-decoration: underline;}.sf-toolbar-block-request .sf-toolbar-redirection-status { font-weight: normal; padding: 2px 4px; line-height: 18px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-redirection-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); border-radius: 4px; color: var(--sf-toolbar-yellow-800); padding: 1px 4px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-info-piece .sf-toolbar-redirection-method { background: transparent; color: var(--sf-toolbar-gray-300); border: 1px solid var(--sf-toolbar-gray-400); padding: 1px 4px;}.sf-toolbar-block-request .sf-toolbar-info-piece span.sf-toolbar-redirection-method { font-size: 12px; height: 17px; line-height: 17px; margin-right: 5px;}.sf-toolbar-block-request .sf-toolbar-request-icon svg { stroke-width: 3px;}.sf-toolbar-block-ajax .sf-toolbar-icon { cursor: pointer;}.sf-toolbar-status-green .sf-toolbar-label,.sf-toolbar-status-yellow .sf-toolbar-label,.sf-toolbar-status-red .sf-toolbar-label { color: var(--sf-toolbar-white);}.sf-toolbar-block-config svg path,.sf-toolbar-block-config svg .sf-svg-path { fill: var(--sf-toolbar-white);}.sf-toolbar-block .sf-toolbar-icon { color: var(--sf-toolbar-gray-300); align-items: center; display: flex; height: 36px; padding: 0 7px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-block:hover .sf-toolbar-icon { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block.sf-toolbar-block-right:hover .sf-toolbar-icon { box-shadow: -1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block-request .sf-toolbar-icon { padding-left: 0; padding-right: 0;}.sf-toolbar-block .sf-toolbar-icon img,.sf-toolbar-block .sf-toolbar-icon svg { border-width: 0;}.sf-toolbar-block .sf-toolbar-icon img + span,.sf-toolbar-block .sf-toolbar-icon svg + span { margin-left: 4px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-value,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-value { margin-left: 5px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-label { margin-left: 0;}.sf-toolbar-block:hover,.sf-toolbar-block.hover { position: relative;}.sf-toolbar-block:hover .sf-toolbar-icon,.sf-toolbar-block.hover .sf-toolbar-icon { background-color: var(--sf-toolbar-gray-700); position: relative; z-index: 10002;}.sf-toolbar-block-ajax.hover .sf-toolbar-info { z-index: 10001;}.sf-toolbar-block:hover .sf-toolbar-info,.sf-toolbar-block.hover .sf-toolbar-info { display: block; padding: 10px; max-width: 525px; max-height: 480px; word-wrap: break-word; overflow: hidden; overflow-y: auto;}.sf-toolbar-info-piece b.sf-toolbar-ajax-info { color: var(--sf-toolbar-gray-100);}.sf-toolbar-ajax-requests { border: 1px solid var(--sf-toolbar-gray-500); font-variant: tabular-nums; margin: 5px 0 0; width: 100%;}.sf-toolbar-ajax-requests td { background-color: var(--sf-toolbar-gray-700); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-100); font-size: 12px; padding: 4px; vertical-align: middle;}.sf-toolbar-ajax-requests thead { border: 0;}.sf-toolbar-ajax-requests th { background-color: var(--sf-toolbar-gray-800); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-200); font-size: 11px; padding: 4px;}.sf-ajax-request-url { max-width: 250px; line-height: 9px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-ajax-requests .sf-ajax-request-url a { text-decoration: none;}.sf-toolbar-ajax-requests .sf-ajax-request-url a:hover { text-decoration: underline;}.sf-ajax-request-duration { text-align: right;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-ajax-requests .sf-toolbar-status { font-size: 11px; padding: 1px 3px;}.sf-ajax-request-loading { animation: sf-blink .5s ease-in-out infinite;}@keyframes sf-blink { 0% { background: var(--sf-toolbar-gray-800); } 50% { background: var(--sf-toolbar-gray-700); } 100% { background: var(--sf-toolbar-gray-800); }}.sf-toolbar-block.sf-toolbar-block-dump .sf-toolbar-info { max-width: none; width: 100%; position: fixed; box-sizing: border-box; left: 0;}.sf-toolbar-block-dump pre.sf-dump { background-color: var(--sf-toolbar-gray-800); border-color: var(--sf-toolbar-gray-500); border-radius: 0; margin: 6px 0 12px 0;}.sf-toolbar-block-dump pre.sf-dump:last-child { margin-bottom: 0;}.sf-toolbar-block-dump pre.sf-dump .sf-dump-search-wrapper { margin-bottom: 5px;}.sf-toolbar-block-dump pre.sf-dump span.sf-dump-search-count { color: #333; font-size: 12px;}.sf-toolbar-block-dump .sf-toolbar-info-piece { display: block;}.sf-toolbar-block-dump .sf-toolbar-info-piece .sf-toolbar-file-line { color: var(--sf-toolbar-gray-400); margin-left: 4px;}.sf-toolbar-block-dump .sf-toolbar-info img { display: none;}.sf-toolbar-block-serializer .detailed-metrics { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 15px; margin-top: 15px;}/* Responsive Design */.sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-icon .sf-toolbar-value { display: none;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-cli .sf-toolbar-icon .sf-toolbar-label { display: inline-block;}/* Legacy Design - these styles are maintained to make old panels look a bit better on the new toolbar */.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-gray-400); font-size: 12px;}.sf-toolbar-status-green .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-yellow .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-red .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-white);}@media (min-width: 768px) { .sf-toolbar-icon .sf-toolbar-label, .sf-toolbar-icon .sf-toolbar-value { display: inline; } .sf-toolbar-block-time .sf-toolbar-icon svg, .sf-toolbar-block-memory .sf-toolbar-icon svg { display: none; } .sf-toolbar-block-time .sf-toolbar-icon svg + span, .sf-toolbar-block-memory .sf-toolbar-icon svg + span { margin-left: 0; } .sf-toolbar-block .sf-toolbar-icon { padding: 0 10px; } .sf-toolbar-block-time .sf-toolbar-icon { padding-right: 5px; } .sf-toolbar-block-memory .sf-toolbar-icon { padding-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon { display: flex; align-items: center; padding-left: 0; padding-right: 0; } .sf-toolbar-block-request .sf-toolbar-label { margin-left: 4px; margin-right: 1px; } .sf-toolbar-block-request .sf-toolbar-status + .sf-toolbar-request-icon { display: inline-flex; margin-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon .sf-toolbar-request-icon + .sf-toolbar-label { margin-left: 0; } .sf-toolbar-block-request .sf-toolbar-label + .sf-toolbar-value { margin-right: 5px; } .sf-toolbar-block-request:hover .sf-toolbar-info { max-width: none; } .sf-toolbar-block .sf-toolbar-info-piece b { font-size: 12px; } .sf-toolbar-block .sf-toolbar-info-piece span { font-size: 13px; } .sf-toolbar-block-right { float: right; margin-left: 0; margin-right: 0; } .sf-toolbarreset .sf-toolbar-block.sf-toolbar-block-right:not(.sf-toolbar-block-sf-cli) .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0; }}@media (min-width: 1024px) { .sf-toolbar-block .sf-toolbar-info-piece-additional, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: inline; } .sf-toolbar-block .sf-toolbar-info-piece-additional:empty, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail:empty { display: none; }}/***** Error Toolbar *****/.sf-error-toolbar .sf-toolbarreset { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-100); font: 13px/36px var(--sf-toolbar-font-family-system); height: 36px; padding: 0 15px; text-align: left;}.sf-error-toolbar .sf-toolbarreset svg { height: auto;}.sf-error-toolbar .sf-toolbarreset a { color: #99cdd8; margin-left: 5px; text-decoration: underline;}.sf-error-toolbar .sf-toolbarreset a:hover { text-decoration: none;}.sf-error-toolbar .sf-toolbarreset .sf-toolbar-icon { float: left; padding: 5px 0; margin-right: 10px;}.sf-full-stack { left: 0px; font-size: 12px;}/***** Media query print: Do not print the Toolbar. *****/@media print { .sf-toolbar { display: none !important; }}\u003c/style\u003e\u003cscript nonce\u003d\"c5b50da69dec6be4cf10d0f21e551ca9\"\u003e/*\u003c![CDATA[*/ if (typeof Sfjs \u003d\u003d\u003d \u0027undefined\u0027 || typeof Sfjs.loadToolbar \u003d\u003d\u003d \u0027undefined\u0027) { Sfjs \u003d (function() { \"use strict\"; if (\u0027classList\u0027 in document.documentElement) { var hasClass \u003d function (el, cssClass) { return el.classList.contains(cssClass); }; var removeClass \u003d function(el, cssClass) { el.classList.remove(cssClass); }; var addClass \u003d function(el, cssClass) { el.classList.add(cssClass); }; var toggleClass \u003d function(el, cssClass) { el.classList.toggle(cssClass); }; } else { var hasClass \u003d function (el, cssClass) { return el.className.match(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027)); }; var removeClass \u003d function(el, cssClass) { el.className \u003d el.className.replace(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027), \u0027 \u0027); }; var addClass \u003d function(el, cssClass) { if (!hasClass(el, cssClass)) { el.className +\u003d \" \" + cssClass; } }; var toggleClass \u003d function(el, cssClass) { hasClass(el, cssClass) ? removeClass(el, cssClass) : addClass(el, cssClass); }; } var noop \u003d function() {}; var profilerStorageKey \u003d \u0027symfony/profiler/\u0027; var addEventListener; var el \u003d document.createElement(\u0027div\u0027); if (!(\u0027addEventListener\u0027 in el)) { addEventListener \u003d function (element, eventName, callback) { element.attachEvent(\u0027on\u0027 + eventName, callback); }; } else { addEventListener \u003d function (element, eventName, callback) { element.addEventListener(eventName, callback, false); }; } var request \u003d function(url, onSuccess, onError, payload, options, tries) { var xhr \u003d window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject(\u0027Microsoft.XMLHTTP\u0027); options \u003d options || {}; options.retry \u003d options.retry || false; tries \u003d tries || 1; /* this delays for 125, 375, 625, 875, and 1000, ... */ var delay \u003d tries \u003c 5 ? (tries - 0.5) * 250 : 1000; xhr.open(options.method || \u0027GET\u0027, url, true); xhr.setRequestHeader(\u0027X-Requested-With\u0027, \u0027XMLHttpRequest\u0027); xhr.onreadystatechange \u003d function(state) { if (4 !\u003d\u003d xhr.readyState) { return null; } if (xhr.status \u003d\u003d 404 \u0026\u0026 options.retry \u0026\u0026 !options.stop) { setTimeout(function() { if (options.stop) { return; } request(url, onSuccess, onError, payload, options, tries + 1); }, delay); return null; } if (200 \u003d\u003d\u003d xhr.status) { (onSuccess || noop)(xhr); } else { (onError || noop)(xhr); } }; if (options.onSend) { options.onSend(tries); } xhr.send(payload || \u0027\u0027); }; var getPreference \u003d function(name) { if (!window.localStorage) { return null; } return localStorage.getItem(profilerStorageKey + name); }; var setPreference \u003d function(name, value) { if (!window.localStorage) { return null; } localStorage.setItem(profilerStorageKey + name, value); }; var requestStack \u003d []; var extractHeaders \u003d function(xhr, stackElement) { /* Here we avoid to call xhr.getResponseHeader in order to */ /* prevent polluting the console with CORS security errors */ var allHeaders \u003d xhr.getAllResponseHeaders(); var ret; if (ret \u003d allHeaders.match(/^x-debug-token:\\s+(.*)$/im)) { stackElement.profile \u003d ret[1]; } if (ret \u003d allHeaders.match(/^x-debug-token-link:\\s+(.*)$/im)) { stackElement.profilerUrl \u003d ret[1]; } if (ret \u003d allHeaders.match(/^Symfony-Debug-Toolbar-Replace:\\s+(.*)$/im)) { stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d ret[1]; } }; var successStreak \u003d 4; var pendingRequests \u003d 0; var renderAjaxRequests \u003d function() { var requestCounter \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-counter\u0027); if (!requestCounter) { return; } requestCounter.textContent \u003d requestStack.length; var infoSpan \u003d document.querySelector(\".sf-toolbar-ajax-info\"); if (infoSpan) { infoSpan.textContent \u003d requestStack.length + \u0027 AJAX request\u0027 + (requestStack.length !\u003d\u003d 1 ? \u0027s\u0027 : \u0027\u0027); } var ajaxToolbarPanel \u003d document.querySelector(\u0027.sf-toolbar-block-ajax\u0027); if (requestStack.length) { ajaxToolbarPanel.style.display \u003d \u0027block\u0027; } else { ajaxToolbarPanel.style.display \u003d \u0027none\u0027; } if (pendingRequests \u003e 0) { addClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else if (successStreak \u003c 4) { addClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else { removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); removeClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); } }; var startAjaxRequest \u003d function(index) { var tbody \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027); if (!tbody) { return; } var nbOfAjaxRequest \u003d tbody.rows.length; if (nbOfAjaxRequest \u003e\u003d 100) { tbody.deleteRow(0); } var request \u003d requestStack[index]; pendingRequests++; var row \u003d document.createElement(\u0027tr\u0027); request.DOMNode \u003d row; var requestNumberCell \u003d document.createElement(\u0027td\u0027); requestNumberCell.textContent \u003d index + 1; row.appendChild(requestNumberCell); var profilerCell \u003d document.createElement(\u0027td\u0027); profilerCell.textContent \u003d \u0027n/a\u0027; row.appendChild(profilerCell); var methodCell \u003d document.createElement(\u0027td\u0027); methodCell.textContent \u003d request.method; row.appendChild(methodCell); var typeCell \u003d document.createElement(\u0027td\u0027); typeCell.textContent \u003d request.type; row.appendChild(typeCell); var statusCodeCell \u003d document.createElement(\u0027td\u0027); var statusCode \u003d document.createElement(\u0027span\u0027); statusCode.textContent \u003d \u0027n/a\u0027; statusCodeCell.appendChild(statusCode); row.appendChild(statusCodeCell); var pathCell \u003d document.createElement(\u0027td\u0027); pathCell.className \u003d \u0027sf-ajax-request-url\u0027; if (\u0027GET\u0027 \u003d\u003d\u003d request.method) { var pathLink \u003d document.createElement(\u0027a\u0027); pathLink.setAttribute(\u0027href\u0027, request.url); pathLink.textContent \u003d request.url; pathCell.appendChild(pathLink); } else { pathCell.textContent \u003d request.url; } pathCell.setAttribute(\u0027title\u0027, request.url); row.appendChild(pathCell); var durationCell \u003d document.createElement(\u0027td\u0027); durationCell.className \u003d \u0027sf-ajax-request-duration\u0027; durationCell.textContent \u003d \u0027n/a\u0027; row.appendChild(durationCell); request.liveDurationHandle \u003d setInterval(function() { durationCell.textContent \u003d (new Date() - request.start) + \u0027 ms\u0027; }, 100); row.className \u003d \u0027sf-ajax-request sf-ajax-request-loading\u0027; tbody.insertBefore(row, null); var toolbarInfo \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); toolbarInfo.scrollTop \u003d toolbarInfo.scrollHeight; renderAjaxRequests(); }; var finishAjaxRequest \u003d function(index) { var request \u003d requestStack[index]; clearInterval(request.liveDurationHandle); if (!request.DOMNode) { return; } if (request.toolbarReplace \u0026\u0026 !request.toolbarReplaceFinished \u0026\u0026 request.profile) { /* Flag as complete because finishAjaxRequest can be called multiple times. */ request.toolbarReplaceFinished \u003d true; /* Search up through the DOM to find the toolbar\u0027s container ID. */ for (var elem \u003d request.DOMNode; elem \u0026\u0026 elem !\u003d\u003d document; elem \u003d elem.parentNode) { if (elem.id.match(/^sfwdt/)) { Sfjs.loadToolbar(elem.id.replace(/^sfwdt/, \u0027\u0027), request.profile); break; } } } pendingRequests--; var row \u003d request.DOMNode; /* Unpack the children from the row */ var profilerCell \u003d row.children[1]; var methodCell \u003d row.children[2]; var statusCodeCell \u003d row.children[4]; var statusCodeElem \u003d statusCodeCell.children[0]; var durationCell \u003d row.children[6]; if (request.error) { row.className \u003d \u0027sf-ajax-request sf-ajax-request-error\u0027; methodCell.className \u003d \u0027sf-ajax-request-error\u0027; successStreak \u003d 0; } else { row.className \u003d \u0027sf-ajax-request sf-ajax-request-ok\u0027; successStreak++; } if (request.statusCode) { if (request.statusCode \u003c 300) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status\u0027); } else if (request.statusCode \u003c 400) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-yellow\u0027); } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } statusCodeElem.textContent \u003d request.statusCode; } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } if (request.duration) { durationCell.textContent \u003d request.duration + \u0027 ms\u0027; } if (request.profilerUrl) { profilerCell.textContent \u003d \u0027\u0027; var profilerLink \u003d document.createElement(\u0027a\u0027); profilerLink.setAttribute(\u0027href\u0027, request.profilerUrl); profilerLink.textContent \u003d request.profile; profilerCell.appendChild(profilerLink); } renderAjaxRequests(); }; if (window.fetch \u0026\u0026 window.fetch.polyfill \u003d\u003d\u003d undefined) { var oldFetch \u003d window.fetch; window.fetch \u003d function () { var promise \u003d oldFetch.apply(this, arguments); var url \u003d arguments[0]; var params \u003d arguments[1]; var paramType \u003d Object.prototype.toString.call(arguments[0]); if (paramType \u003d\u003d\u003d \u0027[object Request]\u0027) { url \u003d arguments[0].url; params \u003d { method: arguments[0].method, credentials: arguments[0].credentials, headers: arguments[0].headers, mode: arguments[0].mode, redirect: arguments[0].redirect }; } else { url \u003d String(url); } if (!url.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var method \u003d \u0027GET\u0027; if (params \u0026\u0026 params.method !\u003d\u003d undefined) { method \u003d params.method; } var stackElement \u003d { error: false, url: url, method: method, type: \u0027fetch\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; promise.then(function (r) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d r.status \u003c 200 || r.status \u003e\u003d 400; stackElement.statusCode \u003d r.status; stackElement.profile \u003d r.headers.get(\u0027x-debug-token\u0027); stackElement.profilerUrl \u003d r.headers.get(\u0027x-debug-token-link\u0027); stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d r.headers.get(\u0027Symfony-Debug-Toolbar-Replace\u0027); finishAjaxRequest(idx); }, function (e){ stackElement.error \u003d true; finishAjaxRequest(idx); }); startAjaxRequest(idx); } return promise; }; } if (window.XMLHttpRequest \u0026\u0026 XMLHttpRequest.prototype.addEventListener) { var proxied \u003d XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open \u003d function(method, url, async, user, pass) { var self \u003d this; /* prevent logging AJAX calls to static and inline files, like templates */ var path \u003d url; if (url.slice(0, 1) \u003d\u003d\u003d \u0027/\u0027) { if (0 \u003d\u003d\u003d url.indexOf(\u0027\u0027)) { path \u003d url.slice(0); } } else if (0 \u003d\u003d\u003d url.indexOf(\u0027http\\u003A\\/\\/localhost\\u003A8080\u0027)) { path \u003d url.slice(21); } if (!path.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var stackElement \u003d { error: false, url: url, method: method, type: \u0027xhr\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; this.addEventListener(\u0027readystatechange\u0027, function() { if (self.readyState \u003d\u003d 4) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d self.status \u003c 200 || self.status \u003e\u003d 400; stackElement.statusCode \u003d self.status; extractHeaders(self, stackElement); finishAjaxRequest(idx); } }, false); startAjaxRequest(idx); } proxied.apply(this, Array.prototype.slice.call(arguments)); }; } return { hasClass: hasClass, removeClass: removeClass, addClass: addClass, toggleClass: toggleClass, getPreference: getPreference, setPreference: setPreference, addEventListener: addEventListener, request: request, renderAjaxRequests: renderAjaxRequests, getSfwdt: function(token) { if (!this.sfwdt) { this.sfwdt \u003d document.getElementById(\u0027sfwdt\u0027 + token); } return this.sfwdt; }, load: function(selector, url, onSuccess, onError, options) { var el \u003d document.getElementById(selector); if (el \u0026\u0026 el.getAttribute(\u0027data-sfurl\u0027) !\u003d\u003d url) { request( url, function(xhr) { el.innerHTML \u003d xhr.responseText; el.setAttribute(\u0027data-sfurl\u0027, url); removeClass(el, \u0027loading\u0027); var pending \u003d pendingRequests; for (var i \u003d 0; i \u003c requestStack.length; i++) { startAjaxRequest(i); if (requestStack[i].duration) { finishAjaxRequest(i); } } /* Revert the pending state in case there was a start called without a finish above. */ pendingRequests \u003d pending; (onSuccess || noop)(xhr, el); }, function(xhr) { (onError || noop)(xhr, el); }, \u0027\u0027, options ); } return this; }, showToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); removeClass(sfwdt, \u0027sf-display-none\u0027); if (getPreference(\u0027toolbar/displayState\u0027) \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027none\u0027; } }, hideToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); addClass(sfwdt, \u0027sf-display-none\u0027); }, initToolbar: function(token) { this.showToolbar(token); var hideButton \u003d document.getElementById(\u0027sfToolbarHideButton-\u0027 + token); var hideButtonSvg \u003d hideButton.querySelector(\u0027svg\u0027); hideButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); hideButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(hideButton, \u0027click\u0027, function (event) { event.preventDefault(); var p \u003d this.parentNode; p.style.display \u003d \u0027none\u0027; (p.previousElementSibling || p.previousSibling).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; setPreference(\u0027toolbar/displayState\u0027, \u0027none\u0027); }); var showButton \u003d document.getElementById(\u0027sfToolbarMiniToggler-\u0027 + token); var showButtonSvg \u003d showButton.querySelector(\u0027svg\u0027); showButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); showButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(showButton, \u0027click\u0027, function (event) { event.preventDefault(); var elem \u003d this.parentNode; if (elem.style.display \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; elem.style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; elem.style.display \u003d \u0027none\u0027 } setPreference(\u0027toolbar/displayState\u0027, \u0027block\u0027); }); }, loadToolbar: function(token, newToken) { var that \u003d this; var triesCounter \u003d document.getElementById(\u0027sfLoadCounter-\u0027 + token); var options \u003d { retry: true, onSend: function (count) { if (count \u003d\u003d\u003d 3) { that.initToolbar(token); } if (triesCounter) { triesCounter.textContent \u003d count; } }, }; var cancelButton \u003d document.getElementById(\u0027sfLoadCancel-\u0027 + token); if (cancelButton) { addEventListener(cancelButton, \u0027click\u0027, function (event) { event.preventDefault(); options.stop \u003d true; that.hideToolbar(token); }); } newToken \u003d (newToken || token); this.load( \u0027sfwdt\u0027 + token, \u0027http\\u003A\\/\\/localhost\\u003A8080\\/_wdt\\/xxxxxx\u0027.replace(/xxxxxx/, newToken), function(xhr, el) { /* Do nothing in the edge case where the toolbar has already been replaced with a new one */ if (!document.getElementById(\u0027sfToolbarMainContent-\u0027 + newToken)) { return; } /* Evaluate in global scope scripts embedded inside the toolbar */ var i, scripts \u003d [].slice.call(el.querySelectorAll(\u0027script\u0027)); for (i \u003d 0; i \u003c scripts.length; ++i) { if (scripts[i].firstChild) { eval.call({}, scripts[i].firstChild.nodeValue); } } el.style.display \u003d -1 !\u003d\u003d xhr.responseText.indexOf(\u0027sf-toolbarreset\u0027) ? \u0027block\u0027 : \u0027none\u0027; if (el.style.display \u003d\u003d \u0027none\u0027) { return; } that.initToolbar(newToken); /* Handle toolbar-info position */ var toolbarBlocks \u003d [].slice.call(el.querySelectorAll(\u0027.sf-toolbar-block\u0027)); for (i \u003d 0; i \u003c toolbarBlocks.length; ++i) { toolbarBlocks[i].onmouseover \u003d function () { var toolbarInfo \u003d this.querySelectorAll(\u0027.sf-toolbar-info\u0027)[0]; var pageWidth \u003d document.body.clientWidth; var elementWidth \u003d toolbarInfo.offsetWidth; var leftValue \u003d (elementWidth + this.offsetLeft) - pageWidth; var rightValue \u003d (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth; /* Reset right and left value, useful on window resize */ toolbarInfo.style.right \u003d \u0027\u0027; toolbarInfo.style.left \u003d \u0027\u0027; if (elementWidth \u003e pageWidth) { toolbarInfo.style.left \u003d 0; } else if (leftValue \u003e 0 \u0026\u0026 rightValue \u003e 0) { toolbarInfo.style.right \u003d (rightValue * -1) + \u0027px\u0027; } else if (leftValue \u003c 0) { toolbarInfo.style.left \u003d 0; } else { toolbarInfo.style.right \u003d \u00270px\u0027; } }; } renderAjaxRequests(); addEventListener(document.querySelector(\u0027.sf-toolbar-ajax-clear\u0027), \u0027click\u0027, function() { requestStack \u003d []; renderAjaxRequests(); successStreak \u003d 4; document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027).innerHTML \u003d \u0027\u0027; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax\u0027), \u0027mouseenter\u0027, function (event) { var elem \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); elem.scrollTop \u003d elem.scrollHeight; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax \u003e .sf-toolbar-icon\u0027), \u0027click\u0027, function (event) { event.preventDefault(); toggleClass(this.parentNode, \u0027hover\u0027); }); var dumpInfo \u003d document.querySelector(\u0027.sf-toolbar-block-dump .sf-toolbar-info\u0027); if (null !\u003d\u003d dumpInfo) { addEventListener(dumpInfo, \u0027sfbeforedumpcollapse\u0027, function () { dumpInfo.style.minHeight \u003d dumpInfo.getBoundingClientRect().height+\u0027px\u0027; }); addEventListener(dumpInfo, \u0027mouseleave\u0027, function () { dumpInfo.style.minHeight \u003d \u0027\u0027; }); } }, function(xhr) { if (xhr.status !\u003d\u003d 0 \u0026\u0026 !options.stop) { var sfwdt \u003d that.getSfwdt(token); sfwdt.innerHTML \u003d \u0027\\ \u003cdiv class\u003d\"sf-toolbarreset notranslate\"\u003e\\ \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e\u003csvg width\u003d\"26\" height\u003d\"28\" xmlns\u003d\"http://www.w3.org/2000/svg\" version\u003d\"1.1\" x\u003d\"0px\" y\u003d\"0px\" viewBox\u003d\"0 0 26 28\" enable-background\u003d\"new 0 0 26 28\" xml:space\u003d\"preserve\"\u003e\u003cpath fill\u003d\"#FFFFFF\" d\u003d\"M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z\"/\u003e\u003c/svg\u003e\u003c/div\u003e\\ An error occurred while loading the web debug toolbar. \u003ca href\u003d\"http\\u003A\\/\\/localhost\\u003A8080\\/_profiler\\/\u0027 + newToken + \u0027\"\u003eOpen the web profiler.\u003c/a\u003e\\ \u003c/div\u003e\\ \u0027; sfwdt.setAttribute(\u0027class\u0027, \u0027sf-toolbar sf-error-toolbar\u0027); } }, options ); return this; }, toggle: function(selector, elOn, elOff) { var tmp \u003d elOn.style.display, el \u003d document.getElementById(selector); elOn.style.display \u003d elOff.style.display; elOff.style.display \u003d tmp; if (el) { el.style.display \u003d \u0027none\u0027 \u003d\u003d\u003d tmp ? \u0027none\u0027 : \u0027block\u0027; } return this; }, }; })(); } Sfjs.loadToolbar(\u00272aaf1c\u0027);/*]]\u003e*/\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n", + "statusCode": 200, + "responseTimeInMs": 730, + "elementType": "ZestResponse" + }, + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + }, + { + "rootExpression": { + "length": 112416, + "approx": 1, + "variableName": "response.body", + "not": false, + "elementType": "ZestExpressionLength" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1715667152537, + "cookies": [], + "index": 8, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_class_category__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf6", + "index": 9, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 1, + "fieldName": "class_category_7__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf7", + "index": 10, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 2, + "fieldName": "class_category_1__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf8", + "index": 11, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 3, + "fieldName": "class_category_2__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf9", + "index": 12, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 4, + "fieldName": "class_category_3__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf10", + "index": 13, + "enabled": true, + "elementType": "ZestAssignFieldValue" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} \ No newline at end of file diff --git a/zap/scripts/admin_class_name.zst b/zap/scripts/admin_class_name.zst new file mode 100644 index 00000000000..7aeaed2bbf3 --- /dev/null +++ b/zap/scripts/admin_class_name.zst @@ -0,0 +1,156 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_class_name", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "url": "https://ec-cube/admin/product/class_name_csv_upload", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \"Chromium\";v\u003d\"124\", \"Google Chrome\";v\u003d\"124\", \"Not-A.Brand\";v\u003d\"99\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"macOS\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: none\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "response": { + "url": "https://ec-cube/admin/product/class_name_csv_upload", + "headers": "HTTP/1.1 200 OK\r\nDate: Tue, 14 May 2024 06:18:59 GMT\r\nServer: Apache/2.4.59 (Debian)\r\nX-Frame-Options: SAMEORIGIN\r\nX-Powered-By: PHP/8.1.28\r\nCache-Control: max-age\u003d0, must-revalidate, private\r\nX-Debug-Token: 09f29d\r\nX-Debug-Token-Link: https://ec-cube/_profiler/09f29d\r\nX-Robots-Tag: noindex\r\nExpires: Tue, 14 May 2024 06:18:59 GMT\r\nSet-Cookie: maintenance_token\u003ddeleted; expires\u003dMon, 15 May 2023 06:18:58 GMT; Max-Age\u003d0; path\u003d/; httponly\r\nVary: Accept-Encoding\r\nX-XSS-Protection: 1; mode\u003dblock\r\nX-Content-Type-Options: nosniff\r\nContent-Type: text/html; charset\u003dUTF-8\r\ncontent-length: 87912\r\n\r\n", + "body": "\u003c!doctype html\u003e\n\u003chtml lang\u003d\"ja\"\u003e\n\u003chead\u003e\n \u003cmeta charset\u003d\"utf-8\"\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width, initial-scale\u003d1, shrink-to-fit\u003dno\"\u003e\n \u003cmeta name\u003d\"eccube-csrf-token\" content\u003d\"2e23.o6IuLavtQlr6cVt1PCoqbFytkV09Dzl3M1m1bqgBCR8.xc0bbPHZDiPOEhQCS0luBz_kyBZIZnEyRirkG8N7THnQ90VO8oIdK6grDg\"\u003e\n \u003ctitle\u003e商品管理 規格CSV登録 - EC-CUBE SHOP\u003c/title\u003e\n \u003clink rel\u003d\"icon\" href\u003d\"/html/template/admin/assets/img/favicon.ico\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/all.css\" integrity\u003d\"sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/v4-shims.css\" integrity\u003d\"sha384-lmquXrF9qn7mMo6iRQ662vN44vTTVUBpcdtDFWPxD9uFPqC/aMn6pcQrTTupiv1A\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/bootstrap.css\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/app.css\"\u003e\n \u003cscript src\u003d\"/html/bundle/admin.bundle.js\"\u003e\u003c/script\u003e\n \u003cscript\u003e\n $(function() {\n $.ajaxSetup({\n \u0027headers\u0027: {\n \u0027ECCUBE-CSRF-TOKEN\u0027: $(\u0027meta[name\u003d\"eccube-csrf-token\"]\u0027).attr(\u0027content\u0027)\n }\n });\n });\n \u003c/script\u003e\n \u003c/head\u003e\n\u003cbody id\u003d\"page_admin_product_class_name_csv_import\"\u003e\n\u003cheader class\u003d\"c-headerBar\"\u003e\n \u003cdiv class\u003d\"c-headerBar__container\"\u003e\n \u003cdiv class\u003d\"c-headerBar__logo\"\u003e\n \u003ch1\u003e\u003cimg src\u003d\"/html/template/admin/assets/img/logo@2x.png\"\u003e\u003c/h1\u003e\n \u003c/div\u003e\n \u003ca class\u003d\"c-headerBar__toggleBtn\"\u003e\u003ci class\u003d\"fa fa-bars\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__shopTitle\" href\u003d\"https://ec-cube/\" target\u003d\"_blank\"\u003e\u003cspan\u003eEC-CUBE SHOP\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-right\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__userMenu\"\n data-bs-container\u003d\"body\"\n data-bs-toggle\u003d\"popover\"\n data-bs-placement\u003d\"bottom\"\n title\u003d\"最終ログイン\"\n data-bs-content\u003d\"\u0026lt;p\u0026gt;2024/05/14 15:11\u0026lt;/p\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/change_password\u0027 class\u003d\u0027btn btn-ec-regular w-100 mb-2\u0027\u0026gt;パスワード変更\u0026lt;/a\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/logout\u0027 class\u003d\u0027btn btn-ec-sub w-100\u0027\u0026gt;ログアウト\u0026lt;/a\u0026gt;\"\n data-bs-html\u003d\"true\"\u003e\u003ci class\u003d\"fa fa-user-circle\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003cspan\u003e管理者 様\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-down\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003c/div\u003e\n\u003c/header\u003e\n\u003cdiv class\u003d\"c-container\"\u003e\n \u003cdiv class\u003d\"c-mainNavArea\"\u003e\n \u003cnav\u003e\n \u003cul class\u003d\"c-mainNavArea__nav\"\u003e\n \u003c!-- ホーム --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\" href\u003d\"https://ec-cube/admin/\"\u003e\n \u003ci class\u003d\"fa fa-home fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eホーム\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-product\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-product\"\u003e\n \u003ci class\u003d\"fa fa-cube fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e商品管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse show\" id\u003d\"nav-product\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product\"\u003e\n \u003cspan\u003e商品一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product/new\"\u003e\n \u003cspan\u003e商品登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003cspan\u003e規格管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category\"\u003e\n \u003cspan\u003eカテゴリ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/tag\"\u003e\n \u003cspan\u003eタグ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product_csv_upload\"\u003e\n \u003cspan\u003e商品CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name_csv_upload\" class\u003d\"is-active\"\u003e\n \u003cspan\u003e規格CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category_csv_upload\"\u003e\n \u003cspan\u003e規格分類CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category_csv_upload\"\u003e\n \u003cspan\u003eカテゴリCSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-order\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-order\"\u003e\n \u003ci class\u003d\"fa fa-shopping-cart fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e受注管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-order\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order\"\u003e\n \u003cspan\u003e受注一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/new\"\u003e\n \u003cspan\u003e受注登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/shipping_csv_upload\"\u003e\n \u003cspan\u003e出荷CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-customer\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-customer\"\u003e\n \u003ci class\u003d\"fa fa-users fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e会員管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-customer\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer\"\u003e\n \u003cspan\u003e会員一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer/new\"\u003e\n \u003cspan\u003e会員登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-content\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-content\"\u003e\n \u003ci class\u003d\"fa fa-file-text-o fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eコンテンツ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-content\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/news\"\u003e\n \u003cspan\u003e新着情報管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/file_manager\"\u003e\n \u003cspan\u003eファイル管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/layout\"\u003e\n \u003cspan\u003eレイアウト管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page\"\u003e\n \u003cspan\u003eページ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/css\"\u003e\n \u003cspan\u003eCSS管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/js\"\u003e\n \u003cspan\u003eJavaScript管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/block\"\u003e\n \u003cspan\u003eブロック管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/cache\"\u003e\n \u003cspan\u003eキャッシュ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/maintenance\"\u003e\n \u003cspan\u003eメンテナンス管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-setting\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-setting\"\u003e\n \u003ci class\u003d\"fa fa-cog fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-setting\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-shop\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-shop\"\u003e\n \u003cspan\u003e店舗設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-shop\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop\"\u003e\n \u003cspan\u003e基本設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tradelaw\"\u003e\n \u003cspan\u003e特定商取引法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page/19/edit?return\u003dagreement\"\u003e\n \u003cspan\u003e利用規約設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/payment\"\u003e\n \u003cspan\u003e支払方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/delivery\"\u003e\n \u003cspan\u003e配送方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tax\"\u003e\n \u003cspan\u003e税率設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/mail\"\u003e\n \u003cspan\u003eメール設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/csv\"\u003e\n \u003cspan\u003eCSV出力項目設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/order_status\"\u003e\n \u003cspan\u003e受注対応状況設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/calendar\"\u003e\n \u003cspan\u003e定休日カレンダー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-system\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-system\"\u003e\n \u003cspan\u003eシステム設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-system\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/member\"\u003e\n \u003cspan\u003eメンバー管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/authority\"\u003e\n \u003cspan\u003e権限管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/security\"\u003e\n \u003cspan\u003eセキュリティ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/login_history\"\u003e\n \u003cspan\u003eログイン履歴\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/log\"\u003e\n \u003cspan\u003eログ表示\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/masterdata\"\u003e\n \u003cspan\u003eマスタデータ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/system\"\u003e\n \u003cspan\u003eシステム情報\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-store\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-store\"\u003e\n \u003ci class\u003d\"fa fa-plug fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eオーナーズストア\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-store\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-plugin\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-plugin\"\u003e\n \u003cspan\u003eプラグイン\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-plugin\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/api/search\"\u003e\n \u003cspan\u003eプラグインを探す\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin\"\u003e\n \u003cspan\u003eプラグイン一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-template\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-template\"\u003e\n \u003cspan\u003eテンプレート\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-template\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template\"\u003e\n \u003cspan\u003eテンプレート一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template/install\"\u003e\n \u003cspan\u003eアップロード\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/authentication_setting\"\u003e\n \u003cspan\u003e認証キー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c!-- 情報 --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\" data-bs-toggle\u003d\"collapse\" href\u003d\"#others\" aria-expanded\u003d\"false\"\n aria-controls\u003d\"others\"\u003e\n \u003ci class\u003d\"fa fa-info-circle fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e情報\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"others\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e公式サイト\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://xoops.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e開発コミュニティ\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"http://doc4.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003eドキュメント\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net/manual/ec-cube4/\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e管理・運用マニュアル\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n\u003c/nav\u003e\n\n \u003c/div\u003e\n \u003cdiv class\u003d\"c-curtain\"\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"c-contentsArea\"\u003e\n \u003cdiv class\u003d\"c-pageTitle\"\u003e\n \u003cdiv class\u003d\"c-pageTitle__titles\"\u003e\n \u003ch2 class\u003d\"c-pageTitle__title\"\u003e規格CSV登録\u003c/h2\u003e\u003cspan class\u003d\"c-pageTitle__subTitle\"\u003e商品管理\u003c/span\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \n\n\n\n\n \n \u003cdiv class\u003d\"alert alert-danger alert-dismissible fade show m-3\" role\u003d\"alert\"\u003e\n \u003ci class\u003d\"fa fa-warning fa-lg me-2\"\u003e\u003c/i\u003e\n \u003cspan class\u003d\"fw-bold\"\u003eデバッグモードが有効になっています。\u003c/span\u003e\n \u003cbutton class\u003d\"btn-close\" type\u003d\"button\" data-bs-dismiss\u003d\"alert\" aria-label\u003d\"Close\"\u003e\n \u003c/button\u003e\n \u003c/div\u003e\n\n\n \u003cdiv class\u003d\"c-contentsArea__cols\"\u003e\n \u003cdiv class\u003d\"c-contentsArea__primaryCol\"\u003e\n \u003cdiv class\u003d\"c-primaryCol\"\u003e\n \u003cdiv class\u003d\"card rounded border-0 mb-4\"\u003e\n \u003cdiv class\u003d\"card-header\"\u003e\n \u003cdiv class\u003d\"d-inline-block\" data-tooltip\u003d\"true\" data-placement\u003d\"top\" title\u003d\"所定の型のCSVデータを用いて規格を一括で登録することができます。\"\u003e\u003cspan\u003eCSVファイルをアップロード\u003c/span\u003e\u003ci class\u003d\"fa fa-question-circle fa-lg fa-lg ml-1\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv id\u003d\"ex-csv_category-upload\" class\u003d\"card-body\"\u003e\n \u003cdiv class\u003d\"row\"\u003e\n \u003cdiv class\u003d\"col-2\"\u003e\u003cspan\u003eCSVファイルを選択\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col\"\u003e\n \u003cform id\u003d\"upload-form\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_name_csv_upload\" enctype\u003d\"multipart/form-data\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"admin_csv_import__token\" name\u003d\"admin_csv_import[_token]\" value\u003d\"ba57.wyvWBMItKWtUl_UB5DjRGXUjRE-uggxXoCL8Nsq6rJw.sU6ecal0cApm8YFHnHG1dj95KBng2HY44hGLboXLmfKBGrs9h2sQBgvAxQ\" /\u003e\n \u003cdiv class\u003d\"mb-2\"\u003e\n \u003cspan id\u003d\"file-select\" class\u003d\"btn btn-ec-regular mr-2\"\u003eファイルを選択\u003c/span\u003e\n \u003cspan id\u003d\"admin_csv_import_import_file_name\"\u003e選択されていません\u003c/span\u003e\n \u003cinput type\u003d\"file\" id\u003d\"admin_csv_import_import_file\" name\u003d\"admin_csv_import[import_file]\" required\u003d\"required\" accept\u003d\"text/csv,text/tsv\" class\u003d\"d-none form-control-file\" /\u003e\n \n \u003c/div\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" id\u003d\"upload-button\" type\u003d\"submit\"\u003e一括登録を実行\u003c/button\u003e\n \u003c/form\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv id\u003d\"spinner\"\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"card rounded border-0 mb-4\"\u003e\n \u003cdiv class\u003d\"card-header\"\u003e\n \u003cdiv class\u003d\"row justify-content-between\"\u003e\n \u003cdiv class\u003d\"col-6\"\u003e\n \u003cdiv class\u003d\"d-inline-block\" data-tooltip\u003d\"true\" data-placement\u003d\"top\" title\u003d\"雛形ファイルをダウンロードして編集すれば、簡単に所定の型のCSVデータを作成できます。\"\u003e\u003cspan class\u003d\"align-middle\"\u003eCSVファイルフォーマット\u003c/span\u003e\u003ci class\u003d\"fa fa-question-circle fa-lg fa-lg ml-1\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-4 text-right\"\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/csv_template/class_name\" class\u003d\"btn btn-ec-regular\" id\u003d\"download-button\"\u003e雛形ファイルダウンロード\u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv id\u003d\"ex-csv_class_name-format\" class\u003d\"card-body\"\u003e\n \u003ctable class\u003d\"table table-striped table-bordered\"\u003e\n \u003ctbody\u003e\n \u003ctr\u003e\n \u003cth class\u003d\"w-25 align-middle table-ec-lightGray\" id\u003d\"file_format_box__header--1\"\u003e規格ID\n \u003c/th\u003e\n \u003ctd class\u003d\"align-middle\"\u003e\n 新規登録の場合は空にしてください。既存の規格を更新する場合は、規格IDを指定してください。\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003cth class\u003d\"w-25 align-middle table-ec-lightGray\" id\u003d\"file_format_box__header--2\"\u003e規格名\n \u003cspan class\u003d\"badge bg-primary ms-1\"\u003e必須\u003c/span\u003e\n \u003c/th\u003e\n \u003ctd class\u003d\"align-middle\"\u003e\n \n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003cth class\u003d\"w-25 align-middle table-ec-lightGray\" id\u003d\"file_format_box__header--3\"\u003e管理名\n \u003c/th\u003e\n \u003ctd class\u003d\"align-middle\"\u003e\n \n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003cth class\u003d\"w-25 align-middle table-ec-lightGray\" id\u003d\"file_format_box__header--4\"\u003e規格削除フラグ\n \u003c/th\u003e\n \u003ctd class\u003d\"align-middle\"\u003e\n 0:登録 1:削除を指定します。未指定の場合、0として扱います。\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003c/tbody\u003e\n \u003c/table\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003c/div\u003e\n\u003c/div\u003e\n\u003cscript\u003e\nvar eccube_lang \u003d {\n \u0027common.delete_confirm\u0027: \"削除してもよろしいですか?\",\n \u0027front.product.out_of_stock\u0027: \"ただいま品切れ中です。\",\n};\n\u003c/script\u003e\n\u003cscript src\u003d\"/html/template/admin/assets/js/function.js\"\u003e\u003c/script\u003e\n \u003cscript src\u003d\"/html/template/admin/assets/js/vendor/spin.min.js\"\u003e\u003c/script\u003e\n \u003cscript\u003e\n $(function() {\n\n var opts \u003d {\n lines: 13,\n length: 30,\n width: 2,\n radius: 12,\n corners: 1,\n rotate: 0,\n direction: 1,\n color: \u0027#BBB\u0027,\n speed: 1,\n trail: 67,\n shadow: true,\n hwaccel: false,\n className: \u0027spinner\u0027,\n zIndex: 2e9,\n top: top\n };\n\n ImageSpinner \u003d new Spinner(opts).spin(document.getElementById(\u0027spinner\u0027));\n ImageSpinner.stop();\n\n $(\u0027#upload-form\u0027).submit(function() {\n $(\u0027#upload-button\u0027).attr(\u0027disabled\u0027, \u0027disabled\u0027);\n $(\u0027#download-button\u0027).attr(\u0027disabled\u0027, \u0027disabled\u0027);\n ImageSpinner.spin(document.getElementById(\u0027spinner\u0027));\n });\n\n $(\u0027#file-select\u0027).click(function() {\n $(\u0027#admin_csv_import_import_file\u0027).click();\n $(\u0027#admin_csv_import_import_file\u0027).on(\u0027change\u0027, function() {\n var files \u003d $(this).prop(\u0027files\u0027);\n if (files.length) {\n $(\u0027#admin_csv_import_import_file_name\u0027).text(files[0].name);\n }\n });\n });\n });\n \u003c/script\u003e\n\n\u003cdiv id\u003d\"sfwdt09f29d\" class\u003d\"sf-toolbar sf-display-none\" role\u003d\"region\" aria-label\u003d\"Symfony Web Debug Toolbar\"\u003e \u003c!-- START of Symfony Web Debug Toolbar --\u003e\u003cdiv id\u003d\"sfMiniToolbar-09f29d\" class\u003d\"sf-minitoolbar\" data-no-turbolink data-turbo\u003d\"false\"\u003e \u003cbutton type\u003d\"button\" title\u003d\"Show Symfony toolbar\" id\u003d\"sfToolbarMiniToggler-09f29d\" accesskey\u003d\"D\" aria-expanded\u003d\"false\" aria-controls\u003d\"sfToolbarMainContent-09f29d\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarClearer-09f29d\" class\u003d\"sf-toolbar-clearer\"\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarMainContent-09f29d\" class\u003d\"sf-toolbarreset notranslate clear-fix\" data-no-turbolink\u003e \u003cdiv class\u003d\"sf-toolbar-block sf-toolbar-block-request sf-toolbar-status-normal \" \u003e \u003ca href\u003d\"https://ec-cube/_profiler/09f29d?panel\u003drequest\"\u003e \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003cspan class\u003d\"sf-toolbar-value sf-toolbar-ajax-request-counter\"\u003e Loading\u0026hellip; \u003c/span\u003e \u003c/div\u003e \u003c/a\u003e \u003cdiv class\u003d\"sf-toolbar-info\"\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003eLoading the web debug toolbar\u0026hellip;\u003c/b\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e Attempt #\u003cspan id\u003d\"sfLoadCounter-09f29d\"\u003e\u003c/span\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003e \u003cbutton class\u003d\"sf-cancel-button\" type\u003d\"button\" id\u003d\"sfLoadCancel-09f29d\" title\u003d\"Cancel loading\"\u003eCancel\u003c/button\u003e \u003c/b\u003e \u003c/div\u003e \u003c/div\u003e\u003c/div\u003e \u003cbutton class\u003d\"hide-button\" type\u003d\"button\" id\u003d\"sfToolbarHideButton-09f29d\" title\u003d\"Close Toolbar\" accesskey\u003d\"D\" aria-expanded\u003d\"true\" aria-controls\u003d\"sfToolbarMainContent-09f29d\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" data-icon-name\u003d\"icon-tabler-x\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\" stroke-width\u003d\"1.5\" stroke\u003d\"currentColor\" fill\u003d\"none\" stroke-linecap\u003d\"round\" stroke-linejoin\u003d\"round\"\u003e \u003cpath stroke\u003d\"none\" d\u003d\"M0 0h24v24H0z\" fill\u003d\"none\"\u003e\u003c/path\u003e \u003cline x1\u003d\"18\" y1\u003d\"6\" x2\u003d\"6\" y2\u003d\"18\"\u003e\u003c/line\u003e \u003cline x1\u003d\"6\" y1\u003d\"6\" x2\u003d\"18\" y2\u003d\"18\"\u003e\u003c/line\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003c!-- END of Symfony Web Debug Toolbar --\u003e\u003c/div\u003e\u003cstyle nonce\u003d\"ec156fa9d5a965ea870f1864ea7291b7\"\u003e .sf-toolbarreset { --sf-toolbar-font-family-system: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --sf-toolbar-font-family-monospace: \"Ubuntu Mono\", \"JetBrains Mono\", ui-monospace, \"Roboto Mono\", SFMono-Regular, Menlo, Monaco, Consolas,\"Liberation Mono\", \"Courier New\", monospace; --sf-toolbar-white: #fff; --sf-toolbar-black: #000; --sf-toolbar-gray-50: #fafafa; --sf-toolbar-gray-100: #f5f5f5; --sf-toolbar-gray-200: #e5e5e5; --sf-toolbar-gray-300: #d4d4d4; --sf-toolbar-gray-400: #a3a3a3; --sf-toolbar-gray-500: #737373; --sf-toolbar-gray-600: #525252; --sf-toolbar-gray-700: #404040; --sf-toolbar-gray-800: #262626; --sf-toolbar-gray-900: #171717; --sf-toolbar-red-50: #FEFBFC; --sf-toolbar-red-100: #FCE9ED; --sf-toolbar-red-200: #F5B8C5; --sf-toolbar-red-300: #EF869C; --sf-toolbar-red-400: #E85574; --sf-toolbar-red-500: #E1244B; --sf-toolbar-red-600: #B41939; --sf-toolbar-red-700: #83122A; --sf-toolbar-red-800: #510B1A; --sf-toolbar-red-900: #20040A; --sf-toolbar-yellow-50: #fef7e1; --sf-toolbar-yellow-100: #fef2cd; --sf-toolbar-yellow-200: #fde496; --sf-toolbar-yellow-300: #fcd55f; --sf-toolbar-yellow-400: #fbc728; --sf-toolbar-yellow-500: #e6af05; --sf-toolbar-yellow-600: #af8503; --sf-toolbar-yellow-700: #785b02; --sf-toolbar-yellow-800: #413101; --sf-toolbar-yellow-900: #0a0800; --sf-toolbar-green-50: #eff5f5; --sf-toolbar-green-100: #deeaea; --sf-toolbar-green-200: #bbd5d5; --sf-toolbar-green-300: #99bfbf; --sf-toolbar-green-400: #76a9a9; --sf-toolbar-green-500: #598e8e; --sf-toolbar-green-600: #436c6c; --sf-toolbar-green-700: #2e4949; --sf-toolbar-green-800: #182727; --sf-toolbar-green-900: #030404;}.sf-minitoolbar { --sf-toolbar-gray-800: #262626; background-color: var(--sf-toolbar-gray-800); border-top-left-radius: 4px; bottom: 0; box-sizing: border-box; display: none; height: 36px; padding: 6px; position: fixed; right: 0; z-index: 99999;}.sf-minitoolbar button { background-color: transparent; padding: 0; border: none;}.sf-minitoolbar svg,.sf-minitoolbar img { --sf-toolbar-gray-200: #e5e5e5; color: var(--sf-toolbar-gray-200); max-height: 24px; max-width: 24px; display: inline;}.sf-toolbar-clearer { clear: both; height: 36px;}.sf-display-none { display: none;}.sf-toolbarreset *:not(svg rect) { box-sizing: content-box; vertical-align: baseline; letter-spacing: normal; width: auto;}.sf-toolbarreset { background-color: var(--sf-toolbar-gray-800); bottom: 0; box-shadow: inset 0 1px 0 var(--sf-toolbar-black), 0 -1px 0 rgba(0, 0, 0, 0.5); color: var(--sf-toolbar-gray-200); font: 11px var(--sf-toolbar-font-family-system); left: 0; margin: 0; padding: 0 36px 0 0; position: fixed; right: 0; text-align: left; text-transform: none; z-index: 99999; direction: ltr; /* neutralize the aliasing defined by external CSS styles */ -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto;}.sf-toolbarreset abbr { border: dashed var(--sf-toolbar-gray-500); border-width: 0 0 1px;}.sf-toolbarreset svg,.sf-toolbarreset img { height: 20px; width: 20px; display: inline-block;}.sf-toolbarreset .sf-cancel-button { color: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-300); display: block; position: absolute; top: 2px; right: 0; width: 36px; height: 34px; cursor: pointer; text-align: center; border: none; margin: 0; padding: 0;}.sf-toolbarreset .hide-button:hover { background: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button svg { max-height: 18px; margin-top: 1px;}.sf-toolbar-block { cursor: default; display: block; float: left; height: 36px; margin-right: 0; position: relative; white-space: nowrap; max-width: 15%;}.sf-toolbar-block \u003e a,.sf-toolbar-block \u003e a:hover { display: block; text-decoration: none; background-color: transparent; color: inherit;}.sf-toolbar-block span { display: inline-block;}.sf-toolbar-block .sf-toolbar-value { color: var(--sf-toolbar-gray-100); font-size: 13px; line-height: 36px; padding: 0;}.sf-toolbar-block .sf-toolbar-label,.sf-toolbar-block .sf-toolbar-class-separator { color: var(--sf-toolbar-gray-400); font-size: 12px; margin-left: 2px;}.sf-toolbar-block .sf-toolbar-info { border-collapse: collapse; display: table; z-index: 100000;}.sf-toolbar-block hr { border-top: 1px solid var(--sf-toolbar-gray-500); margin: 4px 0; padding-top: 4px;}.sf-toolbar-block .sf-toolbar-info-piece { /* this \u0027border-bottom\u0027 trick is needed because \u0027margin-bottom\u0027 doesn\u0027t work for table rows */ border-bottom: solid transparent 3px; display: table-row;}.sf-toolbar-block .sf-toolbar-info-piece-additional,.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: none;}.sf-toolbar-block .sf-toolbar-info-group { margin-bottom: 4px; padding-bottom: 2px; border-bottom: 1px solid #333333;}.sf-toolbar-block .sf-toolbar-info-group:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status { border-radius: 4px; padding: 2px 5px; margin-bottom: 0;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status + .sf-toolbar-status { margin-left: 4px;}.sf-toolbar-block .sf-toolbar-info-piece:last-child { margin-bottom: 0;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece a { color: #99CDD8; text-decoration: underline;}div.sf-toolbar .sf-toolbar-block a:hover { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info-piece b { color: var(--sf-toolbar-gray-400); display: table-cell; font-size: 11px; padding: 4px 8px 4px 0;}.sf-toolbar-block:not(.sf-toolbar-block-dump) .sf-toolbar-info-piece span { color: var(--sf-toolbar-gray-100);}.sf-toolbar-block .sf-toolbar-info-piece span { font-size: 12px;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece.sf-toolbar-info-php-ext a { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info { background-color: var(--sf-toolbar-gray-700); border-radius: 4px; border-bottom-left-radius: 0; bottom: 36px; color: var(--sf-toolbar-gray-100); display: none; padding: 9px 0; position: absolute;}.sf-toolbar-block.sf-toolbar-block-right .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0;}.sf-toolbar-block .sf-toolbar-info:empty { visibility: hidden;}.sf-toolbar-block .sf-toolbar-status { display: inline-block; color: var(--sf-toolbar-white); background-color: var(--sf-toolbar-gray-600); padding: 3px 6px; margin: 0 4px; min-width: 15px; min-height: 13px; text-align: center;}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-green,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-green { background-color: #059669; color: var(--white);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-red,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-red { background-color: var(--sf-toolbar-red-500); color: var(--sf-toolbar-red-50);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-yellow,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); color: var(--sf-toolbar-yellow-800);}.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block.sf-toolbar-status-yellow::before { background: var(--sf-toolbar-yellow-400); border-radius: 6px; content: \u0027\u0027; position: absolute; bottom: 1px; left: 0; width: 98%; height: 3px; z-index: 10005;}.sf-toolbar-block.sf-toolbar-status-red::before { background: var(--sf-toolbar-red-400);}.sf-toolbar-block.sf-toolbar-status-green::before { background: var(--sf-toolbar-green-400);}.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-yellow::before { display: none;}.sf-toolbar-block-request .sf-toolbar-status { border-radius: 6px; color: #fff; display: inline-block; flex-shrink: 0; font-size: 13px; font-weight: 500; padding: 4px 8px;}.sf-toolbar-block-request .sf-toolbar-info-piece a { background-color: transparent; text-decoration: none;}.sf-toolbar-block-request .sf-toolbar-info-piece a:hover { text-decoration: underline;}.sf-toolbar-block-request .sf-toolbar-redirection-status { font-weight: normal; padding: 2px 4px; line-height: 18px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-redirection-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); border-radius: 4px; color: var(--sf-toolbar-yellow-800); padding: 1px 4px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-info-piece .sf-toolbar-redirection-method { background: transparent; color: var(--sf-toolbar-gray-300); border: 1px solid var(--sf-toolbar-gray-400); padding: 1px 4px;}.sf-toolbar-block-request .sf-toolbar-info-piece span.sf-toolbar-redirection-method { font-size: 12px; height: 17px; line-height: 17px; margin-right: 5px;}.sf-toolbar-block-request .sf-toolbar-request-icon svg { stroke-width: 3px;}.sf-toolbar-block-ajax .sf-toolbar-icon { cursor: pointer;}.sf-toolbar-status-green .sf-toolbar-label,.sf-toolbar-status-yellow .sf-toolbar-label,.sf-toolbar-status-red .sf-toolbar-label { color: var(--sf-toolbar-white);}.sf-toolbar-block-config svg path,.sf-toolbar-block-config svg .sf-svg-path { fill: var(--sf-toolbar-white);}.sf-toolbar-block .sf-toolbar-icon { color: var(--sf-toolbar-gray-300); align-items: center; display: flex; height: 36px; padding: 0 7px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-block:hover .sf-toolbar-icon { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block.sf-toolbar-block-right:hover .sf-toolbar-icon { box-shadow: -1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block-request .sf-toolbar-icon { padding-left: 0; padding-right: 0;}.sf-toolbar-block .sf-toolbar-icon img,.sf-toolbar-block .sf-toolbar-icon svg { border-width: 0;}.sf-toolbar-block .sf-toolbar-icon img + span,.sf-toolbar-block .sf-toolbar-icon svg + span { margin-left: 4px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-value,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-value { margin-left: 5px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-label { margin-left: 0;}.sf-toolbar-block:hover,.sf-toolbar-block.hover { position: relative;}.sf-toolbar-block:hover .sf-toolbar-icon,.sf-toolbar-block.hover .sf-toolbar-icon { background-color: var(--sf-toolbar-gray-700); position: relative; z-index: 10002;}.sf-toolbar-block-ajax.hover .sf-toolbar-info { z-index: 10001;}.sf-toolbar-block:hover .sf-toolbar-info,.sf-toolbar-block.hover .sf-toolbar-info { display: block; padding: 10px; max-width: 525px; max-height: 480px; word-wrap: break-word; overflow: hidden; overflow-y: auto;}.sf-toolbar-info-piece b.sf-toolbar-ajax-info { color: var(--sf-toolbar-gray-100);}.sf-toolbar-ajax-requests { border: 1px solid var(--sf-toolbar-gray-500); font-variant: tabular-nums; margin: 5px 0 0; width: 100%;}.sf-toolbar-ajax-requests td { background-color: var(--sf-toolbar-gray-700); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-100); font-size: 12px; padding: 4px; vertical-align: middle;}.sf-toolbar-ajax-requests thead { border: 0;}.sf-toolbar-ajax-requests th { background-color: var(--sf-toolbar-gray-800); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-200); font-size: 11px; padding: 4px;}.sf-ajax-request-url { max-width: 250px; line-height: 9px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-ajax-requests .sf-ajax-request-url a { text-decoration: none;}.sf-toolbar-ajax-requests .sf-ajax-request-url a:hover { text-decoration: underline;}.sf-ajax-request-duration { text-align: right;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-ajax-requests .sf-toolbar-status { font-size: 11px; padding: 1px 3px;}.sf-ajax-request-loading { animation: sf-blink .5s ease-in-out infinite;}@keyframes sf-blink { 0% { background: var(--sf-toolbar-gray-800); } 50% { background: var(--sf-toolbar-gray-700); } 100% { background: var(--sf-toolbar-gray-800); }}.sf-toolbar-block.sf-toolbar-block-dump .sf-toolbar-info { max-width: none; width: 100%; position: fixed; box-sizing: border-box; left: 0;}.sf-toolbar-block-dump pre.sf-dump { background-color: var(--sf-toolbar-gray-800); border-color: var(--sf-toolbar-gray-500); border-radius: 0; margin: 6px 0 12px 0;}.sf-toolbar-block-dump pre.sf-dump:last-child { margin-bottom: 0;}.sf-toolbar-block-dump pre.sf-dump .sf-dump-search-wrapper { margin-bottom: 5px;}.sf-toolbar-block-dump pre.sf-dump span.sf-dump-search-count { color: #333; font-size: 12px;}.sf-toolbar-block-dump .sf-toolbar-info-piece { display: block;}.sf-toolbar-block-dump .sf-toolbar-info-piece .sf-toolbar-file-line { color: var(--sf-toolbar-gray-400); margin-left: 4px;}.sf-toolbar-block-dump .sf-toolbar-info img { display: none;}.sf-toolbar-block-serializer .detailed-metrics { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 15px; margin-top: 15px;}/* Responsive Design */.sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-icon .sf-toolbar-value { display: none;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-cli .sf-toolbar-icon .sf-toolbar-label { display: inline-block;}/* Legacy Design - these styles are maintained to make old panels look a bit better on the new toolbar */.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-gray-400); font-size: 12px;}.sf-toolbar-status-green .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-yellow .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-red .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-white);}@media (min-width: 768px) { .sf-toolbar-icon .sf-toolbar-label, .sf-toolbar-icon .sf-toolbar-value { display: inline; } .sf-toolbar-block-time .sf-toolbar-icon svg, .sf-toolbar-block-memory .sf-toolbar-icon svg { display: none; } .sf-toolbar-block-time .sf-toolbar-icon svg + span, .sf-toolbar-block-memory .sf-toolbar-icon svg + span { margin-left: 0; } .sf-toolbar-block .sf-toolbar-icon { padding: 0 10px; } .sf-toolbar-block-time .sf-toolbar-icon { padding-right: 5px; } .sf-toolbar-block-memory .sf-toolbar-icon { padding-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon { display: flex; align-items: center; padding-left: 0; padding-right: 0; } .sf-toolbar-block-request .sf-toolbar-label { margin-left: 4px; margin-right: 1px; } .sf-toolbar-block-request .sf-toolbar-status + .sf-toolbar-request-icon { display: inline-flex; margin-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon .sf-toolbar-request-icon + .sf-toolbar-label { margin-left: 0; } .sf-toolbar-block-request .sf-toolbar-label + .sf-toolbar-value { margin-right: 5px; } .sf-toolbar-block-request:hover .sf-toolbar-info { max-width: none; } .sf-toolbar-block .sf-toolbar-info-piece b { font-size: 12px; } .sf-toolbar-block .sf-toolbar-info-piece span { font-size: 13px; } .sf-toolbar-block-right { float: right; margin-left: 0; margin-right: 0; } .sf-toolbarreset .sf-toolbar-block.sf-toolbar-block-right:not(.sf-toolbar-block-sf-cli) .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0; }}@media (min-width: 1024px) { .sf-toolbar-block .sf-toolbar-info-piece-additional, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: inline; } .sf-toolbar-block .sf-toolbar-info-piece-additional:empty, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail:empty { display: none; }}/***** Error Toolbar *****/.sf-error-toolbar .sf-toolbarreset { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-100); font: 13px/36px var(--sf-toolbar-font-family-system); height: 36px; padding: 0 15px; text-align: left;}.sf-error-toolbar .sf-toolbarreset svg { height: auto;}.sf-error-toolbar .sf-toolbarreset a { color: #99cdd8; margin-left: 5px; text-decoration: underline;}.sf-error-toolbar .sf-toolbarreset a:hover { text-decoration: none;}.sf-error-toolbar .sf-toolbarreset .sf-toolbar-icon { float: left; padding: 5px 0; margin-right: 10px;}.sf-full-stack { left: 0px; font-size: 12px;}/***** Media query print: Do not print the Toolbar. *****/@media print { .sf-toolbar { display: none !important; }}\u003c/style\u003e\u003cscript nonce\u003d\"dd2b3239707347042ce3351558644dd5\"\u003e/*\u003c![CDATA[*/ if (typeof Sfjs \u003d\u003d\u003d \u0027undefined\u0027 || typeof Sfjs.loadToolbar \u003d\u003d\u003d \u0027undefined\u0027) { Sfjs \u003d (function() { \"use strict\"; if (\u0027classList\u0027 in document.documentElement) { var hasClass \u003d function (el, cssClass) { return el.classList.contains(cssClass); }; var removeClass \u003d function(el, cssClass) { el.classList.remove(cssClass); }; var addClass \u003d function(el, cssClass) { el.classList.add(cssClass); }; var toggleClass \u003d function(el, cssClass) { el.classList.toggle(cssClass); }; } else { var hasClass \u003d function (el, cssClass) { return el.className.match(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027)); }; var removeClass \u003d function(el, cssClass) { el.className \u003d el.className.replace(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027), \u0027 \u0027); }; var addClass \u003d function(el, cssClass) { if (!hasClass(el, cssClass)) { el.className +\u003d \" \" + cssClass; } }; var toggleClass \u003d function(el, cssClass) { hasClass(el, cssClass) ? removeClass(el, cssClass) : addClass(el, cssClass); }; } var noop \u003d function() {}; var profilerStorageKey \u003d \u0027symfony/profiler/\u0027; var addEventListener; var el \u003d document.createElement(\u0027div\u0027); if (!(\u0027addEventListener\u0027 in el)) { addEventListener \u003d function (element, eventName, callback) { element.attachEvent(\u0027on\u0027 + eventName, callback); }; } else { addEventListener \u003d function (element, eventName, callback) { element.addEventListener(eventName, callback, false); }; } var request \u003d function(url, onSuccess, onError, payload, options, tries) { var xhr \u003d window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject(\u0027Microsoft.XMLHTTP\u0027); options \u003d options || {}; options.retry \u003d options.retry || false; tries \u003d tries || 1; /* this delays for 125, 375, 625, 875, and 1000, ... */ var delay \u003d tries \u003c 5 ? (tries - 0.5) * 250 : 1000; xhr.open(options.method || \u0027GET\u0027, url, true); xhr.setRequestHeader(\u0027X-Requested-With\u0027, \u0027XMLHttpRequest\u0027); xhr.onreadystatechange \u003d function(state) { if (4 !\u003d\u003d xhr.readyState) { return null; } if (xhr.status \u003d\u003d 404 \u0026\u0026 options.retry \u0026\u0026 !options.stop) { setTimeout(function() { if (options.stop) { return; } request(url, onSuccess, onError, payload, options, tries + 1); }, delay); return null; } if (200 \u003d\u003d\u003d xhr.status) { (onSuccess || noop)(xhr); } else { (onError || noop)(xhr); } }; if (options.onSend) { options.onSend(tries); } xhr.send(payload || \u0027\u0027); }; var getPreference \u003d function(name) { if (!window.localStorage) { return null; } return localStorage.getItem(profilerStorageKey + name); }; var setPreference \u003d function(name, value) { if (!window.localStorage) { return null; } localStorage.setItem(profilerStorageKey + name, value); }; var requestStack \u003d []; var extractHeaders \u003d function(xhr, stackElement) { /* Here we avoid to call xhr.getResponseHeader in order to */ /* prevent polluting the console with CORS security errors */ var allHeaders \u003d xhr.getAllResponseHeaders(); var ret; if (ret \u003d allHeaders.match(/^x-debug-token:\\s+(.*)$/im)) { stackElement.profile \u003d ret[1]; } if (ret \u003d allHeaders.match(/^x-debug-token-link:\\s+(.*)$/im)) { stackElement.profilerUrl \u003d ret[1]; } if (ret \u003d allHeaders.match(/^Symfony-Debug-Toolbar-Replace:\\s+(.*)$/im)) { stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d ret[1]; } }; var successStreak \u003d 4; var pendingRequests \u003d 0; var renderAjaxRequests \u003d function() { var requestCounter \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-counter\u0027); if (!requestCounter) { return; } requestCounter.textContent \u003d requestStack.length; var infoSpan \u003d document.querySelector(\".sf-toolbar-ajax-info\"); if (infoSpan) { infoSpan.textContent \u003d requestStack.length + \u0027 AJAX request\u0027 + (requestStack.length !\u003d\u003d 1 ? \u0027s\u0027 : \u0027\u0027); } var ajaxToolbarPanel \u003d document.querySelector(\u0027.sf-toolbar-block-ajax\u0027); if (requestStack.length) { ajaxToolbarPanel.style.display \u003d \u0027block\u0027; } else { ajaxToolbarPanel.style.display \u003d \u0027none\u0027; } if (pendingRequests \u003e 0) { addClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else if (successStreak \u003c 4) { addClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else { removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); removeClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); } }; var startAjaxRequest \u003d function(index) { var tbody \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027); if (!tbody) { return; } var nbOfAjaxRequest \u003d tbody.rows.length; if (nbOfAjaxRequest \u003e\u003d 100) { tbody.deleteRow(0); } var request \u003d requestStack[index]; pendingRequests++; var row \u003d document.createElement(\u0027tr\u0027); request.DOMNode \u003d row; var requestNumberCell \u003d document.createElement(\u0027td\u0027); requestNumberCell.textContent \u003d index + 1; row.appendChild(requestNumberCell); var profilerCell \u003d document.createElement(\u0027td\u0027); profilerCell.textContent \u003d \u0027n/a\u0027; row.appendChild(profilerCell); var methodCell \u003d document.createElement(\u0027td\u0027); methodCell.textContent \u003d request.method; row.appendChild(methodCell); var typeCell \u003d document.createElement(\u0027td\u0027); typeCell.textContent \u003d request.type; row.appendChild(typeCell); var statusCodeCell \u003d document.createElement(\u0027td\u0027); var statusCode \u003d document.createElement(\u0027span\u0027); statusCode.textContent \u003d \u0027n/a\u0027; statusCodeCell.appendChild(statusCode); row.appendChild(statusCodeCell); var pathCell \u003d document.createElement(\u0027td\u0027); pathCell.className \u003d \u0027sf-ajax-request-url\u0027; if (\u0027GET\u0027 \u003d\u003d\u003d request.method) { var pathLink \u003d document.createElement(\u0027a\u0027); pathLink.setAttribute(\u0027href\u0027, request.url); pathLink.textContent \u003d request.url; pathCell.appendChild(pathLink); } else { pathCell.textContent \u003d request.url; } pathCell.setAttribute(\u0027title\u0027, request.url); row.appendChild(pathCell); var durationCell \u003d document.createElement(\u0027td\u0027); durationCell.className \u003d \u0027sf-ajax-request-duration\u0027; durationCell.textContent \u003d \u0027n/a\u0027; row.appendChild(durationCell); request.liveDurationHandle \u003d setInterval(function() { durationCell.textContent \u003d (new Date() - request.start) + \u0027 ms\u0027; }, 100); row.className \u003d \u0027sf-ajax-request sf-ajax-request-loading\u0027; tbody.insertBefore(row, null); var toolbarInfo \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); toolbarInfo.scrollTop \u003d toolbarInfo.scrollHeight; renderAjaxRequests(); }; var finishAjaxRequest \u003d function(index) { var request \u003d requestStack[index]; clearInterval(request.liveDurationHandle); if (!request.DOMNode) { return; } if (request.toolbarReplace \u0026\u0026 !request.toolbarReplaceFinished \u0026\u0026 request.profile) { /* Flag as complete because finishAjaxRequest can be called multiple times. */ request.toolbarReplaceFinished \u003d true; /* Search up through the DOM to find the toolbar\u0027s container ID. */ for (var elem \u003d request.DOMNode; elem \u0026\u0026 elem !\u003d\u003d document; elem \u003d elem.parentNode) { if (elem.id.match(/^sfwdt/)) { Sfjs.loadToolbar(elem.id.replace(/^sfwdt/, \u0027\u0027), request.profile); break; } } } pendingRequests--; var row \u003d request.DOMNode; /* Unpack the children from the row */ var profilerCell \u003d row.children[1]; var methodCell \u003d row.children[2]; var statusCodeCell \u003d row.children[4]; var statusCodeElem \u003d statusCodeCell.children[0]; var durationCell \u003d row.children[6]; if (request.error) { row.className \u003d \u0027sf-ajax-request sf-ajax-request-error\u0027; methodCell.className \u003d \u0027sf-ajax-request-error\u0027; successStreak \u003d 0; } else { row.className \u003d \u0027sf-ajax-request sf-ajax-request-ok\u0027; successStreak++; } if (request.statusCode) { if (request.statusCode \u003c 300) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status\u0027); } else if (request.statusCode \u003c 400) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-yellow\u0027); } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } statusCodeElem.textContent \u003d request.statusCode; } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } if (request.duration) { durationCell.textContent \u003d request.duration + \u0027 ms\u0027; } if (request.profilerUrl) { profilerCell.textContent \u003d \u0027\u0027; var profilerLink \u003d document.createElement(\u0027a\u0027); profilerLink.setAttribute(\u0027href\u0027, request.profilerUrl); profilerLink.textContent \u003d request.profile; profilerCell.appendChild(profilerLink); } renderAjaxRequests(); }; if (window.fetch \u0026\u0026 window.fetch.polyfill \u003d\u003d\u003d undefined) { var oldFetch \u003d window.fetch; window.fetch \u003d function () { var promise \u003d oldFetch.apply(this, arguments); var url \u003d arguments[0]; var params \u003d arguments[1]; var paramType \u003d Object.prototype.toString.call(arguments[0]); if (paramType \u003d\u003d\u003d \u0027[object Request]\u0027) { url \u003d arguments[0].url; params \u003d { method: arguments[0].method, credentials: arguments[0].credentials, headers: arguments[0].headers, mode: arguments[0].mode, redirect: arguments[0].redirect }; } else { url \u003d String(url); } if (!url.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var method \u003d \u0027GET\u0027; if (params \u0026\u0026 params.method !\u003d\u003d undefined) { method \u003d params.method; } var stackElement \u003d { error: false, url: url, method: method, type: \u0027fetch\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; promise.then(function (r) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d r.status \u003c 200 || r.status \u003e\u003d 400; stackElement.statusCode \u003d r.status; stackElement.profile \u003d r.headers.get(\u0027x-debug-token\u0027); stackElement.profilerUrl \u003d r.headers.get(\u0027x-debug-token-link\u0027); stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d r.headers.get(\u0027Symfony-Debug-Toolbar-Replace\u0027); finishAjaxRequest(idx); }, function (e){ stackElement.error \u003d true; finishAjaxRequest(idx); }); startAjaxRequest(idx); } return promise; }; } if (window.XMLHttpRequest \u0026\u0026 XMLHttpRequest.prototype.addEventListener) { var proxied \u003d XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open \u003d function(method, url, async, user, pass) { var self \u003d this; /* prevent logging AJAX calls to static and inline files, like templates */ var path \u003d url; if (url.slice(0, 1) \u003d\u003d\u003d \u0027/\u0027) { if (0 \u003d\u003d\u003d url.indexOf(\u0027\u0027)) { path \u003d url.slice(0); } } else if (0 \u003d\u003d\u003d url.indexOf(\u0027http\\u003A\\/\\/localhost\\u003A8080\u0027)) { path \u003d url.slice(21); } if (!path.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var stackElement \u003d { error: false, url: url, method: method, type: \u0027xhr\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; this.addEventListener(\u0027readystatechange\u0027, function() { if (self.readyState \u003d\u003d 4) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d self.status \u003c 200 || self.status \u003e\u003d 400; stackElement.statusCode \u003d self.status; extractHeaders(self, stackElement); finishAjaxRequest(idx); } }, false); startAjaxRequest(idx); } proxied.apply(this, Array.prototype.slice.call(arguments)); }; } return { hasClass: hasClass, removeClass: removeClass, addClass: addClass, toggleClass: toggleClass, getPreference: getPreference, setPreference: setPreference, addEventListener: addEventListener, request: request, renderAjaxRequests: renderAjaxRequests, getSfwdt: function(token) { if (!this.sfwdt) { this.sfwdt \u003d document.getElementById(\u0027sfwdt\u0027 + token); } return this.sfwdt; }, load: function(selector, url, onSuccess, onError, options) { var el \u003d document.getElementById(selector); if (el \u0026\u0026 el.getAttribute(\u0027data-sfurl\u0027) !\u003d\u003d url) { request( url, function(xhr) { el.innerHTML \u003d xhr.responseText; el.setAttribute(\u0027data-sfurl\u0027, url); removeClass(el, \u0027loading\u0027); var pending \u003d pendingRequests; for (var i \u003d 0; i \u003c requestStack.length; i++) { startAjaxRequest(i); if (requestStack[i].duration) { finishAjaxRequest(i); } } /* Revert the pending state in case there was a start called without a finish above. */ pendingRequests \u003d pending; (onSuccess || noop)(xhr, el); }, function(xhr) { (onError || noop)(xhr, el); }, \u0027\u0027, options ); } return this; }, showToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); removeClass(sfwdt, \u0027sf-display-none\u0027); if (getPreference(\u0027toolbar/displayState\u0027) \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027none\u0027; } }, hideToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); addClass(sfwdt, \u0027sf-display-none\u0027); }, initToolbar: function(token) { this.showToolbar(token); var hideButton \u003d document.getElementById(\u0027sfToolbarHideButton-\u0027 + token); var hideButtonSvg \u003d hideButton.querySelector(\u0027svg\u0027); hideButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); hideButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(hideButton, \u0027click\u0027, function (event) { event.preventDefault(); var p \u003d this.parentNode; p.style.display \u003d \u0027none\u0027; (p.previousElementSibling || p.previousSibling).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; setPreference(\u0027toolbar/displayState\u0027, \u0027none\u0027); }); var showButton \u003d document.getElementById(\u0027sfToolbarMiniToggler-\u0027 + token); var showButtonSvg \u003d showButton.querySelector(\u0027svg\u0027); showButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); showButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(showButton, \u0027click\u0027, function (event) { event.preventDefault(); var elem \u003d this.parentNode; if (elem.style.display \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; elem.style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; elem.style.display \u003d \u0027none\u0027 } setPreference(\u0027toolbar/displayState\u0027, \u0027block\u0027); }); }, loadToolbar: function(token, newToken) { var that \u003d this; var triesCounter \u003d document.getElementById(\u0027sfLoadCounter-\u0027 + token); var options \u003d { retry: true, onSend: function (count) { if (count \u003d\u003d\u003d 3) { that.initToolbar(token); } if (triesCounter) { triesCounter.textContent \u003d count; } }, }; var cancelButton \u003d document.getElementById(\u0027sfLoadCancel-\u0027 + token); if (cancelButton) { addEventListener(cancelButton, \u0027click\u0027, function (event) { event.preventDefault(); options.stop \u003d true; that.hideToolbar(token); }); } newToken \u003d (newToken || token); this.load( \u0027sfwdt\u0027 + token, \u0027http\\u003A\\/\\/localhost\\u003A8080\\/_wdt\\/xxxxxx\u0027.replace(/xxxxxx/, newToken), function(xhr, el) { /* Do nothing in the edge case where the toolbar has already been replaced with a new one */ if (!document.getElementById(\u0027sfToolbarMainContent-\u0027 + newToken)) { return; } /* Evaluate in global scope scripts embedded inside the toolbar */ var i, scripts \u003d [].slice.call(el.querySelectorAll(\u0027script\u0027)); for (i \u003d 0; i \u003c scripts.length; ++i) { if (scripts[i].firstChild) { eval.call({}, scripts[i].firstChild.nodeValue); } } el.style.display \u003d -1 !\u003d\u003d xhr.responseText.indexOf(\u0027sf-toolbarreset\u0027) ? \u0027block\u0027 : \u0027none\u0027; if (el.style.display \u003d\u003d \u0027none\u0027) { return; } that.initToolbar(newToken); /* Handle toolbar-info position */ var toolbarBlocks \u003d [].slice.call(el.querySelectorAll(\u0027.sf-toolbar-block\u0027)); for (i \u003d 0; i \u003c toolbarBlocks.length; ++i) { toolbarBlocks[i].onmouseover \u003d function () { var toolbarInfo \u003d this.querySelectorAll(\u0027.sf-toolbar-info\u0027)[0]; var pageWidth \u003d document.body.clientWidth; var elementWidth \u003d toolbarInfo.offsetWidth; var leftValue \u003d (elementWidth + this.offsetLeft) - pageWidth; var rightValue \u003d (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth; /* Reset right and left value, useful on window resize */ toolbarInfo.style.right \u003d \u0027\u0027; toolbarInfo.style.left \u003d \u0027\u0027; if (elementWidth \u003e pageWidth) { toolbarInfo.style.left \u003d 0; } else if (leftValue \u003e 0 \u0026\u0026 rightValue \u003e 0) { toolbarInfo.style.right \u003d (rightValue * -1) + \u0027px\u0027; } else if (leftValue \u003c 0) { toolbarInfo.style.left \u003d 0; } else { toolbarInfo.style.right \u003d \u00270px\u0027; } }; } renderAjaxRequests(); addEventListener(document.querySelector(\u0027.sf-toolbar-ajax-clear\u0027), \u0027click\u0027, function() { requestStack \u003d []; renderAjaxRequests(); successStreak \u003d 4; document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027).innerHTML \u003d \u0027\u0027; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax\u0027), \u0027mouseenter\u0027, function (event) { var elem \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); elem.scrollTop \u003d elem.scrollHeight; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax \u003e .sf-toolbar-icon\u0027), \u0027click\u0027, function (event) { event.preventDefault(); toggleClass(this.parentNode, \u0027hover\u0027); }); var dumpInfo \u003d document.querySelector(\u0027.sf-toolbar-block-dump .sf-toolbar-info\u0027); if (null !\u003d\u003d dumpInfo) { addEventListener(dumpInfo, \u0027sfbeforedumpcollapse\u0027, function () { dumpInfo.style.minHeight \u003d dumpInfo.getBoundingClientRect().height+\u0027px\u0027; }); addEventListener(dumpInfo, \u0027mouseleave\u0027, function () { dumpInfo.style.minHeight \u003d \u0027\u0027; }); } }, function(xhr) { if (xhr.status !\u003d\u003d 0 \u0026\u0026 !options.stop) { var sfwdt \u003d that.getSfwdt(token); sfwdt.innerHTML \u003d \u0027\\ \u003cdiv class\u003d\"sf-toolbarreset notranslate\"\u003e\\ \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e\u003csvg width\u003d\"26\" height\u003d\"28\" xmlns\u003d\"http://www.w3.org/2000/svg\" version\u003d\"1.1\" x\u003d\"0px\" y\u003d\"0px\" viewBox\u003d\"0 0 26 28\" enable-background\u003d\"new 0 0 26 28\" xml:space\u003d\"preserve\"\u003e\u003cpath fill\u003d\"#FFFFFF\" d\u003d\"M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z\"/\u003e\u003c/svg\u003e\u003c/div\u003e\\ An error occurred while loading the web debug toolbar. \u003ca href\u003d\"http\\u003A\\/\\/localhost\\u003A8080\\/_profiler\\/\u0027 + newToken + \u0027\"\u003eOpen the web profiler.\u003c/a\u003e\\ \u003c/div\u003e\\ \u0027; sfwdt.setAttribute(\u0027class\u0027, \u0027sf-toolbar sf-error-toolbar\u0027); } }, options ); return this; }, toggle: function(selector, elOn, elOff) { var tmp \u003d elOn.style.display, el \u003d document.getElementById(selector); elOn.style.display \u003d elOff.style.display; elOff.style.display \u003d tmp; if (el) { el.style.display \u003d \u0027none\u0027 \u003d\u003d\u003d tmp ? \u0027none\u0027 : \u0027block\u0027; } return this; }, }; })(); } Sfjs.loadToolbar(\u002709f29d\u0027);/*]]\u003e*/\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n", + "statusCode": 200, + "responseTimeInMs": 364, + "elementType": "ZestResponse" + }, + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + }, + { + "rootExpression": { + "length": 86636, + "approx": 1, + "variableName": "response.body", + "not": false, + "elementType": "ZestExpressionLength" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1715667539125, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_csv_import__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 2, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/product/class_name", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \"Chromium\";v\u003d\"124\", \"Google Chrome\";v\u003d\"124\", \"Not-A.Brand\";v\u003d\"99\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"macOS\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "response": { + "url": "https://ec-cube/admin/product/class_name", + "headers": "HTTP/1.1 200 OK\r\nDate: Tue, 14 May 2024 06:19:34 GMT\r\nServer: Apache/2.4.59 (Debian)\r\nX-Frame-Options: SAMEORIGIN\r\nX-Powered-By: PHP/8.1.28\r\nCache-Control: max-age\u003d0, must-revalidate, private\r\nX-Debug-Token: d33e33\r\nX-Debug-Token-Link: https://ec-cube/_profiler/d33e33\r\nX-Robots-Tag: noindex\r\nExpires: Tue, 14 May 2024 06:19:34 GMT\r\nSet-Cookie: maintenance_token\u003ddeleted; expires\u003dMon, 15 May 2023 06:19:33 GMT; Max-Age\u003d0; path\u003d/; httponly\r\nVary: Accept-Encoding\r\nX-XSS-Protection: 1; mode\u003dblock\r\nX-Content-Type-Options: nosniff\r\nContent-Type: text/html; charset\u003dUTF-8\r\ncontent-length: 105079\r\n\r\n", + "body": "\u003c!doctype html\u003e\n\u003chtml lang\u003d\"ja\"\u003e\n\u003chead\u003e\n \u003cmeta charset\u003d\"utf-8\"\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width, initial-scale\u003d1, shrink-to-fit\u003dno\"\u003e\n \u003cmeta name\u003d\"eccube-csrf-token\" content\u003d\"6d07e92d510038e.DiMrbn-sfb5-KEaJCoUkq-5cRDPTlU1H3CtJMVWWFHw.aEweLyWYMcdKSwn-feZgwI0VHXim_AUCqVgYRD7sURp9dkANJsMizyxyEw\"\u003e\n \u003ctitle\u003e商品管理 規格管理 - EC-CUBE SHOP\u003c/title\u003e\n \u003clink rel\u003d\"icon\" href\u003d\"/html/template/admin/assets/img/favicon.ico\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/all.css\" integrity\u003d\"sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"https://use.fontawesome.com/releases/v5.3.1/css/v4-shims.css\" integrity\u003d\"sha384-lmquXrF9qn7mMo6iRQ662vN44vTTVUBpcdtDFWPxD9uFPqC/aMn6pcQrTTupiv1A\" crossorigin\u003d\"anonymous\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/bootstrap.css\"\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"/html/template/admin/assets/css/app.css\"\u003e\n \u003cscript src\u003d\"/html/bundle/admin.bundle.js\"\u003e\u003c/script\u003e\n \u003cstyle type\u003d\"text/css\"\u003e\n .list-group-item:hover {\n z-index: inherit;\n }\n \u003c/style\u003e\n \u003cscript\u003e\n $(function() {\n $.ajaxSetup({\n \u0027headers\u0027: {\n \u0027ECCUBE-CSRF-TOKEN\u0027: $(\u0027meta[name\u003d\"eccube-csrf-token\"]\u0027).attr(\u0027content\u0027)\n }\n });\n });\n \u003c/script\u003e\n \u003c/head\u003e\n\u003cbody id\u003d\"page_admin_product_class_name\"\u003e\n\u003cheader class\u003d\"c-headerBar\"\u003e\n \u003cdiv class\u003d\"c-headerBar__container\"\u003e\n \u003cdiv class\u003d\"c-headerBar__logo\"\u003e\n \u003ch1\u003e\u003cimg src\u003d\"/html/template/admin/assets/img/logo@2x.png\"\u003e\u003c/h1\u003e\n \u003c/div\u003e\n \u003ca class\u003d\"c-headerBar__toggleBtn\"\u003e\u003ci class\u003d\"fa fa-bars\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__shopTitle\" href\u003d\"https://ec-cube/\" target\u003d\"_blank\"\u003e\u003cspan\u003eEC-CUBE SHOP\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-right\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003ca class\u003d\"c-headerBar__userMenu\"\n data-bs-container\u003d\"body\"\n data-bs-toggle\u003d\"popover\"\n data-bs-placement\u003d\"bottom\"\n title\u003d\"最終ログイン\"\n data-bs-content\u003d\"\u0026lt;p\u0026gt;2024/05/14 15:11\u0026lt;/p\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/change_password\u0027 class\u003d\u0027btn btn-ec-regular w-100 mb-2\u0027\u0026gt;パスワード変更\u0026lt;/a\u0026gt;\u0026lt;a href\u003d\u0027https://ec-cube/admin/logout\u0027 class\u003d\u0027btn btn-ec-sub w-100\u0027\u0026gt;ログアウト\u0026lt;/a\u0026gt;\"\n data-bs-html\u003d\"true\"\u003e\u003ci class\u003d\"fa fa-user-circle\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003cspan\u003e管理者 様\u003c/span\u003e\u003ci class\u003d\"fa fa-angle-down\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003c/div\u003e\n\u003c/header\u003e\n\u003cdiv class\u003d\"c-container\"\u003e\n \u003cdiv class\u003d\"c-mainNavArea\"\u003e\n \u003cnav\u003e\n \u003cul class\u003d\"c-mainNavArea__nav\"\u003e\n \u003c!-- ホーム --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\" href\u003d\"https://ec-cube/admin/\"\u003e\n \u003ci class\u003d\"fa fa-home fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eホーム\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-product\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-product\"\u003e\n \u003ci class\u003d\"fa fa-cube fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e商品管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse show\" id\u003d\"nav-product\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product\"\u003e\n \u003cspan\u003e商品一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product/new\"\u003e\n \u003cspan\u003e商品登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name\" class\u003d\"is-active\"\u003e\n \u003cspan\u003e規格管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category\"\u003e\n \u003cspan\u003eカテゴリ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/tag\"\u003e\n \u003cspan\u003eタグ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/product_csv_upload\"\u003e\n \u003cspan\u003e商品CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_name_csv_upload\"\u003e\n \u003cspan\u003e規格CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category_csv_upload\"\u003e\n \u003cspan\u003e規格分類CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/category_csv_upload\"\u003e\n \u003cspan\u003eカテゴリCSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-order\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-order\"\u003e\n \u003ci class\u003d\"fa fa-shopping-cart fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e受注管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-order\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order\"\u003e\n \u003cspan\u003e受注一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/new\"\u003e\n \u003cspan\u003e受注登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/order/shipping_csv_upload\"\u003e\n \u003cspan\u003e出荷CSV登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-customer\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-customer\"\u003e\n \u003ci class\u003d\"fa fa-users fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e会員管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-customer\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer\"\u003e\n \u003cspan\u003e会員一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/customer/new\"\u003e\n \u003cspan\u003e会員登録\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-content\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-content\"\u003e\n \u003ci class\u003d\"fa fa-file-text-o fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eコンテンツ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-content\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/news\"\u003e\n \u003cspan\u003e新着情報管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/file_manager\"\u003e\n \u003cspan\u003eファイル管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/layout\"\u003e\n \u003cspan\u003eレイアウト管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page\"\u003e\n \u003cspan\u003eページ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/css\"\u003e\n \u003cspan\u003eCSS管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/js\"\u003e\n \u003cspan\u003eJavaScript管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/block\"\u003e\n \u003cspan\u003eブロック管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/cache\"\u003e\n \u003cspan\u003eキャッシュ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/maintenance\"\u003e\n \u003cspan\u003eメンテナンス管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-setting\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-setting\"\u003e\n \u003ci class\u003d\"fa fa-cog fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-setting\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-shop\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-shop\"\u003e\n \u003cspan\u003e店舗設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-shop\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop\"\u003e\n \u003cspan\u003e基本設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tradelaw\"\u003e\n \u003cspan\u003e特定商取引法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/content/page/19/edit?return\u003dagreement\"\u003e\n \u003cspan\u003e利用規約設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/payment\"\u003e\n \u003cspan\u003e支払方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/delivery\"\u003e\n \u003cspan\u003e配送方法設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/tax\"\u003e\n \u003cspan\u003e税率設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/mail\"\u003e\n \u003cspan\u003eメール設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/csv\"\u003e\n \u003cspan\u003eCSV出力項目設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/order_status\"\u003e\n \u003cspan\u003e受注対応状況設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/shop/calendar\"\u003e\n \u003cspan\u003e定休日カレンダー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-system\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-system\"\u003e\n \u003cspan\u003eシステム設定\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-system\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/member\"\u003e\n \u003cspan\u003eメンバー管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/authority\"\u003e\n \u003cspan\u003e権限管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/security\"\u003e\n \u003cspan\u003eセキュリティ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/login_history\"\u003e\n \u003cspan\u003eログイン履歴\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/log\"\u003e\n \u003cspan\u003eログ表示\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/masterdata\"\u003e\n \u003cspan\u003eマスタデータ管理\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/setting/system/system\"\u003e\n \u003cspan\u003eシステム情報\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-store\"\n aria-expanded\u003d\"false\"\n aria-controls\u003d\"nav-store\"\u003e\n \u003ci class\u003d\"fa fa-plug fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003eオーナーズストア\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse \" id\u003d\"nav-store\"\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-plugin\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-plugin\"\u003e\n \u003cspan\u003eプラグイン\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-plugin\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/api/search\"\u003e\n \u003cspan\u003eプラグインを探す\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin\"\u003e\n \u003cspan\u003eプラグイン一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemSubTitle collapsed\"\n data-bs-toggle\u003d\"collapse\" href\u003d\"#nav-template\"\n aria-expanded\u003d\"true\"\n aria-controls\u003d\"nav-template\"\u003e\n \u003cspan\u003eテンプレート\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"nav-template\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template\"\u003e\n \u003cspan\u003eテンプレート一覧\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/template/install\"\u003e\n \u003cspan\u003eアップロード\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://ec-cube/admin/store/plugin/authentication_setting\"\u003e\n \u003cspan\u003e認証キー設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c!-- 情報 --\u003e\n \u003cli class\u003d\"c-mainNavArea__navItem\"\u003e\n \u003ca class\u003d\"c-mainNavArea__navItemTitle collapsed\" data-bs-toggle\u003d\"collapse\" href\u003d\"#others\" aria-expanded\u003d\"false\"\n aria-controls\u003d\"others\"\u003e\n \u003ci class\u003d\"fa fa-info-circle fa-fw\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e\n \u003cspan\u003e情報\u003c/span\u003e\n \u003c/a\u003e\n \u003cul class\u003d\"collapse\" id\u003d\"others\"\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e公式サイト\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://xoops.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e開発コミュニティ\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"http://doc4.ec-cube.net\" target\u003d\"_blank\"\u003e\n \u003cspan\u003eドキュメント\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003cli\u003e\n \u003ca href\u003d\"https://www.ec-cube.net/manual/ec-cube4/\" target\u003d\"_blank\"\u003e\n \u003cspan\u003e管理・運用マニュアル\u003c/span\u003e\n \u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n\u003c/nav\u003e\n\n \u003c/div\u003e\n \u003cdiv class\u003d\"c-curtain\"\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"c-contentsArea\"\u003e\n \u003cdiv class\u003d\"c-pageTitle\"\u003e\n \u003cdiv class\u003d\"c-pageTitle__titles\"\u003e\n \u003ch2 class\u003d\"c-pageTitle__title\"\u003e規格管理\u003c/h2\u003e\u003cspan class\u003d\"c-pageTitle__subTitle\"\u003e商品管理\u003c/span\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \n\n\n\n\n \n \u003cdiv class\u003d\"alert alert-danger alert-dismissible fade show m-3\" role\u003d\"alert\"\u003e\n \u003ci class\u003d\"fa fa-warning fa-lg me-2\"\u003e\u003c/i\u003e\n \u003cspan class\u003d\"fw-bold\"\u003eデバッグモードが有効になっています。\u003c/span\u003e\n \u003cbutton class\u003d\"btn-close\" type\u003d\"button\" data-bs-dismiss\u003d\"alert\" aria-label\u003d\"Close\"\u003e\n \u003c/button\u003e\n \u003c/div\u003e\n\n\n \u003cdiv class\u003d\"c-outsideBlock\"\u003e\n \u003cdiv class\u003d\"c-outsideBlock__contents mb-2\"\u003e\n \u003cdiv class\u003d\"row\"\u003e\n \u003cdiv class\u003d\"col-12 text-right\"\u003e\n \u003cdiv class\u003d\"btn-group\" role\u003d\"group\"\u003e\n \u003ca class\u003d\"btn btn-ec-regular\" href\u003d\"https://ec-cube/admin/product/class_name/export\"\u003e\n \u003ci class\u003d\"fa fa-cloud-download mr-1 text-secondary\"\u003e\u003c/i\u003e\n \u003cspan\u003eCSVダウンロード\u003c/span\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-regular\" href\u003d\"https://ec-cube/admin/setting/shop/csv/6\"\u003e\n \u003ci class\u003d\"fa fa-cog mr-1 text-secondary\"\u003e\u003c/i\u003e\n \u003cspan\u003eCSV出力項目設定\u003c/span\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"c-contentsArea__cols\"\u003e\n \u003cdiv class\u003d\"c-contentsArea__primaryCol\"\u003e\n \u003cdiv class\u003d\"c-primaryCol\"\u003e\n \u003cdiv class\u003d\"card rounded border-0 mb-4\"\u003e\n \u003cdiv class\u003d\"card-body p-0\"\u003e\n \u003cdiv class\u003d\"card rounded border-0\"\u003e\n \u003cul class\u003d\"list-group list-group-flush sortable-container\"\u003e\n \u003cli class\u003d\"list-group-item\"\u003e\n \u003cform role\u003d\"form\" class\u003d\"row\" name\u003d\"form1\" id\u003d\"form1\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\n \u003cspan\u003e規格名\u003c/span\u003e\n \u003cspan class\u003d\"badge bg-primary ms-1\"\u003e必須\u003c/span\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-3 me-2\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"admin_class_name__token\" name\u003d\"admin_class_name[_token]\" value\u003d\"20475972b2a5476.zvbK-_d8ahIdjohv9jItmiNTOo4DyXYpsLDolCcJCzE._aWjop4kMiJK5uxcpGtB_XQpXOw2kANcndmf2FZsWHqamvmdvToPIlfrwQ\" /\u003e\n \u003cinput type\u003d\"text\" id\u003d\"admin_class_name_name\" name\u003d\"admin_class_name[name]\" required\u003d\"required\" class\u003d\"form-control\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"管理者用に別名を登録しておくことができます(例:規格名:サイズ 管理名:サイズ(服)、サイズ(靴)等 )。フロント画面には表示されません。\"\u003e\n \u003cspan\u003e管理名\u003c/span\u003e\n \u003ci class\u003d\"fa fa-question-circle fa-lg ms-1\"\u003e\u003c/i\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-3\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"admin_class_name_backend_name\" name\u003d\"admin_class_name[backend_name]\" class\u003d\"form-control\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-regular\" type\u003d\"submit\"\u003e新規作成\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003cli class\u003d\"list-group-item\"\u003e\n \u003cdiv class\u003d\"row\"\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cstrong\u003e\u0026nbsp;\u003c/strong\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto\"\u003e\u003cstrong\u003eID\u003c/strong\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-1\"\u003e\u003cstrong\u003e規格管理\u003c/strong\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/li\u003e\n \u003cli id\u003d\"ex-class_name-3\" class\u003d\"list-group-item sortable-item\" data-class-name-id\u003d\"3\" data-sort-no\u003d\"3\"\u003e\n \u003cdiv class\u003d\"row justify-content-around mode-view\"\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e\u003ci class\u003d\"fa fa-bars text-ec-gray\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e3\u003c/div\u003e\n \u003cdiv class\u003d\"col d-flex align-items-center\"\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category/3\"\u003eテスト[管理名:] (0)\u003c/a\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto text-end\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 up disabled\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"上へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-up fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 down \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"下へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-down fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-edit\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"編集\"\u003e\n \u003ci class\u003d\"fa fa-pencil fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003cdiv class\u003d\"d-inline-block me-2\" data-bs-toggle\u003d\"tooltip\"\n data-bs-placement\u003d\"top\" title\u003d\"削除\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon\"\n data-bs-toggle\u003d\"modal\" data-bs-target\u003d\"#DeleteModal\"\n data-url\u003d\"https://ec-cube/admin/product/class_name/3/delete\"\n data-message\u003d\"この操作はあとから取り消すことができません。「テスト」を削除してよろしいですか?\"\u003e\n \u003ci class\u003d\"fa fa-close fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cform class\u003d\"row d-none mode-edit\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"class_name_3__token\" name\u003d\"class_name_3[_token]\" value\u003d\"aed02c6dd65f4cd4e1.cVnoBtCbN3wi17mG42VkrlFHXJTqE9r5sTeXkCoGqag.FD3ca-HPZglH7tPqgg8c4h53avygf5ig3ELR9B5rmJ0AaJFplqNkM1Gz8A\" /\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e規格名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_3_name\" name\u003d\"class_name_3[name]\" required\u003d\"required\" data-origin-value\u003d\"テスト\" class\u003d\"form-control\" value\u003d\"テスト\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_3_backend_name\" name\u003d\"class_name_3[backend_name]\" data-origin-value\u003d\"\" class\u003d\"form-control\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" type\u003d\"submit\"\u003e決定\u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub action-edit-cancel\" type\u003d\"button\"\u003eキャンセル\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003cli id\u003d\"ex-class_name-2\" class\u003d\"list-group-item sortable-item\" data-class-name-id\u003d\"2\" data-sort-no\u003d\"2\"\u003e\n \u003cdiv class\u003d\"row justify-content-around mode-view\"\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e\u003ci class\u003d\"fa fa-bars text-ec-gray\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e2\u003c/div\u003e\n \u003cdiv class\u003d\"col d-flex align-items-center\"\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category/2\"\u003eサイズ[管理名:CUBE用サイズ] (3)\u003c/a\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto text-end\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 up \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"上へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-up fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 down \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"下へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-down fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-edit\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"編集\"\u003e\n \u003ci class\u003d\"fa fa-pencil fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003cdiv class\u003d\"d-inline-block me-2\" data-bs-toggle\u003d\"tooltip\"\n data-bs-placement\u003d\"top\" title\u003d\"削除\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon disabled\"\n \u003e\n \u003ci class\u003d\"fa fa-close fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cform class\u003d\"row d-none mode-edit\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"class_name_2__token\" name\u003d\"class_name_2[_token]\" value\u003d\"150ec7b.psnadoXPLPqAGoErzbSpz9lR2kMpfAZN6rBssp_tSJk.wpnoH8uVSMrOKdFtofndo587iBscBGEroe9b__KYF9vMrr8u9r10kfV78g\" /\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e規格名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_2_name\" name\u003d\"class_name_2[name]\" required\u003d\"required\" data-origin-value\u003d\"サイズ\" class\u003d\"form-control\" value\u003d\"サイズ\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_2_backend_name\" name\u003d\"class_name_2[backend_name]\" data-origin-value\u003d\"CUBE用サイズ\" class\u003d\"form-control\" value\u003d\"CUBE用サイズ\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" type\u003d\"submit\"\u003e決定\u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub action-edit-cancel\" type\u003d\"button\"\u003eキャンセル\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003cli id\u003d\"ex-class_name-1\" class\u003d\"list-group-item sortable-item\" data-class-name-id\u003d\"1\" data-sort-no\u003d\"1\"\u003e\n \u003cdiv class\u003d\"row justify-content-around mode-view\"\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e\u003ci class\u003d\"fa fa-bars text-ec-gray\"\u003e\u003c/i\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto d-flex align-items-center\"\u003e1\u003c/div\u003e\n \u003cdiv class\u003d\"col d-flex align-items-center\"\u003e\n \u003ca href\u003d\"https://ec-cube/admin/product/class_category/1\"\u003eフレーバー[管理名:CUBE用味] (4)\u003c/a\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto text-end\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 up \" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"上へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-up fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 down disabled\" href\u003d\"\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"下へ\"\u003e\n \u003ci class\u003d\"fa fa-arrow-down fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon me-2 action-edit\" data-bs-toggle\u003d\"tooltip\" data-bs-placement\u003d\"top\" title\u003d\"編集\"\u003e\n \u003ci class\u003d\"fa fa-pencil fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003cdiv class\u003d\"d-inline-block me-2\" data-bs-toggle\u003d\"tooltip\"\n data-bs-placement\u003d\"top\" title\u003d\"削除\"\u003e\n \u003ca class\u003d\"btn btn-ec-actionIcon disabled\"\n \u003e\n \u003ci class\u003d\"fa fa-close fa-lg text-secondary\"\u003e\u003c/i\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cform class\u003d\"row d-none mode-edit\" method\u003d\"post\" action\u003d\"https://ec-cube/admin/product/class_name\"\u003e\n \u003cinput type\u003d\"hidden\" id\u003d\"class_name_1__token\" name\u003d\"class_name_1[_token]\" value\u003d\"9aa70e46e6068295a79b39aff51.mn4bVZjsrVbJxs3QwRLjn5nlQWePCbgmmWGzjhPcEMo.0REvYPm_nzKPkrrlqVWOzKmpEi_DfelM_QKL_EKTWLvOSXQxzZuAZqqymA\" /\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e規格名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_1_name\" name\u003d\"class_name_1[name]\" required\u003d\"required\" data-origin-value\u003d\"フレーバー\" class\u003d\"form-control\" value\u003d\"フレーバー\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-self-center\"\u003e\u003cspan\u003e管理名\u003c/span\u003e\u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cinput type\u003d\"text\" id\u003d\"class_name_1_backend_name\" name\u003d\"class_name_1[backend_name]\" data-origin-value\u003d\"CUBE用味\" class\u003d\"form-control\" value\u003d\"CUBE用味\" /\u003e\n \n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-conversion\" type\u003d\"submit\"\u003e決定\u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"col-auto align-items-center\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub action-edit-cancel\" type\u003d\"button\"\u003eキャンセル\u003c/button\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c!-- 削除モーダル --\u003e\n \u003cdiv class\u003d\"modal fade\" id\u003d\"DeleteModal\" tabindex\u003d\"-1\" role\u003d\"dialog\"\n aria-labelledby\u003d\"DeleteModal\" aria-hidden\u003d\"true\"\u003e\n \u003cdiv class\u003d\"modal-dialog\" role\u003d\"document\"\u003e\n \u003cdiv class\u003d\"modal-content\"\u003e\n \u003cdiv class\u003d\"modal-header\"\u003e\n \u003ch5 class\u003d\"modal-title fw-bold\"\u003e\n 削除します\n \u003c/h5\u003e\n \u003cbutton class\u003d\"btn-close\" type\u003d\"button\" data-bs-dismiss\u003d\"modal\" aria-label\u003d\"Close\"\u003e\n\n \u003c/button\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"modal-body text-start\"\u003e\n \u003cp class\u003d\"text-start modal-message\"\u003e\u003c!-- jsでメッセージを挿入 --\u003e\u003c/p\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"modal-footer\"\u003e\n \u003cbutton class\u003d\"btn btn-ec-sub\" type\u003d\"button\" data-bs-dismiss\u003d\"modal\"\u003e\n キャンセル\n \u003c/button\u003e\n \u003ca class\u003d\"btn btn-ec-delete\" href\u003d\"#\" token-for-anchor\u003d\u00271d.oX0rRBAP8PCw7rBYZoY5TDORuPPDx1SJdygrF80fbNI.xxIeBUo7vImEjf8vEeV9J1DY4bi2rhzMAlt6YqZlKbTSKEAnSWCvgeK05Q\u0027\n data-method\u003d\"delete\" data-confirm\u003d\"false\"\u003e\n 削除\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cp\u003e項目の順番はドラッグ&ドロップでも変更可能です。\u003c/p\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003c/div\u003e\n\u003c/div\u003e\n\u003cscript\u003e\nvar eccube_lang \u003d {\n \u0027common.delete_confirm\u0027: \"削除してもよろしいですか?\",\n \u0027front.product.out_of_stock\u0027: \"ただいま品切れ中です。\",\n};\n\u003c/script\u003e\n\u003cscript src\u003d\"/html/template/admin/assets/js/function.js\"\u003e\u003c/script\u003e\n \u003cscript\u003e\n $(function() {\n var oldSortNos \u003d [];\n // 画面の中のsortNo一覧を保持\n $(\u0027.sortable-item\u0027).each(function() {\n oldSortNos.push(this.dataset.sortNo);\n });\n // rsort\n oldSortNos.sort(function(a, b) {\n return a - b;\n }).reverse();\n\n $(\u0027.sortable-container\u0027).sortable({\n items: \u0027\u003e .sortable-item\u0027,\n cursor: \u0027move\u0027,\n update: function(e, ui) {\n $(\u0027body\u0027).append($(\u0027\u003cdiv class\u003d\"modal-backdrop show\"\u003e\u003c/div\u003e\u0027));\n updateSortNo();\n }\n });\n\n var updateSortNo \u003d function() {\n // 並び替え後にsortNoを更新\n var newSortNos \u003d {};\n var i \u003d 0;\n $(\u0027.sortable-item\u0027).each(function() {\n newSortNos[this.dataset.classNameId] \u003d oldSortNos[i];\n i++;\n });\n\n $.ajax({\n url: \u0027https://ec-cube/admin/product/class_name/sort_no/move\u0027,\n type: \u0027POST\u0027,\n data: newSortNos\n }).done(function() {\n // remove class disable\n $(\u0027a.up.disabled\u0027).removeClass(\u0027disabled\u0027);\n $(\u0027a.down.disabled\u0027).removeClass(\u0027disabled\u0027);\n // First element\n $(\u0027.sortable-item \u003e li:nth-child(2) \u003e div \u003e div.col-auto.text-end \u003e a.up\u0027).addClass(\u0027disabled\u0027);\n }).always(function() {\n redrawDisableAllows();\n $(\u0027.modal-backdrop\u0027).remove();\n });\n };\n\n // 最初と最後の↑↓を再描画\n var redrawDisableAllows \u003d function() {\n var items \u003d $(\u0027.sortable-item\u0027);\n items.find(\u0027a.up\u0027).removeClass(\u0027disabled\u0027);\n items.find(\u0027a.down\u0027).removeClass(\u0027disabled\u0027);\n items.first().find(\u0027a.up\u0027).addClass(\u0027disabled\u0027);\n items.last().find(\u0027a.down\u0027).addClass(\u0027disabled\u0027);\n };\n\n $(\u0027.sortable-item a.up\u0027).click(function(e) {\n e.preventDefault();\n var current \u003d $(this).parents(\u0027.list-group-item\u0027);\n current.prev().before(current);\n $(\u0027body\u0027).append($(\u0027\u003cdiv class\u003d\"modal-backdrop show\"\u003e\u003c/div\u003e\u0027));\n updateSortNo();\n });\n\n $(\u0027.sortable-item a.down\u0027).click(function(e) {\n e.preventDefault();\n var current \u003d $(this).parents(\u0027.list-group-item\u0027);\n current.next().after(current);\n $(\u0027body\u0027).append($(\u0027\u003cdiv class\u003d\"modal-backdrop show\"\u003e\u003c/div\u003e\u0027));\n updateSortNo();\n });\n\n // 編集\n $(\u0027.sortable-item\u0027).on(\u0027click\u0027, \u0027a.action-edit\u0027, function(e) {\n e.preventDefault();\n var current \u003d $(this).parents(\u0027li\u0027);\n current.find(\u0027.mode-view\u0027).addClass(\u0027d-none\u0027);\n current.find(\u0027.mode-edit\u0027).removeClass(\u0027d-none\u0027);\n });\n // 編集キャンセル\n $(\u0027.sortable-item\u0027).on(\u0027click\u0027, \u0027button.action-edit-cancel\u0027, function(e) {\n location.href \u003d \u0027https://ec-cube/admin/product/class_name\u0027;\n });\n\n // 編集時, エラーがあれば入力欄を表示.\n $(\u0027.sortable-item\u0027).find(\u0027.is-invalid\u0027).each(function(e) {\n var current \u003d $(this).parents(\u0027li\u0027);\n current.find(\u0027.mode-view\u0027).addClass(\u0027d-none\u0027);\n current.find(\u0027.mode-edit\u0027).removeClass(\u0027d-none\u0027);\n });\n\n // 削除モーダルのhrefとmessageの変更\n $(\u0027#DeleteModal\u0027).on(\u0027shown.bs.modal\u0027, function(event) {\n var target \u003d $(event.relatedTarget);\n // hrefの変更\n $(this).find(\u0027[data-method\u003d\"delete\"]\u0027).attr(\u0027href\u0027, target.data(\u0027url\u0027));\n\n // messageの変更\n $(this).find(\u0027p.modal-message\u0027).text(target.data(\u0027message\u0027));\n });\n });\n \u003c/script\u003e\n\n\n\u003cdiv id\u003d\"sfwdtd33e33\" class\u003d\"sf-toolbar sf-display-none\" role\u003d\"region\" aria-label\u003d\"Symfony Web Debug Toolbar\"\u003e \u003c!-- START of Symfony Web Debug Toolbar --\u003e\u003cdiv id\u003d\"sfMiniToolbar-d33e33\" class\u003d\"sf-minitoolbar\" data-no-turbolink data-turbo\u003d\"false\"\u003e \u003cbutton type\u003d\"button\" title\u003d\"Show Symfony toolbar\" id\u003d\"sfToolbarMiniToggler-d33e33\" accesskey\u003d\"D\" aria-expanded\u003d\"false\" aria-controls\u003d\"sfToolbarMainContent-d33e33\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarClearer-d33e33\" class\u003d\"sf-toolbar-clearer\"\u003e\u003c/div\u003e\u003cdiv id\u003d\"sfToolbarMainContent-d33e33\" class\u003d\"sf-toolbarreset notranslate clear-fix\" data-no-turbolink\u003e \u003cdiv class\u003d\"sf-toolbar-block sf-toolbar-block-request sf-toolbar-status-normal \" \u003e \u003ca href\u003d\"https://ec-cube/_profiler/d33e33?panel\u003drequest\"\u003e \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\"\u003e\u003cpath fill\u003d\"currentColor\" d\u003d\"M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z\"/\u003e\u003c/svg\u003e \u003cspan class\u003d\"sf-toolbar-value sf-toolbar-ajax-request-counter\"\u003e Loading\u0026hellip; \u003c/span\u003e \u003c/div\u003e \u003c/a\u003e \u003cdiv class\u003d\"sf-toolbar-info\"\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003eLoading the web debug toolbar\u0026hellip;\u003c/b\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e Attempt #\u003cspan id\u003d\"sfLoadCounter-d33e33\"\u003e\u003c/span\u003e \u003c/div\u003e \u003cdiv class\u003d\"sf-toolbar-info-piece\"\u003e \u003cb\u003e \u003cbutton class\u003d\"sf-cancel-button\" type\u003d\"button\" id\u003d\"sfLoadCancel-d33e33\" title\u003d\"Cancel loading\"\u003eCancel\u003c/button\u003e \u003c/b\u003e \u003c/div\u003e \u003c/div\u003e\u003c/div\u003e \u003cbutton class\u003d\"hide-button\" type\u003d\"button\" id\u003d\"sfToolbarHideButton-d33e33\" title\u003d\"Close Toolbar\" accesskey\u003d\"D\" aria-expanded\u003d\"true\" aria-controls\u003d\"sfToolbarMainContent-d33e33\"\u003e \u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" data-icon-name\u003d\"icon-tabler-x\" width\u003d\"24\" height\u003d\"24\" viewBox\u003d\"0 0 24 24\" stroke-width\u003d\"1.5\" stroke\u003d\"currentColor\" fill\u003d\"none\" stroke-linecap\u003d\"round\" stroke-linejoin\u003d\"round\"\u003e \u003cpath stroke\u003d\"none\" d\u003d\"M0 0h24v24H0z\" fill\u003d\"none\"\u003e\u003c/path\u003e \u003cline x1\u003d\"18\" y1\u003d\"6\" x2\u003d\"6\" y2\u003d\"18\"\u003e\u003c/line\u003e \u003cline x1\u003d\"6\" y1\u003d\"6\" x2\u003d\"18\" y2\u003d\"18\"\u003e\u003c/line\u003e\u003c/svg\u003e \u003c/button\u003e\u003c/div\u003e\u003c!-- END of Symfony Web Debug Toolbar --\u003e\u003c/div\u003e\u003cstyle nonce\u003d\"fde9e02b26477c5d7d02ff3cc5deebef\"\u003e .sf-toolbarreset { --sf-toolbar-font-family-system: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --sf-toolbar-font-family-monospace: \"Ubuntu Mono\", \"JetBrains Mono\", ui-monospace, \"Roboto Mono\", SFMono-Regular, Menlo, Monaco, Consolas,\"Liberation Mono\", \"Courier New\", monospace; --sf-toolbar-white: #fff; --sf-toolbar-black: #000; --sf-toolbar-gray-50: #fafafa; --sf-toolbar-gray-100: #f5f5f5; --sf-toolbar-gray-200: #e5e5e5; --sf-toolbar-gray-300: #d4d4d4; --sf-toolbar-gray-400: #a3a3a3; --sf-toolbar-gray-500: #737373; --sf-toolbar-gray-600: #525252; --sf-toolbar-gray-700: #404040; --sf-toolbar-gray-800: #262626; --sf-toolbar-gray-900: #171717; --sf-toolbar-red-50: #FEFBFC; --sf-toolbar-red-100: #FCE9ED; --sf-toolbar-red-200: #F5B8C5; --sf-toolbar-red-300: #EF869C; --sf-toolbar-red-400: #E85574; --sf-toolbar-red-500: #E1244B; --sf-toolbar-red-600: #B41939; --sf-toolbar-red-700: #83122A; --sf-toolbar-red-800: #510B1A; --sf-toolbar-red-900: #20040A; --sf-toolbar-yellow-50: #fef7e1; --sf-toolbar-yellow-100: #fef2cd; --sf-toolbar-yellow-200: #fde496; --sf-toolbar-yellow-300: #fcd55f; --sf-toolbar-yellow-400: #fbc728; --sf-toolbar-yellow-500: #e6af05; --sf-toolbar-yellow-600: #af8503; --sf-toolbar-yellow-700: #785b02; --sf-toolbar-yellow-800: #413101; --sf-toolbar-yellow-900: #0a0800; --sf-toolbar-green-50: #eff5f5; --sf-toolbar-green-100: #deeaea; --sf-toolbar-green-200: #bbd5d5; --sf-toolbar-green-300: #99bfbf; --sf-toolbar-green-400: #76a9a9; --sf-toolbar-green-500: #598e8e; --sf-toolbar-green-600: #436c6c; --sf-toolbar-green-700: #2e4949; --sf-toolbar-green-800: #182727; --sf-toolbar-green-900: #030404;}.sf-minitoolbar { --sf-toolbar-gray-800: #262626; background-color: var(--sf-toolbar-gray-800); border-top-left-radius: 4px; bottom: 0; box-sizing: border-box; display: none; height: 36px; padding: 6px; position: fixed; right: 0; z-index: 99999;}.sf-minitoolbar button { background-color: transparent; padding: 0; border: none;}.sf-minitoolbar svg,.sf-minitoolbar img { --sf-toolbar-gray-200: #e5e5e5; color: var(--sf-toolbar-gray-200); max-height: 24px; max-width: 24px; display: inline;}.sf-toolbar-clearer { clear: both; height: 36px;}.sf-display-none { display: none;}.sf-toolbarreset *:not(svg rect) { box-sizing: content-box; vertical-align: baseline; letter-spacing: normal; width: auto;}.sf-toolbarreset { background-color: var(--sf-toolbar-gray-800); bottom: 0; box-shadow: inset 0 1px 0 var(--sf-toolbar-black), 0 -1px 0 rgba(0, 0, 0, 0.5); color: var(--sf-toolbar-gray-200); font: 11px var(--sf-toolbar-font-family-system); left: 0; margin: 0; padding: 0 36px 0 0; position: fixed; right: 0; text-align: left; text-transform: none; z-index: 99999; direction: ltr; /* neutralize the aliasing defined by external CSS styles */ -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto;}.sf-toolbarreset abbr { border: dashed var(--sf-toolbar-gray-500); border-width: 0 0 1px;}.sf-toolbarreset svg,.sf-toolbarreset img { height: 20px; width: 20px; display: inline-block;}.sf-toolbarreset .sf-cancel-button { color: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-300); display: block; position: absolute; top: 2px; right: 0; width: 36px; height: 34px; cursor: pointer; text-align: center; border: none; margin: 0; padding: 0;}.sf-toolbarreset .hide-button:hover { background: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button svg { max-height: 18px; margin-top: 1px;}.sf-toolbar-block { cursor: default; display: block; float: left; height: 36px; margin-right: 0; position: relative; white-space: nowrap; max-width: 15%;}.sf-toolbar-block \u003e a,.sf-toolbar-block \u003e a:hover { display: block; text-decoration: none; background-color: transparent; color: inherit;}.sf-toolbar-block span { display: inline-block;}.sf-toolbar-block .sf-toolbar-value { color: var(--sf-toolbar-gray-100); font-size: 13px; line-height: 36px; padding: 0;}.sf-toolbar-block .sf-toolbar-label,.sf-toolbar-block .sf-toolbar-class-separator { color: var(--sf-toolbar-gray-400); font-size: 12px; margin-left: 2px;}.sf-toolbar-block .sf-toolbar-info { border-collapse: collapse; display: table; z-index: 100000;}.sf-toolbar-block hr { border-top: 1px solid var(--sf-toolbar-gray-500); margin: 4px 0; padding-top: 4px;}.sf-toolbar-block .sf-toolbar-info-piece { /* this \u0027border-bottom\u0027 trick is needed because \u0027margin-bottom\u0027 doesn\u0027t work for table rows */ border-bottom: solid transparent 3px; display: table-row;}.sf-toolbar-block .sf-toolbar-info-piece-additional,.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: none;}.sf-toolbar-block .sf-toolbar-info-group { margin-bottom: 4px; padding-bottom: 2px; border-bottom: 1px solid #333333;}.sf-toolbar-block .sf-toolbar-info-group:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status { border-radius: 4px; padding: 2px 5px; margin-bottom: 0;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status + .sf-toolbar-status { margin-left: 4px;}.sf-toolbar-block .sf-toolbar-info-piece:last-child { margin-bottom: 0;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece a { color: #99CDD8; text-decoration: underline;}div.sf-toolbar .sf-toolbar-block a:hover { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info-piece b { color: var(--sf-toolbar-gray-400); display: table-cell; font-size: 11px; padding: 4px 8px 4px 0;}.sf-toolbar-block:not(.sf-toolbar-block-dump) .sf-toolbar-info-piece span { color: var(--sf-toolbar-gray-100);}.sf-toolbar-block .sf-toolbar-info-piece span { font-size: 12px;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece.sf-toolbar-info-php-ext a { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info { background-color: var(--sf-toolbar-gray-700); border-radius: 4px; border-bottom-left-radius: 0; bottom: 36px; color: var(--sf-toolbar-gray-100); display: none; padding: 9px 0; position: absolute;}.sf-toolbar-block.sf-toolbar-block-right .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0;}.sf-toolbar-block .sf-toolbar-info:empty { visibility: hidden;}.sf-toolbar-block .sf-toolbar-status { display: inline-block; color: var(--sf-toolbar-white); background-color: var(--sf-toolbar-gray-600); padding: 3px 6px; margin: 0 4px; min-width: 15px; min-height: 13px; text-align: center;}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-green,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-green { background-color: #059669; color: var(--white);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-red,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-red { background-color: var(--sf-toolbar-red-500); color: var(--sf-toolbar-red-50);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-yellow,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); color: var(--sf-toolbar-yellow-800);}.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block.sf-toolbar-status-yellow::before { background: var(--sf-toolbar-yellow-400); border-radius: 6px; content: \u0027\u0027; position: absolute; bottom: 1px; left: 0; width: 98%; height: 3px; z-index: 10005;}.sf-toolbar-block.sf-toolbar-status-red::before { background: var(--sf-toolbar-red-400);}.sf-toolbar-block.sf-toolbar-status-green::before { background: var(--sf-toolbar-green-400);}.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-yellow::before { display: none;}.sf-toolbar-block-request .sf-toolbar-status { border-radius: 6px; color: #fff; display: inline-block; flex-shrink: 0; font-size: 13px; font-weight: 500; padding: 4px 8px;}.sf-toolbar-block-request .sf-toolbar-info-piece a { background-color: transparent; text-decoration: none;}.sf-toolbar-block-request .sf-toolbar-info-piece a:hover { text-decoration: underline;}.sf-toolbar-block-request .sf-toolbar-redirection-status { font-weight: normal; padding: 2px 4px; line-height: 18px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-redirection-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); border-radius: 4px; color: var(--sf-toolbar-yellow-800); padding: 1px 4px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-info-piece .sf-toolbar-redirection-method { background: transparent; color: var(--sf-toolbar-gray-300); border: 1px solid var(--sf-toolbar-gray-400); padding: 1px 4px;}.sf-toolbar-block-request .sf-toolbar-info-piece span.sf-toolbar-redirection-method { font-size: 12px; height: 17px; line-height: 17px; margin-right: 5px;}.sf-toolbar-block-request .sf-toolbar-request-icon svg { stroke-width: 3px;}.sf-toolbar-block-ajax .sf-toolbar-icon { cursor: pointer;}.sf-toolbar-status-green .sf-toolbar-label,.sf-toolbar-status-yellow .sf-toolbar-label,.sf-toolbar-status-red .sf-toolbar-label { color: var(--sf-toolbar-white);}.sf-toolbar-block-config svg path,.sf-toolbar-block-config svg .sf-svg-path { fill: var(--sf-toolbar-white);}.sf-toolbar-block .sf-toolbar-icon { color: var(--sf-toolbar-gray-300); align-items: center; display: flex; height: 36px; padding: 0 7px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-block:hover .sf-toolbar-icon { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block.sf-toolbar-block-right:hover .sf-toolbar-icon { box-shadow: -1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block-request .sf-toolbar-icon { padding-left: 0; padding-right: 0;}.sf-toolbar-block .sf-toolbar-icon img,.sf-toolbar-block .sf-toolbar-icon svg { border-width: 0;}.sf-toolbar-block .sf-toolbar-icon img + span,.sf-toolbar-block .sf-toolbar-icon svg + span { margin-left: 4px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-value,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-value { margin-left: 5px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-label { margin-left: 0;}.sf-toolbar-block:hover,.sf-toolbar-block.hover { position: relative;}.sf-toolbar-block:hover .sf-toolbar-icon,.sf-toolbar-block.hover .sf-toolbar-icon { background-color: var(--sf-toolbar-gray-700); position: relative; z-index: 10002;}.sf-toolbar-block-ajax.hover .sf-toolbar-info { z-index: 10001;}.sf-toolbar-block:hover .sf-toolbar-info,.sf-toolbar-block.hover .sf-toolbar-info { display: block; padding: 10px; max-width: 525px; max-height: 480px; word-wrap: break-word; overflow: hidden; overflow-y: auto;}.sf-toolbar-info-piece b.sf-toolbar-ajax-info { color: var(--sf-toolbar-gray-100);}.sf-toolbar-ajax-requests { border: 1px solid var(--sf-toolbar-gray-500); font-variant: tabular-nums; margin: 5px 0 0; width: 100%;}.sf-toolbar-ajax-requests td { background-color: var(--sf-toolbar-gray-700); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-100); font-size: 12px; padding: 4px; vertical-align: middle;}.sf-toolbar-ajax-requests thead { border: 0;}.sf-toolbar-ajax-requests th { background-color: var(--sf-toolbar-gray-800); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-200); font-size: 11px; padding: 4px;}.sf-ajax-request-url { max-width: 250px; line-height: 9px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-ajax-requests .sf-ajax-request-url a { text-decoration: none;}.sf-toolbar-ajax-requests .sf-ajax-request-url a:hover { text-decoration: underline;}.sf-ajax-request-duration { text-align: right;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-ajax-requests .sf-toolbar-status { font-size: 11px; padding: 1px 3px;}.sf-ajax-request-loading { animation: sf-blink .5s ease-in-out infinite;}@keyframes sf-blink { 0% { background: var(--sf-toolbar-gray-800); } 50% { background: var(--sf-toolbar-gray-700); } 100% { background: var(--sf-toolbar-gray-800); }}.sf-toolbar-block.sf-toolbar-block-dump .sf-toolbar-info { max-width: none; width: 100%; position: fixed; box-sizing: border-box; left: 0;}.sf-toolbar-block-dump pre.sf-dump { background-color: var(--sf-toolbar-gray-800); border-color: var(--sf-toolbar-gray-500); border-radius: 0; margin: 6px 0 12px 0;}.sf-toolbar-block-dump pre.sf-dump:last-child { margin-bottom: 0;}.sf-toolbar-block-dump pre.sf-dump .sf-dump-search-wrapper { margin-bottom: 5px;}.sf-toolbar-block-dump pre.sf-dump span.sf-dump-search-count { color: #333; font-size: 12px;}.sf-toolbar-block-dump .sf-toolbar-info-piece { display: block;}.sf-toolbar-block-dump .sf-toolbar-info-piece .sf-toolbar-file-line { color: var(--sf-toolbar-gray-400); margin-left: 4px;}.sf-toolbar-block-dump .sf-toolbar-info img { display: none;}.sf-toolbar-block-serializer .detailed-metrics { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 15px; margin-top: 15px;}/* Responsive Design */.sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-icon .sf-toolbar-value { display: none;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-cli .sf-toolbar-icon .sf-toolbar-label { display: inline-block;}/* Legacy Design - these styles are maintained to make old panels look a bit better on the new toolbar */.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-gray-400); font-size: 12px;}.sf-toolbar-status-green .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-yellow .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-red .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-white);}@media (min-width: 768px) { .sf-toolbar-icon .sf-toolbar-label, .sf-toolbar-icon .sf-toolbar-value { display: inline; } .sf-toolbar-block-time .sf-toolbar-icon svg, .sf-toolbar-block-memory .sf-toolbar-icon svg { display: none; } .sf-toolbar-block-time .sf-toolbar-icon svg + span, .sf-toolbar-block-memory .sf-toolbar-icon svg + span { margin-left: 0; } .sf-toolbar-block .sf-toolbar-icon { padding: 0 10px; } .sf-toolbar-block-time .sf-toolbar-icon { padding-right: 5px; } .sf-toolbar-block-memory .sf-toolbar-icon { padding-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon { display: flex; align-items: center; padding-left: 0; padding-right: 0; } .sf-toolbar-block-request .sf-toolbar-label { margin-left: 4px; margin-right: 1px; } .sf-toolbar-block-request .sf-toolbar-status + .sf-toolbar-request-icon { display: inline-flex; margin-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon .sf-toolbar-request-icon + .sf-toolbar-label { margin-left: 0; } .sf-toolbar-block-request .sf-toolbar-label + .sf-toolbar-value { margin-right: 5px; } .sf-toolbar-block-request:hover .sf-toolbar-info { max-width: none; } .sf-toolbar-block .sf-toolbar-info-piece b { font-size: 12px; } .sf-toolbar-block .sf-toolbar-info-piece span { font-size: 13px; } .sf-toolbar-block-right { float: right; margin-left: 0; margin-right: 0; } .sf-toolbarreset .sf-toolbar-block.sf-toolbar-block-right:not(.sf-toolbar-block-sf-cli) .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0; }}@media (min-width: 1024px) { .sf-toolbar-block .sf-toolbar-info-piece-additional, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: inline; } .sf-toolbar-block .sf-toolbar-info-piece-additional:empty, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail:empty { display: none; }}/***** Error Toolbar *****/.sf-error-toolbar .sf-toolbarreset { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-100); font: 13px/36px var(--sf-toolbar-font-family-system); height: 36px; padding: 0 15px; text-align: left;}.sf-error-toolbar .sf-toolbarreset svg { height: auto;}.sf-error-toolbar .sf-toolbarreset a { color: #99cdd8; margin-left: 5px; text-decoration: underline;}.sf-error-toolbar .sf-toolbarreset a:hover { text-decoration: none;}.sf-error-toolbar .sf-toolbarreset .sf-toolbar-icon { float: left; padding: 5px 0; margin-right: 10px;}.sf-full-stack { left: 0px; font-size: 12px;}/***** Media query print: Do not print the Toolbar. *****/@media print { .sf-toolbar { display: none !important; }}\u003c/style\u003e\u003cscript nonce\u003d\"c19fe9b7549865ef57b8cb0b1369f77f\"\u003e/*\u003c![CDATA[*/ if (typeof Sfjs \u003d\u003d\u003d \u0027undefined\u0027 || typeof Sfjs.loadToolbar \u003d\u003d\u003d \u0027undefined\u0027) { Sfjs \u003d (function() { \"use strict\"; if (\u0027classList\u0027 in document.documentElement) { var hasClass \u003d function (el, cssClass) { return el.classList.contains(cssClass); }; var removeClass \u003d function(el, cssClass) { el.classList.remove(cssClass); }; var addClass \u003d function(el, cssClass) { el.classList.add(cssClass); }; var toggleClass \u003d function(el, cssClass) { el.classList.toggle(cssClass); }; } else { var hasClass \u003d function (el, cssClass) { return el.className.match(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027)); }; var removeClass \u003d function(el, cssClass) { el.className \u003d el.className.replace(new RegExp(\u0027\\\\b\u0027 + cssClass + \u0027\\\\b\u0027), \u0027 \u0027); }; var addClass \u003d function(el, cssClass) { if (!hasClass(el, cssClass)) { el.className +\u003d \" \" + cssClass; } }; var toggleClass \u003d function(el, cssClass) { hasClass(el, cssClass) ? removeClass(el, cssClass) : addClass(el, cssClass); }; } var noop \u003d function() {}; var profilerStorageKey \u003d \u0027symfony/profiler/\u0027; var addEventListener; var el \u003d document.createElement(\u0027div\u0027); if (!(\u0027addEventListener\u0027 in el)) { addEventListener \u003d function (element, eventName, callback) { element.attachEvent(\u0027on\u0027 + eventName, callback); }; } else { addEventListener \u003d function (element, eventName, callback) { element.addEventListener(eventName, callback, false); }; } var request \u003d function(url, onSuccess, onError, payload, options, tries) { var xhr \u003d window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject(\u0027Microsoft.XMLHTTP\u0027); options \u003d options || {}; options.retry \u003d options.retry || false; tries \u003d tries || 1; /* this delays for 125, 375, 625, 875, and 1000, ... */ var delay \u003d tries \u003c 5 ? (tries - 0.5) * 250 : 1000; xhr.open(options.method || \u0027GET\u0027, url, true); xhr.setRequestHeader(\u0027X-Requested-With\u0027, \u0027XMLHttpRequest\u0027); xhr.onreadystatechange \u003d function(state) { if (4 !\u003d\u003d xhr.readyState) { return null; } if (xhr.status \u003d\u003d 404 \u0026\u0026 options.retry \u0026\u0026 !options.stop) { setTimeout(function() { if (options.stop) { return; } request(url, onSuccess, onError, payload, options, tries + 1); }, delay); return null; } if (200 \u003d\u003d\u003d xhr.status) { (onSuccess || noop)(xhr); } else { (onError || noop)(xhr); } }; if (options.onSend) { options.onSend(tries); } xhr.send(payload || \u0027\u0027); }; var getPreference \u003d function(name) { if (!window.localStorage) { return null; } return localStorage.getItem(profilerStorageKey + name); }; var setPreference \u003d function(name, value) { if (!window.localStorage) { return null; } localStorage.setItem(profilerStorageKey + name, value); }; var requestStack \u003d []; var extractHeaders \u003d function(xhr, stackElement) { /* Here we avoid to call xhr.getResponseHeader in order to */ /* prevent polluting the console with CORS security errors */ var allHeaders \u003d xhr.getAllResponseHeaders(); var ret; if (ret \u003d allHeaders.match(/^x-debug-token:\\s+(.*)$/im)) { stackElement.profile \u003d ret[1]; } if (ret \u003d allHeaders.match(/^x-debug-token-link:\\s+(.*)$/im)) { stackElement.profilerUrl \u003d ret[1]; } if (ret \u003d allHeaders.match(/^Symfony-Debug-Toolbar-Replace:\\s+(.*)$/im)) { stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d ret[1]; } }; var successStreak \u003d 4; var pendingRequests \u003d 0; var renderAjaxRequests \u003d function() { var requestCounter \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-counter\u0027); if (!requestCounter) { return; } requestCounter.textContent \u003d requestStack.length; var infoSpan \u003d document.querySelector(\".sf-toolbar-ajax-info\"); if (infoSpan) { infoSpan.textContent \u003d requestStack.length + \u0027 AJAX request\u0027 + (requestStack.length !\u003d\u003d 1 ? \u0027s\u0027 : \u0027\u0027); } var ajaxToolbarPanel \u003d document.querySelector(\u0027.sf-toolbar-block-ajax\u0027); if (requestStack.length) { ajaxToolbarPanel.style.display \u003d \u0027block\u0027; } else { ajaxToolbarPanel.style.display \u003d \u0027none\u0027; } if (pendingRequests \u003e 0) { addClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else if (successStreak \u003c 4) { addClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); } else { removeClass(ajaxToolbarPanel, \u0027sf-ajax-request-loading\u0027); removeClass(ajaxToolbarPanel, \u0027sf-toolbar-status-red\u0027); } }; var startAjaxRequest \u003d function(index) { var tbody \u003d document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027); if (!tbody) { return; } var nbOfAjaxRequest \u003d tbody.rows.length; if (nbOfAjaxRequest \u003e\u003d 100) { tbody.deleteRow(0); } var request \u003d requestStack[index]; pendingRequests++; var row \u003d document.createElement(\u0027tr\u0027); request.DOMNode \u003d row; var requestNumberCell \u003d document.createElement(\u0027td\u0027); requestNumberCell.textContent \u003d index + 1; row.appendChild(requestNumberCell); var profilerCell \u003d document.createElement(\u0027td\u0027); profilerCell.textContent \u003d \u0027n/a\u0027; row.appendChild(profilerCell); var methodCell \u003d document.createElement(\u0027td\u0027); methodCell.textContent \u003d request.method; row.appendChild(methodCell); var typeCell \u003d document.createElement(\u0027td\u0027); typeCell.textContent \u003d request.type; row.appendChild(typeCell); var statusCodeCell \u003d document.createElement(\u0027td\u0027); var statusCode \u003d document.createElement(\u0027span\u0027); statusCode.textContent \u003d \u0027n/a\u0027; statusCodeCell.appendChild(statusCode); row.appendChild(statusCodeCell); var pathCell \u003d document.createElement(\u0027td\u0027); pathCell.className \u003d \u0027sf-ajax-request-url\u0027; if (\u0027GET\u0027 \u003d\u003d\u003d request.method) { var pathLink \u003d document.createElement(\u0027a\u0027); pathLink.setAttribute(\u0027href\u0027, request.url); pathLink.textContent \u003d request.url; pathCell.appendChild(pathLink); } else { pathCell.textContent \u003d request.url; } pathCell.setAttribute(\u0027title\u0027, request.url); row.appendChild(pathCell); var durationCell \u003d document.createElement(\u0027td\u0027); durationCell.className \u003d \u0027sf-ajax-request-duration\u0027; durationCell.textContent \u003d \u0027n/a\u0027; row.appendChild(durationCell); request.liveDurationHandle \u003d setInterval(function() { durationCell.textContent \u003d (new Date() - request.start) + \u0027 ms\u0027; }, 100); row.className \u003d \u0027sf-ajax-request sf-ajax-request-loading\u0027; tbody.insertBefore(row, null); var toolbarInfo \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); toolbarInfo.scrollTop \u003d toolbarInfo.scrollHeight; renderAjaxRequests(); }; var finishAjaxRequest \u003d function(index) { var request \u003d requestStack[index]; clearInterval(request.liveDurationHandle); if (!request.DOMNode) { return; } if (request.toolbarReplace \u0026\u0026 !request.toolbarReplaceFinished \u0026\u0026 request.profile) { /* Flag as complete because finishAjaxRequest can be called multiple times. */ request.toolbarReplaceFinished \u003d true; /* Search up through the DOM to find the toolbar\u0027s container ID. */ for (var elem \u003d request.DOMNode; elem \u0026\u0026 elem !\u003d\u003d document; elem \u003d elem.parentNode) { if (elem.id.match(/^sfwdt/)) { Sfjs.loadToolbar(elem.id.replace(/^sfwdt/, \u0027\u0027), request.profile); break; } } } pendingRequests--; var row \u003d request.DOMNode; /* Unpack the children from the row */ var profilerCell \u003d row.children[1]; var methodCell \u003d row.children[2]; var statusCodeCell \u003d row.children[4]; var statusCodeElem \u003d statusCodeCell.children[0]; var durationCell \u003d row.children[6]; if (request.error) { row.className \u003d \u0027sf-ajax-request sf-ajax-request-error\u0027; methodCell.className \u003d \u0027sf-ajax-request-error\u0027; successStreak \u003d 0; } else { row.className \u003d \u0027sf-ajax-request sf-ajax-request-ok\u0027; successStreak++; } if (request.statusCode) { if (request.statusCode \u003c 300) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status\u0027); } else if (request.statusCode \u003c 400) { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-yellow\u0027); } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } statusCodeElem.textContent \u003d request.statusCode; } else { statusCodeElem.setAttribute(\u0027class\u0027, \u0027sf-toolbar-status sf-toolbar-status-red\u0027); } if (request.duration) { durationCell.textContent \u003d request.duration + \u0027 ms\u0027; } if (request.profilerUrl) { profilerCell.textContent \u003d \u0027\u0027; var profilerLink \u003d document.createElement(\u0027a\u0027); profilerLink.setAttribute(\u0027href\u0027, request.profilerUrl); profilerLink.textContent \u003d request.profile; profilerCell.appendChild(profilerLink); } renderAjaxRequests(); }; if (window.fetch \u0026\u0026 window.fetch.polyfill \u003d\u003d\u003d undefined) { var oldFetch \u003d window.fetch; window.fetch \u003d function () { var promise \u003d oldFetch.apply(this, arguments); var url \u003d arguments[0]; var params \u003d arguments[1]; var paramType \u003d Object.prototype.toString.call(arguments[0]); if (paramType \u003d\u003d\u003d \u0027[object Request]\u0027) { url \u003d arguments[0].url; params \u003d { method: arguments[0].method, credentials: arguments[0].credentials, headers: arguments[0].headers, mode: arguments[0].mode, redirect: arguments[0].redirect }; } else { url \u003d String(url); } if (!url.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var method \u003d \u0027GET\u0027; if (params \u0026\u0026 params.method !\u003d\u003d undefined) { method \u003d params.method; } var stackElement \u003d { error: false, url: url, method: method, type: \u0027fetch\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; promise.then(function (r) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d r.status \u003c 200 || r.status \u003e\u003d 400; stackElement.statusCode \u003d r.status; stackElement.profile \u003d r.headers.get(\u0027x-debug-token\u0027); stackElement.profilerUrl \u003d r.headers.get(\u0027x-debug-token-link\u0027); stackElement.toolbarReplaceFinished \u003d false; stackElement.toolbarReplace \u003d \u00271\u0027 \u003d\u003d\u003d r.headers.get(\u0027Symfony-Debug-Toolbar-Replace\u0027); finishAjaxRequest(idx); }, function (e){ stackElement.error \u003d true; finishAjaxRequest(idx); }); startAjaxRequest(idx); } return promise; }; } if (window.XMLHttpRequest \u0026\u0026 XMLHttpRequest.prototype.addEventListener) { var proxied \u003d XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open \u003d function(method, url, async, user, pass) { var self \u003d this; /* prevent logging AJAX calls to static and inline files, like templates */ var path \u003d url; if (url.slice(0, 1) \u003d\u003d\u003d \u0027/\u0027) { if (0 \u003d\u003d\u003d url.indexOf(\u0027\u0027)) { path \u003d url.slice(0); } } else if (0 \u003d\u003d\u003d url.indexOf(\u0027http\\u003A\\/\\/localhost\\u003A8080\u0027)) { path \u003d url.slice(21); } if (!path.match(new RegExp(\"^\\/((index|app(_[\\\\w]+)?)\\\\.php\\/)?_wdt\"))) { var stackElement \u003d { error: false, url: url, method: method, type: \u0027xhr\u0027, start: new Date() }; var idx \u003d requestStack.push(stackElement) - 1; this.addEventListener(\u0027readystatechange\u0027, function() { if (self.readyState \u003d\u003d 4) { stackElement.duration \u003d new Date() - stackElement.start; stackElement.error \u003d self.status \u003c 200 || self.status \u003e\u003d 400; stackElement.statusCode \u003d self.status; extractHeaders(self, stackElement); finishAjaxRequest(idx); } }, false); startAjaxRequest(idx); } proxied.apply(this, Array.prototype.slice.call(arguments)); }; } return { hasClass: hasClass, removeClass: removeClass, addClass: addClass, toggleClass: toggleClass, getPreference: getPreference, setPreference: setPreference, addEventListener: addEventListener, request: request, renderAjaxRequests: renderAjaxRequests, getSfwdt: function(token) { if (!this.sfwdt) { this.sfwdt \u003d document.getElementById(\u0027sfwdt\u0027 + token); } return this.sfwdt; }, load: function(selector, url, onSuccess, onError, options) { var el \u003d document.getElementById(selector); if (el \u0026\u0026 el.getAttribute(\u0027data-sfurl\u0027) !\u003d\u003d url) { request( url, function(xhr) { el.innerHTML \u003d xhr.responseText; el.setAttribute(\u0027data-sfurl\u0027, url); removeClass(el, \u0027loading\u0027); var pending \u003d pendingRequests; for (var i \u003d 0; i \u003c requestStack.length; i++) { startAjaxRequest(i); if (requestStack[i].duration) { finishAjaxRequest(i); } } /* Revert the pending state in case there was a start called without a finish above. */ pendingRequests \u003d pending; (onSuccess || noop)(xhr, el); }, function(xhr) { (onError || noop)(xhr, el); }, \u0027\u0027, options ); } return this; }, showToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); removeClass(sfwdt, \u0027sf-display-none\u0027); if (getPreference(\u0027toolbar/displayState\u0027) \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027none\u0027; } }, hideToolbar: function(token) { var sfwdt \u003d this.getSfwdt(token); addClass(sfwdt, \u0027sf-display-none\u0027); }, initToolbar: function(token) { this.showToolbar(token); var hideButton \u003d document.getElementById(\u0027sfToolbarHideButton-\u0027 + token); var hideButtonSvg \u003d hideButton.querySelector(\u0027svg\u0027); hideButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); hideButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(hideButton, \u0027click\u0027, function (event) { event.preventDefault(); var p \u003d this.parentNode; p.style.display \u003d \u0027none\u0027; (p.previousElementSibling || p.previousSibling).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfMiniToolbar-\u0027 + token).style.display \u003d \u0027block\u0027; setPreference(\u0027toolbar/displayState\u0027, \u0027none\u0027); }); var showButton \u003d document.getElementById(\u0027sfToolbarMiniToggler-\u0027 + token); var showButtonSvg \u003d showButton.querySelector(\u0027svg\u0027); showButtonSvg.setAttribute(\u0027aria-hidden\u0027, \u0027true\u0027); showButtonSvg.setAttribute(\u0027focusable\u0027, \u0027false\u0027); addEventListener(showButton, \u0027click\u0027, function (event) { event.preventDefault(); var elem \u003d this.parentNode; if (elem.style.display \u003d\u003d \u0027none\u0027) { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027none\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027none\u0027; elem.style.display \u003d \u0027block\u0027; } else { document.getElementById(\u0027sfToolbarMainContent-\u0027 + token).style.display \u003d \u0027block\u0027; document.getElementById(\u0027sfToolbarClearer-\u0027 + token).style.display \u003d \u0027block\u0027; elem.style.display \u003d \u0027none\u0027 } setPreference(\u0027toolbar/displayState\u0027, \u0027block\u0027); }); }, loadToolbar: function(token, newToken) { var that \u003d this; var triesCounter \u003d document.getElementById(\u0027sfLoadCounter-\u0027 + token); var options \u003d { retry: true, onSend: function (count) { if (count \u003d\u003d\u003d 3) { that.initToolbar(token); } if (triesCounter) { triesCounter.textContent \u003d count; } }, }; var cancelButton \u003d document.getElementById(\u0027sfLoadCancel-\u0027 + token); if (cancelButton) { addEventListener(cancelButton, \u0027click\u0027, function (event) { event.preventDefault(); options.stop \u003d true; that.hideToolbar(token); }); } newToken \u003d (newToken || token); this.load( \u0027sfwdt\u0027 + token, \u0027http\\u003A\\/\\/localhost\\u003A8080\\/_wdt\\/xxxxxx\u0027.replace(/xxxxxx/, newToken), function(xhr, el) { /* Do nothing in the edge case where the toolbar has already been replaced with a new one */ if (!document.getElementById(\u0027sfToolbarMainContent-\u0027 + newToken)) { return; } /* Evaluate in global scope scripts embedded inside the toolbar */ var i, scripts \u003d [].slice.call(el.querySelectorAll(\u0027script\u0027)); for (i \u003d 0; i \u003c scripts.length; ++i) { if (scripts[i].firstChild) { eval.call({}, scripts[i].firstChild.nodeValue); } } el.style.display \u003d -1 !\u003d\u003d xhr.responseText.indexOf(\u0027sf-toolbarreset\u0027) ? \u0027block\u0027 : \u0027none\u0027; if (el.style.display \u003d\u003d \u0027none\u0027) { return; } that.initToolbar(newToken); /* Handle toolbar-info position */ var toolbarBlocks \u003d [].slice.call(el.querySelectorAll(\u0027.sf-toolbar-block\u0027)); for (i \u003d 0; i \u003c toolbarBlocks.length; ++i) { toolbarBlocks[i].onmouseover \u003d function () { var toolbarInfo \u003d this.querySelectorAll(\u0027.sf-toolbar-info\u0027)[0]; var pageWidth \u003d document.body.clientWidth; var elementWidth \u003d toolbarInfo.offsetWidth; var leftValue \u003d (elementWidth + this.offsetLeft) - pageWidth; var rightValue \u003d (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth; /* Reset right and left value, useful on window resize */ toolbarInfo.style.right \u003d \u0027\u0027; toolbarInfo.style.left \u003d \u0027\u0027; if (elementWidth \u003e pageWidth) { toolbarInfo.style.left \u003d 0; } else if (leftValue \u003e 0 \u0026\u0026 rightValue \u003e 0) { toolbarInfo.style.right \u003d (rightValue * -1) + \u0027px\u0027; } else if (leftValue \u003c 0) { toolbarInfo.style.left \u003d 0; } else { toolbarInfo.style.right \u003d \u00270px\u0027; } }; } renderAjaxRequests(); addEventListener(document.querySelector(\u0027.sf-toolbar-ajax-clear\u0027), \u0027click\u0027, function() { requestStack \u003d []; renderAjaxRequests(); successStreak \u003d 4; document.querySelector(\u0027.sf-toolbar-ajax-request-list\u0027).innerHTML \u003d \u0027\u0027; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax\u0027), \u0027mouseenter\u0027, function (event) { var elem \u003d document.querySelector(\u0027.sf-toolbar-block-ajax .sf-toolbar-info\u0027); elem.scrollTop \u003d elem.scrollHeight; }); addEventListener(document.querySelector(\u0027.sf-toolbar-block-ajax \u003e .sf-toolbar-icon\u0027), \u0027click\u0027, function (event) { event.preventDefault(); toggleClass(this.parentNode, \u0027hover\u0027); }); var dumpInfo \u003d document.querySelector(\u0027.sf-toolbar-block-dump .sf-toolbar-info\u0027); if (null !\u003d\u003d dumpInfo) { addEventListener(dumpInfo, \u0027sfbeforedumpcollapse\u0027, function () { dumpInfo.style.minHeight \u003d dumpInfo.getBoundingClientRect().height+\u0027px\u0027; }); addEventListener(dumpInfo, \u0027mouseleave\u0027, function () { dumpInfo.style.minHeight \u003d \u0027\u0027; }); } }, function(xhr) { if (xhr.status !\u003d\u003d 0 \u0026\u0026 !options.stop) { var sfwdt \u003d that.getSfwdt(token); sfwdt.innerHTML \u003d \u0027\\ \u003cdiv class\u003d\"sf-toolbarreset notranslate\"\u003e\\ \u003cdiv class\u003d\"sf-toolbar-icon\"\u003e\u003csvg width\u003d\"26\" height\u003d\"28\" xmlns\u003d\"http://www.w3.org/2000/svg\" version\u003d\"1.1\" x\u003d\"0px\" y\u003d\"0px\" viewBox\u003d\"0 0 26 28\" enable-background\u003d\"new 0 0 26 28\" xml:space\u003d\"preserve\"\u003e\u003cpath fill\u003d\"#FFFFFF\" d\u003d\"M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z\"/\u003e\u003c/svg\u003e\u003c/div\u003e\\ An error occurred while loading the web debug toolbar. \u003ca href\u003d\"http\\u003A\\/\\/localhost\\u003A8080\\/_profiler\\/\u0027 + newToken + \u0027\"\u003eOpen the web profiler.\u003c/a\u003e\\ \u003c/div\u003e\\ \u0027; sfwdt.setAttribute(\u0027class\u0027, \u0027sf-toolbar sf-error-toolbar\u0027); } }, options ); return this; }, toggle: function(selector, elOn, elOff) { var tmp \u003d elOn.style.display, el \u003d document.getElementById(selector); elOn.style.display \u003d elOff.style.display; elOff.style.display \u003d tmp; if (el) { el.style.display \u003d \u0027none\u0027 \u003d\u003d\u003d tmp ? \u0027none\u0027 : \u0027block\u0027; } return this; }, }; })(); } Sfjs.loadToolbar(\u0027d33e33\u0027);/*]]\u003e*/\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n", + "statusCode": 200, + "responseTimeInMs": 365, + "elementType": "ZestResponse" + }, + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + }, + { + "rootExpression": { + "length": 103457, + "approx": 1, + "variableName": "response.body", + "not": false, + "elementType": "ZestExpressionLength" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1715667574660, + "cookies": [], + "index": 3, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_class_name__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf4", + "index": 4, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 1, + "fieldName": "class_name_3__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf5", + "index": 5, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 2, + "fieldName": "class_name_2__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf6", + "index": 6, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "fieldDefinition": { + "formIndex": 3, + "fieldName": "class_name_1__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf7", + "index": 7, + "enabled": true, + "elementType": "ZestAssignFieldValue" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} \ No newline at end of file diff --git a/zap/scripts/admin_content_block.zst b/zap/scripts/admin_content_block.zst new file mode 100644 index 00000000000..ede82c643a0 --- /dev/null +++ b/zap/scripts/admin_content_block.zst @@ -0,0 +1,245 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_content_block", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "url": "https://ec-cube/admin/content/block/new", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656657036311, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "", + "location": "BODY", + "variableName": "eccube-csrf-token", + "index": 2, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "block__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 3, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "minInt": 0, + "maxInt": 2147483647, + "variableName": "block-suffix", + "index": 4, + "enabled": true, + "elementType": "ZestAssignRandomInteger" + }, + { + "url": "https://ec-cube/admin/content/block/new", + "data": "block%5B_token%5D={{csrf1}}&block%5Bid%5D=&block%5BDeviceType%5D=10&block%5Bname%5D=block_{{block-suffix}}&block%5Bfile_name%5D=block_{{block-suffix}}&block%5Bblock_html%5D=block_{{block-suffix}}", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 180\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656657064395, + "cookies": [], + "index": 5, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "Location: /admin/content/block/", + "postfix": "/edit", + "location": "HEAD", + "variableName": "block-id", + "index": 6, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "urlToken": "https://ec-cube/admin/content/block/{{block-id}}/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656657064441, + "cookies": [], + "index": 7, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "block__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf3", + "index": 8, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "urlToken": "https://ec-cube/admin/content/block/{{block-id}}/edit", + "data": "block%5B_token%5D={{csrf3}}&block%5Bid%5D={{block-id}}&block%5BDeviceType%5D=10&block%5Bname%5D=block_{{block-suffix}}&block%5Bfile_name%5D=block_{{block-suffix}}&block%5Bblock_html%5D=block_{{block-suffix}}", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 182\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656657073614, + "cookies": [], + "index": 9, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "urlToken": "https://ec-cube/admin/content/block/{{block-id}}/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656657073656, + "cookies": [], + "index": 10, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/content/block", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656657076212, + "cookies": [], + "index": 11, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "urlToken": "https://ec-cube/admin/content/block/{{block-id}}/delete", + "data": "_token={{eccube-csrf-token}}&_method=delete", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 65\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656657080937, + "cookies": [], + "index": 12, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/content/block", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656657080986, + "cookies": [], + "index": 13, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_content_cache.zst b/zap/scripts/admin_content_cache.zst new file mode 100644 index 00000000000..65545a51c7c --- /dev/null +++ b/zap/scripts/admin_content_cache.zst @@ -0,0 +1,140 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_content_cache", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "url": "https://ec-cube/admin/content/cache", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656658666539, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "", + "location": "BODY", + "variableName": "eccube-csrf-token", + "index": 2, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 3, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/content/cache", + "data": "form%5B_token%5D={{csrf1}}", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 60\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656658668779, + "cookies": [], + "index": 4, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf2", + "index": 5, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/disable_maintenance/auto_maintenance", + "data": "", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 0\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nX-Requested-With: XMLHttpRequest\r\nsec-ch-ua-mobile: ?0\r\nECCUBE-CSRF-TOKEN: {{eccube-csrf-token}}\r\nsec-ch-ua-platform: \"Linux\"\r\nOrigin: https://ec-cube\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Dest: empty\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656658668974, + "cookies": [], + "index": 6, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/content/cache", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656658666539, + "cookies": [], + "index": 7, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_content_file.zst b/zap/scripts/admin_content_file.zst new file mode 100644 index 00000000000..c12cee82d4f --- /dev/null +++ b/zap/scripts/admin_content_file.zst @@ -0,0 +1,355 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_content_file", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "comment": "ファイルアップロード", + "index": 1, + "enabled": true, + "elementType": "ZestComment" + }, + { + "url": "https://ec-cube/admin/content/file_manager", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641448897, + "cookies": [], + "index": 2, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "", + "location": "BODY", + "variableName": "eccube-csrf-token", + "index": 3, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 4, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "minInt": 0, + "maxInt": 2147483647, + "variableName": "file-id", + "index": 5, + "enabled": true, + "elementType": "ZestAssignRandomInteger" + }, + { + "url": "https://ec-cube/admin/content/file_manager", + "data": "------WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\nupload\r\n------WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nContent-Disposition: form-data; name=\"now_file\"\r\n\r\n/\r\n------WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nContent-Disposition: form-data; name=\"now_dir\"\r\n\r\n/\r\n------WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nContent-Disposition: form-data; name=\"tree_select_file\"\r\n\r\n/\r\n------WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nContent-Disposition: form-data; name=\"tree_status\"\r\n\r\n\r\n------WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nContent-Disposition: form-data; name=\"select_file\"\r\n\r\n\r\n------WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nContent-Disposition: form-data; name=\"form[_token]\"\r\n\r\n{{csrf1}}\n------WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nContent-Disposition: form-data; name=\"form[file][]\"; filename=\"file-{{file-id}}.txt\"\r\nContent-Type: text/plain\r\n\r\na\n\r\n------WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nContent-Disposition: form-data; name=\"form[create_file]\"\r\n\r\n\r\n------WebKitFormBoundary6fZWHGPQgGgZfhhW--\r\n", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 1026\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary6fZWHGPQgGgZfhhW\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641457587, + "cookies": [], + "index": 6, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "comment": "ファイル表示", + "index": 7, + "enabled": true, + "elementType": "ZestComment" + }, + { + "urlToken": "https://ec-cube/admin/content/file_view?file=%2Ffile-{{file-id}}.txt", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641470744, + "cookies": [], + "index": 8, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "comment": "ファイルダウンロード", + "index": 9, + "enabled": true, + "elementType": "ZestComment" + }, + { + "urlToken": "https://ec-cube/admin/content/file_download?select_file=%2Ffile-{{file-id}}.txt", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641477929, + "cookies": [], + "index": 10, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "comment": "ファイル削除", + "index": 11, + "enabled": true, + "elementType": "ZestComment" + }, + { + "urlToken": "https://ec-cube/admin/content/file_delete?select_file=/file-{{file-id}}.txt", + "data": "_token={{eccube-csrf-token}}&_method=delete", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 65\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641488388, + "cookies": [], + "index": 12, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/content/file_manager?tree_select_file=/", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641488409, + "cookies": [], + "index": 13, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf3", + "index": 14, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "comment": "ディレクトリ作成", + "index": 15, + "enabled": true, + "elementType": "ZestComment" + }, + { + "url": "https://ec-cube/admin/content/file_manager", + "data": "------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\ncreate\r\n------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nContent-Disposition: form-data; name=\"now_file\"\r\n\r\n/\r\n------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nContent-Disposition: form-data; name=\"now_dir\"\r\n\r\n/\r\n------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nContent-Disposition: form-data; name=\"tree_select_file\"\r\n\r\n/\r\n------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nContent-Disposition: form-data; name=\"tree_status\"\r\n\r\n\r\n------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nContent-Disposition: form-data; name=\"select_file\"\r\n\r\n\r\n------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nContent-Disposition: form-data; name=\"form[_token]\"\r\n\r\n{{csrf3}}\n------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nContent-Disposition: form-data; name=\"form[file][]\"; filename=\"\"\r\nContent-Type: application/octet-stream\r\n\r\n\r\n------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nContent-Disposition: form-data; name=\"form[create_file]\"\r\n\r\ndir\r-{{file-id}}\n------WebKitFormBoundary9Aj2Zxq4Yh7OUCCL--\r\n", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 1034\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary9Aj2Zxq4Yh7OUCCL\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641497148, + "cookies": [], + "index": 16, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf4", + "index": 17, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "comment": "ディレクトリ移動", + "index": 18, + "enabled": true, + "elementType": "ZestComment" + }, + { + "url": "https://ec-cube/admin/content/file_manager", + "data": "------WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nContent-Disposition: form-data; name=\"mode\"\r\n\r\nmove\r\n------WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nContent-Disposition: form-data; name=\"now_file\"\r\n\r\n/\r\n------WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nContent-Disposition: form-data; name=\"now_dir\"\r\n\r\n/\r\n------WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nContent-Disposition: form-data; name=\"tree_select_file\"\r\n\r\n/dir-{{file-id}}\n------WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nContent-Disposition: form-data; name=\"tree_status\"\r\n\r\n\r\n------WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nContent-Disposition: form-data; name=\"select_file\"\r\n\r\n\r\n------WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nContent-Disposition: form-data; name=\"form[_token]\"\r\n\r\n{{csrf4}}\n------WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nContent-Disposition: form-data; name=\"form[file][]\"; filename=\"\"\r\nContent-Type: application/octet-stream\r\n\r\n\r\n------WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nContent-Disposition: form-data; name=\"form[create_file]\"\r\n\r\n\r\n------WebKitFormBoundaryveHc6yQ9oBhRdRi5--\r\n", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 1032\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryveHc6yQ9oBhRdRi5\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641501158, + "cookies": [], + "index": 19, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf5", + "index": 20, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "comment": "ディレクトリ削除", + "index": 21, + "enabled": true, + "elementType": "ZestComment" + }, + { + "urlToken": "https://ec-cube/admin/content/file_delete?select_file=/dir-{{file-id}}", + "data": "_token={{eccube-csrf-token}}&_method=delete", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 65\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641513454, + "cookies": [], + "index": 22, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/content/file_manager?tree_select_file=/", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656641513476, + "cookies": [], + "index": 23, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf7", + "index": 24, + "enabled": true, + "elementType": "ZestAssignFieldValue" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_content_layout.zst b/zap/scripts/admin_content_layout.zst new file mode 100644 index 00000000000..d7342c9f43c --- /dev/null +++ b/zap/scripts/admin_content_layout.zst @@ -0,0 +1,237 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_content_layout", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "url": "https://ec-cube/admin/content/layout/new", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656643863964, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "", + "location": "BODY", + "variableName": "eccube-csrf-token", + "index": 2, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_layout__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 3, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/content/layout/new", + "data": "admin_layout%5B_token%5D={{csrf1}}&admin_layout%5Bname%5D=layout&admin_layout%5BDeviceType%5D=10&name_7=%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%8A%E3%83%93%28%E5%85%B1%E9%80%9A%29&block_id_7=8§ion_7=4&block_row_7=0&name_0=%E3%82%AB%E3%83%BC%E3%83%88&block_id_0=1§ion_0=0&block_row_0=0&name_1=%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA&block_id_1=2§ion_1=0&block_row_1=1&name_2=%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA%E3%83%8A%E3%83%93%28PC%29&block_id_2=3§ion_2=0&block_row_2=2&name_3=%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA%E3%83%8A%E3%83%93%28SP%29&block_id_3=4§ion_3=0&block_row_3=3&name_4=%E6%96%B0%E5%85%A5%E8%8D%B7%E5%95%86%E5%93%81%E7%89%B9%E9%9B%86&block_id_4=5§ion_4=0&block_row_4=4&name_5=%E3%83%95%E3%83%83%E3%82%BF%E3%83%BC&block_id_5=6§ion_5=0&block_row_5=5&name_6=%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%28%E5%95%86%E5%93%81%E6%A4%9C%E7%B4%A2%E3%83%BB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%8A%E3%83%93%E3%83%BB%E3%82%AB%E3%83%BC%E3%83%88%29&block_id_6=7§ion_6=0&block_row_6=6&name_8=%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%8A%E3%83%93%28SP%29&block_id_8=9§ion_8=0&block_row_8=7&name_9=%E3%83%AD%E3%82%B4&block_id_9=10§ion_9=0&block_row_9=8&name_10=%E6%96%B0%E7%9D%80%E5%95%86%E5%93%81&block_id_10=11§ion_10=0&block_row_10=9&name_11=%E6%96%B0%E7%9D%80%E6%83%85%E5%A0%B1&block_id_11=12§ion_11=0&block_row_11=10&name_12=%E5%95%86%E5%93%81%E6%A4%9C%E7%B4%A2&block_id_12=13§ion_12=0&block_row_12=11&name_13=%E3%83%88%E3%83%94%E3%83%83%E3%82%AF&block_id_13=14§ion_13=0&block_row_13=12&name_14=%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC&block_id_14=17§ion_14=0&block_row_14=13", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 1675\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656643892440, + "cookies": [], + "index": 4, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "Location: /admin/content/layout/", + "postfix": "/edit", + "location": "HEAD", + "variableName": "layout-id", + "index": 5, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "urlToken": "https://ec-cube/admin/content/layout/{{layout-id}}/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656643892506, + "cookies": [], + "index": 6, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_layout__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf2", + "index": 7, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "urlToken": "https://ec-cube/admin/content/layout/{{layout-id}}/edit", + "data": "admin_layout%5B_token%5D={{csrf2}}&admin_layout%5Bname%5D=layout&admin_layout%5BDeviceType%5D=10&name_0=%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%8A%E3%83%93%28%E5%85%B1%E9%80%9A%29&block_id_0=8§ion_0=4&block_row_0=0&name_1=%E3%82%AB%E3%83%BC%E3%83%88&block_id_1=1§ion_1=0&block_row_1=0&name_2=%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA&block_id_2=2§ion_2=0&block_row_2=1&name_3=%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA%E3%83%8A%E3%83%93%28PC%29&block_id_3=3§ion_3=0&block_row_3=2&name_4=%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA%E3%83%8A%E3%83%93%28SP%29&block_id_4=4§ion_4=0&block_row_4=3&name_5=%E6%96%B0%E5%85%A5%E8%8D%B7%E5%95%86%E5%93%81%E7%89%B9%E9%9B%86&block_id_5=5§ion_5=0&block_row_5=4&name_6=%E3%83%95%E3%83%83%E3%82%BF%E3%83%BC&block_id_6=6§ion_6=0&block_row_6=5&name_7=%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%28%E5%95%86%E5%93%81%E6%A4%9C%E7%B4%A2%E3%83%BB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%8A%E3%83%93%E3%83%BB%E3%82%AB%E3%83%BC%E3%83%88%29&block_id_7=7§ion_7=0&block_row_7=6&name_8=%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%8A%E3%83%93%28SP%29&block_id_8=9§ion_8=0&block_row_8=7&name_9=%E3%83%AD%E3%82%B4&block_id_9=10§ion_9=0&block_row_9=8&name_10=%E6%96%B0%E7%9D%80%E5%95%86%E5%93%81&block_id_10=11§ion_10=0&block_row_10=9&name_11=%E6%96%B0%E7%9D%80%E6%83%85%E5%A0%B1&block_id_11=12§ion_11=0&block_row_11=10&name_12=%E5%95%86%E5%93%81%E6%A4%9C%E7%B4%A2&block_id_12=13§ion_12=0&block_row_12=11&name_13=%E3%83%88%E3%83%94%E3%83%83%E3%82%AF&block_id_13=14§ion_13=0&block_row_13=12&name_14=%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC&block_id_14=17§ion_14=0&block_row_14=13", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 1675\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656643906320, + "cookies": [], + "index": 8, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "urlToken": "https://ec-cube/admin/content/layout/{{layout-id}}/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656643906371, + "cookies": [], + "index": 9, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/content/layout/view_block?id=8", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nX-Requested-With: XMLHttpRequest\r\nsec-ch-ua-mobile: ?0\r\nECCUBE-CSRF-TOKEN: XaDCYWuVuRnL0SLNrVYOOhDcZpmlhav_W1KB-F6nGZ0\r\nsec-ch-ua-platform: \"Linux\"\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Dest: empty\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656643927697, + "cookies": [], + "index": 10, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "urlToken": "https://ec-cube/admin/content/layout/{{layout-id}}/delete", + "data": "_token={{eccube-csrf-token}}&_method=delete", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 65\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656643968112, + "cookies": [], + "index": 11, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/content/layout", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656643968164, + "cookies": [], + "index": 12, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_create_customer.zst b/zap/scripts/admin_create_customer.zst new file mode 100644 index 00000000000..2dce345bc80 --- /dev/null +++ b/zap/scripts/admin_create_customer.zst @@ -0,0 +1,463 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_create_customer", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "url": "https://ec-cube/admin/login", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: none\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292281770, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "_csrf_token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 2, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/login", + "urlToken": "https://ec-cube/admin/login", + "data": "_csrf_token={{csrf1}}&login_id=admin&password=password", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 88\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292289492, + "cookies": [], + "index": 3, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/customer/new", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292294336, + "cookies": [], + "index": 4, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf2", + "index": 5, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/customer/new", + "data": "admin_customer%5B_token%5D={{csrf2}}&admin_customer%5Bname%5D%5Bname01%5D=%E5%A7%93&admin_customer%5Bname%5D%5Bname02%5D=%E5%90%8D&admin_customer%5Bkana%5D%5Bkana01%5D=%E3%82%BB%E3%82%A4&admin_customer%5Bkana%5D%5Bkana02%5D=%E3%83%A1%E3%82%A4&admin_customer%5Bcompany_name%5D=&admin_customer%5Bpostal_code%5D=5300001&admin_customer%5Baddress%5D%5Bpref%5D=27&admin_customer%5Baddress%5D%5Baddr01%5D=%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E6%A2%85%E7%94%B0&admin_customer%5Baddress%5D%5Baddr02%5D=1-2-3&admin_customer%5Bemail%5D=user%40example.com&admin_customer%5Bphone_number%5D=08012345678&admin_customer%5Bplain_password%5D%5Bfirst%5D=password1234&admin_customer%5Bplain_password%5D%5Bsecond%5D=password1234&admin_customer%5Bsex%5D=1&admin_customer%5Bjob%5D=&admin_customer%5Bbirth%5D=&admin_customer%5Bpoint%5D=0&admin_customer%5Bnote%5D=&admin_customer%5Bstatus%5D=2&admin_customer%5Bmailmaga_flg%5D=0", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 891\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292348003, + "cookies": [], + "index": 6, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 1, + "fieldName": "_csrf_token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf4", + "index": 7, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/products/detail/1", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: none\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292827696, + "cookies": [], + "index": 8, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 1, + "fieldName": "_token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf3", + "index": 9, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/products/add_cart/1", + "urlToken": "https://ec-cube/products/add_cart/1", + "data": "classcategory_id1=1&classcategory_id2=4&quantity=1&product_id=1&ProductClass=10&_token={{csrf3}}", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 130\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nECCUBE-CSRF-TOKEN: FGJmL1gn-JpOEpsDHU7NVBdcbsP9VvR99-28Lek47NA\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nX-Requested-With: XMLHttpRequest\r\nsec-ch-ua-platform: \"Linux\"\r\nOrigin: https://ec-cube\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Dest: empty\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292834165, + "cookies": [], + "index": 10, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/block/cart", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nX-Requested-With: XMLHttpRequest\r\nsec-ch-ua-mobile: ?0\r\nECCUBE-CSRF-TOKEN: FGJmL1gn-JpOEpsDHU7NVBdcbsP9VvR99-28Lek47NA\r\nsec-ch-ua-platform: \"Linux\"\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Dest: empty\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292834230, + "cookies": [], + "index": 11, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/cart", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292835773, + "cookies": [], + "index": 12, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "href=\"/cart/buystep/", + "postfix": "\">レジに進む", + "location": "BODY", + "variableName": "cart-id", + "index": 13, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "urlToken": "https://ec-cube/cart/buystep/{{cart-id}}", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292837943, + "cookies": [], + "index": 14, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/shopping", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292837977, + "cookies": [], + "index": 15, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/shopping/login", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292838003, + "cookies": [], + "index": 16, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 1, + "fieldName": "_csrf_token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf5", + "index": 17, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/mypage/login", + "data": "_target_path=shopping&_failure_path=shopping_login&_csrf_token={{csrf5}}&login_email=user%40example.com&login_pass=password1234", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 157\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292848088, + "cookies": [], + "index": 18, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/shopping", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292848126, + "cookies": [], + "index": 19, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 1, + "fieldName": "shopping_order__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf6", + "index": 20, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/shopping/confirm", + "urlToken": "https://ec-cube/shopping/confirm", + "data": "_shopping_order%5B_token%5D={{csrf6}}&_shopping_order%5Bredirect_to%5D=&_shopping_order%5BShippings%5D%5B0%5D%5BDelivery%5D=1&_shopping_order%5BShippings%5D%5B0%5D%5Bshipping_delivery_date%5D=&_shopping_order%5BShippings%5D%5B0%5D%5BDeliveryTime%5D=&_shopping_order%5BPayment%5D=1&_shopping_order%5Buse_point%5D=0&_shopping_order%5Bmessage%5D=", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 377\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292852169, + "cookies": [], + "index": 21, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 1, + "fieldName": "shopping_order__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf7", + "index": 22, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/shopping/checkout", + "urlToken": "https://ec-cube/shopping/checkout", + "data": "_shopping_order%5B_token%5D={{csrf7}}", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 71\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292854223, + "cookies": [], + "index": 23, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/shopping/complete", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292854439, + "cookies": [], + "index": 24, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_create_customers.zst b/zap/scripts/admin_create_customers.zst new file mode 100644 index 00000000000..dbd8c7d423b --- /dev/null +++ b/zap/scripts/admin_create_customers.zst @@ -0,0 +1,104 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_create_customers", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "set": { + "start": 0, + "end": 100, + "step": 1, + "elementType": "ZestLoopTokenIntegerSet" + }, + "statements": [ + { + "url": "https://ec-cube/admin/customer/new", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "response": { + "url": "https://ec-cube/admin/customer/new", + "statusCode": 200, + "responseTimeInMs": 63, + "elementType": "ZestResponse" + }, + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292294336, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf2", + "index": 2, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/customer/new", + "data": "admin_customer%5B_token%5D={{csrf2}}&admin_customer%5Bname%5D%5Bname01%5D=%E5%A7%93&admin_customer%5Bname%5D%5Bname02%5D=%E5%90%8D&admin_customer%5Bkana%5D%5Bkana01%5D=%E3%82%BB%E3%82%A4&admin_customer%5Bkana%5D%5Bkana02%5D=%E3%83%A1%E3%82%A4&admin_customer%5Bcompany_name%5D=&admin_customer%5Bpostal_code%5D=5300001&admin_customer%5Baddress%5D%5Bpref%5D=27&admin_customer%5Baddress%5D%5Baddr01%5D=%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E6%A2%85%E7%94%B0&admin_customer%5Baddress%5D%5Baddr02%5D=1-2-3&admin_customer%5Bemail%5D=user-{{customer-id}}%40example.com&admin_customer%5Bphone_number%5D=08012345678&admin_customer%5Bplain_password%5D%5Bfirst%5D=password1234&admin_customer%5Bplain_password%5D%5Bsecond%5D=password1234&admin_customer%5Bsex%5D=1&admin_customer%5Bjob%5D=&admin_customer%5Bbirth%5D=&admin_customer%5Bpoint%5D=0&admin_customer%5Bnote%5D=&admin_customer%5Bstatus%5D=2&admin_customer%5Bmailmaga_flg%5D=0", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 891\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "response": { + "url": "https://ec-cube/admin/customer/new", + "headers": "HTTP/1.1 302 Found\nDate: Wed, 15 Jun 2022 11:25:48 GMT\nServer: Apache/2.4.53 (Debian)\nX-Frame-Options: SAMEORIGIN\nX-Powered-By: PHP/7.4.29\nCache-Control: max-age=0, must-revalidate, private\nLocation: /admin/customer/11/edit\nExpires: Wed, 15 Jun 2022 11:25:48 GMT\nSet-Cookie: maintenance_token=deleted; expires=Tue, 15-Jun-2021 11:25:47 GMT; Max-Age=0; path=/; httponly\nX-XSS-Protection: 1; mode=block\nX-Content-Type-Options: nosniff\nContent-Length: 338\nContent-Type: text/html; charset=UTF-8\n\n", + "body": "\n\n \n \n \n\n Redirecting to /admin/customer/11/edit\n \n \n Redirecting to /admin/customer/11/edit.\n \n", + "statusCode": 302, + "responseTimeInMs": 38, + "elementType": "ZestResponse" + }, + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655292348003, + "cookies": [], + "index": 3, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "variableName": "customer-id", + "index": 1, + "enabled": true, + "elementType": "ZestLoopInteger" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_create_orders_100.zst b/zap/scripts/admin_create_orders_100.zst new file mode 100644 index 00000000000..3a4078d9baa --- /dev/null +++ b/zap/scripts/admin_create_orders_100.zst @@ -0,0 +1,90 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_create_orders_100", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "set": { + "start": 0, + "end": 100, + "step": 1, + "elementType": "ZestLoopTokenIntegerSet" + }, + "statements": [ + { + "url": "https://ec-cube/admin/order/new", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655430332261, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "order__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 2, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/order/new", + "data": "mode=&order%5B_token%5D={{csrf1}}&order%5Breturn_link%5D=&order%5BPayment%5D=4&admin_search_customer%5Bmulti%5D=&order%5BCustomer%5D=&order%5Bname%5D%5Bname01%5D=%E5%A7%93&order%5Bname%5D%5Bname02%5D=%E5%90%8D&order%5Bkana%5D%5Bkana01%5D=%E3%82%BB%E3%82%A4&order%5Bkana%5D%5Bkana02%5D=%E3%83%A1%E3%82%A4&order%5Bpostal_code%5D=5300001&order%5Baddress%5D%5Bpref%5D=27&order%5Baddress%5D%5Baddr01%5D=%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E6%A2%85%E7%94%B0&order%5Baddress%5D%5Baddr02%5D=1-2-3&order%5Bemail%5D=test%40example.com&order%5Bphone_number%5D=08012345678&order%5Bcompany_name%5D=&order%5Bmessage%5D=&order%5BShipping%5D%5Bname%5D%5Bname01%5D=%E5%A7%93&order%5BShipping%5D%5Bname%5D%5Bname02%5D=%E5%90%8D&order%5BShipping%5D%5Bkana%5D%5Bkana01%5D=%E3%82%BB%E3%82%A4&order%5BShipping%5D%5Bkana%5D%5Bkana02%5D=%E3%83%A1%E3%82%A4&order%5BShipping%5D%5Bpostal_code%5D=5300001&order%5BShipping%5D%5Baddress%5D%5Bpref%5D=27&order%5BShipping%5D%5Baddress%5D%5Baddr01%5D=%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E6%A2%85%E7%94%B0&order%5BShipping%5D%5Baddress%5D%5Baddr02%5D=1-2-3&order%5BShipping%5D%5Bphone_number%5D=08012345678&order%5BShipping%5D%5Bcompany_name%5D=&order%5BShipping%5D%5Btracking_number%5D=&order%5BShipping%5D%5BDelivery%5D=1&order%5BShipping%5D%5Bnote%5D=&order%5BShipping%5D%5Bshipping_delivery_date%5D=&order%5BShipping%5D%5BDeliveryTime%5D=&admin_search_product%5Bid%5D=&admin_search_product%5Bcategory_id%5D=&order%5BOrderItems%5D%5B1%5D%5BProductClass%5D=7&order%5BOrderItems%5D%5B1%5D%5Border_item_type%5D=1&order%5BOrderItems%5D%5B1%5D%5Btax_type%5D=1&order%5BOrderItems%5D%5B1%5D%5Bproduct_name%5D=%E5%BD%A9%E3%81%AE%E3%82%B8%E3%82%A7%E3%83%A9%E3%83%BC%E3%83%88CUBE&order%5BOrderItems%5D%5B1%5D%5Bprice%5D=34%2C500&order%5BOrderItems%5D%5B1%5D%5Bquantity%5D=1&order%5BOrderItems%5D%5B1%5D%5Btax_rate%5D=10&order%5Buse_point%5D=0&order%5Bnote%5D=&mode=register", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 2071\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655430403043, + "cookies": [], + "index": 3, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "variableName": "order-id", + "index": 1, + "enabled": true, + "elementType": "ZestLoopInteger" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_customer_delivery.zst b/zap/scripts/admin_customer_delivery.zst new file mode 100644 index 00000000000..d8ee6666928 --- /dev/null +++ b/zap/scripts/admin_customer_delivery.zst @@ -0,0 +1,255 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_customer_delivery", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "comment": "お届け先追加", + "index": 1, + "enabled": true, + "elementType": "ZestComment" + }, + { + "url": "https://ec-cube/admin/customer/1/delivery/new", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656639172287, + "cookies": [], + "index": 2, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "", + "location": "BODY", + "variableName": "eccube-csrf-token", + "index": 3, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "customer_address__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 4, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/customer/1/delivery/new", + "data": "customer_address%5B_token%5D={{csrf1}}&customer_address%5Bname%5D%5Bname01%5D=%E5%A7%93&customer_address%5Bname%5D%5Bname02%5D=%E5%90%8D&customer_address%5Bkana%5D%5Bkana01%5D=%E3%82%BB%E3%82%A4&customer_address%5Bkana%5D%5Bkana02%5D=%E3%83%A1%E3%82%A4&customer_address%5Bcompany_name%5D=%E4%BC%9A%E7%A4%BE%E5%90%8D&customer_address%5Bpostal_code%5D=5300001&customer_address%5Baddress%5D%5Bpref%5D=27&customer_address%5Baddress%5D%5Baddr01%5D=%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E6%A2%85%E7%94%B0&customer_address%5Baddress%5D%5Baddr02%5D=1-2-3&customer_address%5Bphone_number%5D=08012345678", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 635\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656639195146, + "cookies": [], + "index": 5, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "Location: /admin/customer/1/delivery/", + "postfix": "/edit", + "location": "HEAD", + "variableName": "delivery-id", + "index": 6, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "urlToken": "https://ec-cube/admin/customer/1/delivery/{{delivery-id}}/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656639195194, + "cookies": [], + "index": 7, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "customer_address__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf2", + "index": 8, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "comment": "お届け先編集", + "index": 9, + "enabled": true, + "elementType": "ZestComment" + }, + { + "urlToken": "https://ec-cube/admin/customer/1/delivery/{{delivery-id}}/edit", + "data": "customer_address%5B_token%5D={{csrf2}}&customer_address%5Bname%5D%5Bname01%5D=%E5%A7%93&customer_address%5Bname%5D%5Bname02%5D=%E5%90%8D&customer_address%5Bkana%5D%5Bkana01%5D=%E3%82%BB%E3%82%A4&customer_address%5Bkana%5D%5Bkana02%5D=%E3%83%A1%E3%82%A4&customer_address%5Bcompany_name%5D=%E4%BC%9A%E7%A4%BE%E5%90%8D&customer_address%5Bpostal_code%5D=5300001&customer_address%5Baddress%5D%5Bpref%5D=27&customer_address%5Baddress%5D%5Baddr01%5D=%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E6%A2%85%E7%94%B0&customer_address%5Baddress%5D%5Baddr02%5D=1-2-3&customer_address%5Bphone_number%5D=08012345678", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 635\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656639652209, + "cookies": [], + "index": 10, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/customer/1/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656639216790, + "cookies": [], + "index": 11, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf3", + "index": 12, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "comment": "お届け先削除", + "index": 13, + "enabled": true, + "elementType": "ZestComment" + }, + { + "urlToken": "https://ec-cube/admin/customer/1/delivery/{{delivery-id}}/delete", + "data": "_token={{eccube-csrf-token}}&_method=delete", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 65\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656639236015, + "cookies": [], + "index": 14, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/customer/1/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656639236047, + "cookies": [], + "index": 15, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf4", + "index": 16, + "enabled": true, + "elementType": "ZestAssignFieldValue" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_customer_edit.zst b/zap/scripts/admin_customer_edit.zst new file mode 100644 index 00000000000..74161fcecb6 --- /dev/null +++ b/zap/scripts/admin_customer_edit.zst @@ -0,0 +1,371 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_customer_edit", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "comment": "会員登録", + "index": 1, + "enabled": true, + "elementType": "ZestComment" + }, + { + "url": "https://ec-cube/admin/customer/new", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638144304, + "cookies": [], + "index": 2, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "", + "location": "BODY", + "variableName": "eccube-csrf-token", + "index": 3, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 4, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/customer/new", + "data": "admin_customer%5B_token%5D={{csrf1}}&admin_customer%5Bname%5D%5Bname01%5D=%E5%A7%93&admin_customer%5Bname%5D%5Bname02%5D=%E5%90%8D&admin_customer%5Bkana%5D%5Bkana01%5D=%E3%82%BB%E3%82%A4&admin_customer%5Bkana%5D%5Bkana02%5D=%E3%83%A1%E3%82%A4&admin_customer%5Bcompany_name%5D=%E4%BC%9A%E7%A4%BE%E5%90%8D&admin_customer%5Bpostal_code%5D=5300001&admin_customer%5Baddress%5D%5Bpref%5D=27&admin_customer%5Baddress%5D%5Baddr01%5D=%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E6%A2%85%E7%94%B0&admin_customer%5Baddress%5D%5Baddr02%5D=1-2-3&admin_customer%5Bemail%5D=user-2%40example.com&admin_customer%5Bphone_number%5D=08012345678&admin_customer%5Bplain_password%5D%5Bfirst%5D=password1234&admin_customer%5Bplain_password%5D%5Bsecond%5D=password1234&admin_customer%5Bsex%5D=1&admin_customer%5Bjob%5D=1&admin_customer%5Bbirth%5D=2000-01-23&admin_customer%5Bpoint%5D=0&admin_customer%5Bnote%5D=&admin_customer%5Bstatus%5D=1&admin_customer%5Bmailmaga_flg%5D=0", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 931\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638219631, + "cookies": [], + "index": 5, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "Location: /admin/customer/", + "postfix": "/edit", + "location": "HEAD", + "variableName": "customer-id", + "index": 6, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "url": "https://ec-cube/admin/customer", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638223262, + "cookies": [], + "index": 7, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_search_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf3", + "index": 8, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "comment": "メール再送", + "index": 9, + "enabled": true, + "elementType": "ZestComment" + }, + { + "urlToken": "https://ec-cube/admin/customer/{{customer-id}}/resend", + "data": "_token={{eccube-csrf-token}}&_method=get", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 62\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638229151, + "cookies": [], + "index": 10, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/customer", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638229353, + "cookies": [], + "index": 11, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "comment": "会員編集", + "index": 12, + "enabled": true, + "elementType": "ZestComment" + }, + { + "urlToken": "https://ec-cube/admin/customer/{{customer-id}}/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638241725, + "cookies": [], + "index": 13, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf5", + "index": 14, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "urlToken": "https://ec-cube/admin/customer/{{customer-id}}/edit", + "data": "admin_customer%5B_token%5D={{csrf5}}&admin_customer%5Bname%5D%5Bname01%5D=%E5%A7%93&admin_customer%5Bname%5D%5Bname02%5D=%E5%90%8D&admin_customer%5Bkana%5D%5Bkana01%5D=%E3%82%BB%E3%82%A4&admin_customer%5Bkana%5D%5Bkana02%5D=%E3%83%A1%E3%82%A4&admin_customer%5Bcompany_name%5D=%E4%BC%9A%E7%A4%BE%E5%90%8D&admin_customer%5Bpostal_code%5D=5300001&admin_customer%5Baddress%5D%5Bpref%5D=27&admin_customer%5Baddress%5D%5Baddr01%5D=%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E6%A2%85%E7%94%B0&admin_customer%5Baddress%5D%5Baddr02%5D=1-2-3&admin_customer%5Bemail%5D=user-2%40example.com&admin_customer%5Bphone_number%5D=08012345678&admin_customer%5Bplain_password%5D%5Bfirst%5D=abc********123&admin_customer%5Bplain_password%5D%5Bsecond%5D=abc********123&admin_customer%5Bsex%5D=1&admin_customer%5Bjob%5D=1&admin_customer%5Bbirth%5D=2000-01-23&admin_customer%5Bpoint%5D=0&admin_customer%5Bnote%5D=&admin_customer%5Bstatus%5D=1&admin_customer%5Bmailmaga_flg%5D=0", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 935\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638244558, + "cookies": [], + "index": 15, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "urlToken": "https://ec-cube/admin/customer/{{customer-id}}/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638244609, + "cookies": [], + "index": 16, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf6", + "index": 17, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/customer", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638248924, + "cookies": [], + "index": 18, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_search_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf7", + "index": 19, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "comment": "会員削除", + "index": 20, + "enabled": true, + "elementType": "ZestComment" + }, + { + "urlToken": "https://ec-cube/admin/customer/{{customer-id}}/delete", + "data": "_token={{eccube-csrf-token}}&_method=delete", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 65\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638252950, + "cookies": [], + "index": 21, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/customer/page/1?resume=1", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656638252991, + "cookies": [], + "index": 22, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_search_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf8", + "index": 23, + "enabled": true, + "elementType": "ZestAssignFieldValue" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_customer_list.zst b/zap/scripts/admin_customer_list.zst new file mode 100644 index 00000000000..99025422a21 --- /dev/null +++ b/zap/scripts/admin_customer_list.zst @@ -0,0 +1,176 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_customer_list", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "comment": "会員一覧", + "index": 1, + "enabled": true, + "elementType": "ZestComment" + }, + { + "url": "https://ec-cube/admin/search_customer", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655698812426, + "cookies": [], + "index": 2, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/customer/page/1?page_count=50", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655698812463, + "cookies": [], + "index": 3, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/customer/", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: none\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 301, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655698819117, + "cookies": [], + "index": 4, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/customer", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: none\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655698819143, + "cookies": [], + "index": 5, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "admin_search_customer__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf2", + "index": 6, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/customer", + "data": "admin_search_customer%5B_token%5D={{csrf2}}&admin_search_customer%5Bmulti%5D=&admin_search_customer%5Bcustomer_status%5D%5B%5D=1&admin_search_customer%5Bcustomer_status%5D%5B%5D=2&admin_search_customer%5Bbuy_product_name%5D=&admin_search_customer%5Bbuy_total_start%5D=&admin_search_customer%5Bbuy_total_end%5D=&admin_search_customer%5Bbirth_month%5D=&admin_search_customer%5Bbuy_times_start%5D=&admin_search_customer%5Bbuy_times_end%5D=&admin_search_customer%5Bbirth_start%5D=&admin_search_customer%5Bbirth_end%5D=&admin_search_customer%5Bcreate_datetime_start%5D=&admin_search_customer%5Bcreate_datetime_end%5D=&admin_search_customer%5Bpref%5D=&admin_search_customer%5Bupdate_datetime_start%5D=&admin_search_customer%5Bupdate_datetime_end%5D=&admin_search_customer%5Bphone_number%5D=&admin_search_customer%5Blast_buy_start%5D=&admin_search_customer%5Blast_buy_end%5D=&admin_search_customer%5Bsortkey%5D=&admin_search_customer%5Bsorttype%5D=", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 975\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655698821261, + "cookies": [], + "index": 7, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "comment": "会員CSV", + "index": 8, + "enabled": true, + "elementType": "ZestComment" + }, + { + "url": "https://ec-cube/admin/customer/export", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1655698825529, + "cookies": [], + "index": 9, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_delivery.zst b/zap/scripts/admin_delivery.zst new file mode 100644 index 00000000000..0d7c32f8f11 --- /dev/null +++ b/zap/scripts/admin_delivery.zst @@ -0,0 +1,259 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_delivery", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "url": "https://ec-cube/admin/setting/shop/delivery/new", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656659715222, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "", + "location": "BODY", + "variableName": "eccube-csrf-token", + "index": 2, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "delivery__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 3, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/setting/shop/delivery/new", + "data": "delivery%5B_token%5D={{csrf1}}&delivery%5Bname%5D=delivery&delivery%5Bservice_name%5D=delivery&delivery%5Bconfirm_url%5D=&delivery%5Bsale_type%5D=1&delivery%5Bpayments%5D%5B%5D=1&delivery%5Bfree_all%5D=100&delivery%5Bdelivery_fees%5D%5B47%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B48%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B49%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B50%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B51%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B52%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B53%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B54%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B55%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B56%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B57%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B58%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B59%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B60%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B61%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B62%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B63%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B64%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B65%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B66%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B67%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B68%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B69%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B70%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B71%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B72%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B73%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B74%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B75%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B76%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B77%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B78%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B79%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B80%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B81%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B82%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B83%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B84%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B85%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B86%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B87%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B88%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B89%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B90%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B91%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B92%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B93%5D%5Bfee%5D=100&delivery%5Bdescription%5D=&delivery%5Bvisible%5D=1", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 2595\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656659748017, + "cookies": [], + "index": 4, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "Location: /admin/setting/shop/delivery/", + "postfix": "/edit", + "location": "HEAD", + "variableName": "delivery-id", + "index": 5, + "enabled": true, + "elementType": "ZestAssignStringDelimiters" + }, + { + "urlToken": "https://ec-cube/admin/setting/shop/delivery/{{delivery-id}}/edit", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656659748098, + "cookies": [], + "index": 6, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "delivery__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf2", + "index": 7, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "urlToken": "https://ec-cube/admin/setting/shop/delivery/{{delivery-id}}/edit", + "data": "delivery%5B_token%5D={{csrf2}}&delivery%5Bname%5D=delivery&delivery%5Bservice_name%5D=delivery&delivery%5Bconfirm_url%5D=&delivery%5Bsale_type%5D=1&delivery%5Bpayments%5D%5B%5D=1&delivery%5Bfree_all%5D=&delivery%5Bdelivery_fees%5D%5B47%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B48%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B49%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B50%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B51%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B52%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B53%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B54%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B55%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B56%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B57%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B58%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B59%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B60%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B61%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B62%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B63%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B64%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B65%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B66%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B67%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B68%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B69%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B70%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B71%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B72%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B73%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B74%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B75%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B76%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B77%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B78%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B79%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B80%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B81%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B82%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B83%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B84%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B85%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B86%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B87%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B88%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B89%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B90%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B91%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B92%5D%5Bfee%5D=100&delivery%5Bdelivery_fees%5D%5B93%5D%5Bfee%5D=100&delivery%5Bdescription%5D=&delivery%5Bvisible%5D=1", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 2592\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656659753921, + "cookies": [], + "index": 8, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/setting/shop/delivery", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656659758353, + "cookies": [], + "index": 9, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/setting/shop/delivery/sort_no/move", + "data": "1=1&2=3&{{delivery-id}}=2", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 11\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nECCUBE-CSRF-TOKEN: {{eccube-csrf-token}}\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nX-Requested-With: XMLHttpRequest\r\nsec-ch-ua-platform: \"Linux\"\r\nOrigin: https://ec-cube\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Dest: empty\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656659789568, + "cookies": [], + "index": 10, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "urlToken": "https://ec-cube/admin/setting/shop/delivery/{{delivery-id}}/visibility", + "data": "_token={{eccube-csrf-token}}&_method=put", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 62\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656659794108, + "cookies": [], + "index": 11, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "urlToken": "https://ec-cube/admin/setting/shop/delivery/{{delivery-id}}/delete", + "data": "_token={{eccube-csrf-token}}&_method=delete", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 65\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656659802363, + "cookies": [], + "index": 12, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/setting/shop/delivery", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656659802399, + "cookies": [], + "index": 13, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_js_css.zst b/zap/scripts/admin_js_css.zst new file mode 100644 index 00000000000..704c5e0ffa3 --- /dev/null +++ b/zap/scripts/admin_js_css.zst @@ -0,0 +1,187 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_js_css", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "comment": "JS管理", + "index": 1, + "enabled": true, + "elementType": "ZestComment" + }, + { + "url": "https://ec-cube/admin/content/js", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656656809661, + "cookies": [], + "index": 2, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf1", + "index": 3, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/content/js", + "data": "form%5B_token%5D={{csrf1}}&form%5Bjs%5D=%2F*+%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E7%94%A8Javascript+*%2F", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 157\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656656830385, + "cookies": [], + "index": 4, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/content/js", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656656830408, + "cookies": [], + "index": 5, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "comment": "CSS管理", + "index": 6, + "enabled": true, + "elementType": "ZestComment" + }, + { + "url": "https://ec-cube/admin/content/css", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656656833408, + "cookies": [], + "index": 7, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "fieldDefinition": { + "formIndex": 0, + "fieldName": "form__token", + "elementType": "ZestFieldDefinition" + }, + "variableName": "csrf3", + "index": 8, + "enabled": true, + "elementType": "ZestAssignFieldValue" + }, + { + "url": "https://ec-cube/admin/content/css", + "data": "form%5B_token%5D={{csrf3}}&form%5Bcss%5D=%2F*+%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E7%94%A8CSS+*%2F%0D%0A", + "method": "POST", + "headers": "Proxy-Connection: keep-alive\r\nContent-Length: 157\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nOrigin: https://ec-cube\r\nContent-Type: application/x-www-form-urlencoded\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 302, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656656835225, + "cookies": [], + "index": 9, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "url": "https://ec-cube/admin/content/css", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656656835246, + "cookies": [], + "index": 10, + "enabled": true, + "elementType": "ZestRequest" + } + ], + "authentication": [], + "index": 0, + "enabled": true, + "elementType": "ZestScript" +} diff --git a/zap/scripts/admin_log.zst b/zap/scripts/admin_log.zst new file mode 100644 index 00000000000..e70aad64aba --- /dev/null +++ b/zap/scripts/admin_log.zst @@ -0,0 +1,118 @@ +{ + "about": "This is a Zest script. For more details about Zest visit https://developer.mozilla.org/en-US/docs/Zest", + "zestVersion": "0.6", + "generatedBy": "Sequence Script Template", + "title": "admin_log", + "description": "An example empty sequence script. Add requests to populate the sequence.", + "prefix": "", + "type": "Active", + "parameters": { + "tokenStart": "{{", + "tokenEnd": "}}", + "tokens": {}, + "elementType": "ZestVariables" + }, + "statements": [ + { + "url": "https://ec-cube/admin/setting/system/log", + "data": "", + "method": "GET", + "headers": "Proxy-Connection: keep-alive\r\nsec-ch-ua: \".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: \"Linux\"\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\n", + "assertions": [ + { + "rootExpression": { + "code": 200, + "not": false, + "elementType": "ZestExpressionStatusCode" + }, + "elementType": "ZestAssertion" + } + ], + "followRedirects": false, + "timestamp": 1656669570864, + "cookies": [], + "index": 1, + "enabled": true, + "elementType": "ZestRequest" + }, + { + "prefix": "