diff --git a/assets/css/main.min.css b/assets/css/main.min.css index 4a363763..1aefa9f0 100644 --- a/assets/css/main.min.css +++ b/assets/css/main.min.css @@ -1 +1 @@ -:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--bs-font-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.375rem;--bs-border-radius-sm: 0.25rem;--bs-border-radius-lg: 0.5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(13, 110, 253, 0.25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #adb5bd;--bs-body-color-rgb: 173, 181, 189;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(173, 181, 189, 0.75);--bs-secondary-color-rgb: 173, 181, 189;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(173, 181, 189, 0.5);--bs-tertiary-color-rgb: 173, 181, 189;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: #e685b5;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, 0.15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}.btn{--bs-btn-padding-x: 0.75rem;--bs-btn-padding-y: 0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 10px;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:4.16666667%}.col-2{flex:0 0 auto;width:8.33333333%}.col-3{flex:0 0 auto;width:12.5%}.col-4{flex:0 0 auto;width:16.66666667%}.col-5{flex:0 0 auto;width:20.83333333%}.col-6{flex:0 0 auto;width:25%}.col-7{flex:0 0 auto;width:29.16666667%}.col-8{flex:0 0 auto;width:33.33333333%}.col-9{flex:0 0 auto;width:37.5%}.col-10{flex:0 0 auto;width:41.66666667%}.col-11{flex:0 0 auto;width:45.83333333%}.col-12{flex:0 0 auto;width:50%}.col-13{flex:0 0 auto;width:54.16666667%}.col-14{flex:0 0 auto;width:58.33333333%}.col-15{flex:0 0 auto;width:62.5%}.col-16{flex:0 0 auto;width:66.66666667%}.col-17{flex:0 0 auto;width:70.83333333%}.col-18{flex:0 0 auto;width:75%}.col-19{flex:0 0 auto;width:79.16666667%}.col-20{flex:0 0 auto;width:83.33333333%}.col-21{flex:0 0 auto;width:87.5%}.col-22{flex:0 0 auto;width:91.66666667%}.col-23{flex:0 0 auto;width:95.83333333%}.col-24{flex:0 0 auto;width:100%}.offset-1{margin-left:4.16666667%}.offset-2{margin-left:8.33333333%}.offset-3{margin-left:12.5%}.offset-4{margin-left:16.66666667%}.offset-5{margin-left:20.83333333%}.offset-6{margin-left:25%}.offset-7{margin-left:29.16666667%}.offset-8{margin-left:33.33333333%}.offset-9{margin-left:37.5%}.offset-10{margin-left:41.66666667%}.offset-11{margin-left:45.83333333%}.offset-12{margin-left:50%}.offset-13{margin-left:54.16666667%}.offset-14{margin-left:58.33333333%}.offset-15{margin-left:62.5%}.offset-16{margin-left:66.66666667%}.offset-17{margin-left:70.83333333%}.offset-18{margin-left:75%}.offset-19{margin-left:79.16666667%}.offset-20{margin-left:83.33333333%}.offset-21{margin-left:87.5%}.offset-22{margin-left:91.66666667%}.offset-23{margin-left:95.83333333%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: 0.25rem}.g-1,.gy-1{--bs-gutter-y: 0.25rem}.g-2,.gx-2{--bs-gutter-x: 0.5rem}.g-2,.gy-2{--bs-gutter-y: 0.5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media(min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:4.16666667%}.col-sm-2{flex:0 0 auto;width:8.33333333%}.col-sm-3{flex:0 0 auto;width:12.5%}.col-sm-4{flex:0 0 auto;width:16.66666667%}.col-sm-5{flex:0 0 auto;width:20.83333333%}.col-sm-6{flex:0 0 auto;width:25%}.col-sm-7{flex:0 0 auto;width:29.16666667%}.col-sm-8{flex:0 0 auto;width:33.33333333%}.col-sm-9{flex:0 0 auto;width:37.5%}.col-sm-10{flex:0 0 auto;width:41.66666667%}.col-sm-11{flex:0 0 auto;width:45.83333333%}.col-sm-12{flex:0 0 auto;width:50%}.col-sm-13{flex:0 0 auto;width:54.16666667%}.col-sm-14{flex:0 0 auto;width:58.33333333%}.col-sm-15{flex:0 0 auto;width:62.5%}.col-sm-16{flex:0 0 auto;width:66.66666667%}.col-sm-17{flex:0 0 auto;width:70.83333333%}.col-sm-18{flex:0 0 auto;width:75%}.col-sm-19{flex:0 0 auto;width:79.16666667%}.col-sm-20{flex:0 0 auto;width:83.33333333%}.col-sm-21{flex:0 0 auto;width:87.5%}.col-sm-22{flex:0 0 auto;width:91.66666667%}.col-sm-23{flex:0 0 auto;width:95.83333333%}.col-sm-24{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:4.16666667%}.offset-sm-2{margin-left:8.33333333%}.offset-sm-3{margin-left:12.5%}.offset-sm-4{margin-left:16.66666667%}.offset-sm-5{margin-left:20.83333333%}.offset-sm-6{margin-left:25%}.offset-sm-7{margin-left:29.16666667%}.offset-sm-8{margin-left:33.33333333%}.offset-sm-9{margin-left:37.5%}.offset-sm-10{margin-left:41.66666667%}.offset-sm-11{margin-left:45.83333333%}.offset-sm-12{margin-left:50%}.offset-sm-13{margin-left:54.16666667%}.offset-sm-14{margin-left:58.33333333%}.offset-sm-15{margin-left:62.5%}.offset-sm-16{margin-left:66.66666667%}.offset-sm-17{margin-left:70.83333333%}.offset-sm-18{margin-left:75%}.offset-sm-19{margin-left:79.16666667%}.offset-sm-20{margin-left:83.33333333%}.offset-sm-21{margin-left:87.5%}.offset-sm-22{margin-left:91.66666667%}.offset-sm-23{margin-left:95.83333333%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: 0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: 0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: 0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: 0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media(min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:4.16666667%}.col-md-2{flex:0 0 auto;width:8.33333333%}.col-md-3{flex:0 0 auto;width:12.5%}.col-md-4{flex:0 0 auto;width:16.66666667%}.col-md-5{flex:0 0 auto;width:20.83333333%}.col-md-6{flex:0 0 auto;width:25%}.col-md-7{flex:0 0 auto;width:29.16666667%}.col-md-8{flex:0 0 auto;width:33.33333333%}.col-md-9{flex:0 0 auto;width:37.5%}.col-md-10{flex:0 0 auto;width:41.66666667%}.col-md-11{flex:0 0 auto;width:45.83333333%}.col-md-12{flex:0 0 auto;width:50%}.col-md-13{flex:0 0 auto;width:54.16666667%}.col-md-14{flex:0 0 auto;width:58.33333333%}.col-md-15{flex:0 0 auto;width:62.5%}.col-md-16{flex:0 0 auto;width:66.66666667%}.col-md-17{flex:0 0 auto;width:70.83333333%}.col-md-18{flex:0 0 auto;width:75%}.col-md-19{flex:0 0 auto;width:79.16666667%}.col-md-20{flex:0 0 auto;width:83.33333333%}.col-md-21{flex:0 0 auto;width:87.5%}.col-md-22{flex:0 0 auto;width:91.66666667%}.col-md-23{flex:0 0 auto;width:95.83333333%}.col-md-24{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:4.16666667%}.offset-md-2{margin-left:8.33333333%}.offset-md-3{margin-left:12.5%}.offset-md-4{margin-left:16.66666667%}.offset-md-5{margin-left:20.83333333%}.offset-md-6{margin-left:25%}.offset-md-7{margin-left:29.16666667%}.offset-md-8{margin-left:33.33333333%}.offset-md-9{margin-left:37.5%}.offset-md-10{margin-left:41.66666667%}.offset-md-11{margin-left:45.83333333%}.offset-md-12{margin-left:50%}.offset-md-13{margin-left:54.16666667%}.offset-md-14{margin-left:58.33333333%}.offset-md-15{margin-left:62.5%}.offset-md-16{margin-left:66.66666667%}.offset-md-17{margin-left:70.83333333%}.offset-md-18{margin-left:75%}.offset-md-19{margin-left:79.16666667%}.offset-md-20{margin-left:83.33333333%}.offset-md-21{margin-left:87.5%}.offset-md-22{margin-left:91.66666667%}.offset-md-23{margin-left:95.83333333%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: 0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y: 0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x: 0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y: 0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media(min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:4.16666667%}.col-lg-2{flex:0 0 auto;width:8.33333333%}.col-lg-3{flex:0 0 auto;width:12.5%}.col-lg-4{flex:0 0 auto;width:16.66666667%}.col-lg-5{flex:0 0 auto;width:20.83333333%}.col-lg-6{flex:0 0 auto;width:25%}.col-lg-7{flex:0 0 auto;width:29.16666667%}.col-lg-8{flex:0 0 auto;width:33.33333333%}.col-lg-9{flex:0 0 auto;width:37.5%}.col-lg-10{flex:0 0 auto;width:41.66666667%}.col-lg-11{flex:0 0 auto;width:45.83333333%}.col-lg-12{flex:0 0 auto;width:50%}.col-lg-13{flex:0 0 auto;width:54.16666667%}.col-lg-14{flex:0 0 auto;width:58.33333333%}.col-lg-15{flex:0 0 auto;width:62.5%}.col-lg-16{flex:0 0 auto;width:66.66666667%}.col-lg-17{flex:0 0 auto;width:70.83333333%}.col-lg-18{flex:0 0 auto;width:75%}.col-lg-19{flex:0 0 auto;width:79.16666667%}.col-lg-20{flex:0 0 auto;width:83.33333333%}.col-lg-21{flex:0 0 auto;width:87.5%}.col-lg-22{flex:0 0 auto;width:91.66666667%}.col-lg-23{flex:0 0 auto;width:95.83333333%}.col-lg-24{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:4.16666667%}.offset-lg-2{margin-left:8.33333333%}.offset-lg-3{margin-left:12.5%}.offset-lg-4{margin-left:16.66666667%}.offset-lg-5{margin-left:20.83333333%}.offset-lg-6{margin-left:25%}.offset-lg-7{margin-left:29.16666667%}.offset-lg-8{margin-left:33.33333333%}.offset-lg-9{margin-left:37.5%}.offset-lg-10{margin-left:41.66666667%}.offset-lg-11{margin-left:45.83333333%}.offset-lg-12{margin-left:50%}.offset-lg-13{margin-left:54.16666667%}.offset-lg-14{margin-left:58.33333333%}.offset-lg-15{margin-left:62.5%}.offset-lg-16{margin-left:66.66666667%}.offset-lg-17{margin-left:70.83333333%}.offset-lg-18{margin-left:75%}.offset-lg-19{margin-left:79.16666667%}.offset-lg-20{margin-left:83.33333333%}.offset-lg-21{margin-left:87.5%}.offset-lg-22{margin-left:91.66666667%}.offset-lg-23{margin-left:95.83333333%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: 0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: 0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: 0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: 0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media(min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:4.16666667%}.col-xl-2{flex:0 0 auto;width:8.33333333%}.col-xl-3{flex:0 0 auto;width:12.5%}.col-xl-4{flex:0 0 auto;width:16.66666667%}.col-xl-5{flex:0 0 auto;width:20.83333333%}.col-xl-6{flex:0 0 auto;width:25%}.col-xl-7{flex:0 0 auto;width:29.16666667%}.col-xl-8{flex:0 0 auto;width:33.33333333%}.col-xl-9{flex:0 0 auto;width:37.5%}.col-xl-10{flex:0 0 auto;width:41.66666667%}.col-xl-11{flex:0 0 auto;width:45.83333333%}.col-xl-12{flex:0 0 auto;width:50%}.col-xl-13{flex:0 0 auto;width:54.16666667%}.col-xl-14{flex:0 0 auto;width:58.33333333%}.col-xl-15{flex:0 0 auto;width:62.5%}.col-xl-16{flex:0 0 auto;width:66.66666667%}.col-xl-17{flex:0 0 auto;width:70.83333333%}.col-xl-18{flex:0 0 auto;width:75%}.col-xl-19{flex:0 0 auto;width:79.16666667%}.col-xl-20{flex:0 0 auto;width:83.33333333%}.col-xl-21{flex:0 0 auto;width:87.5%}.col-xl-22{flex:0 0 auto;width:91.66666667%}.col-xl-23{flex:0 0 auto;width:95.83333333%}.col-xl-24{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:4.16666667%}.offset-xl-2{margin-left:8.33333333%}.offset-xl-3{margin-left:12.5%}.offset-xl-4{margin-left:16.66666667%}.offset-xl-5{margin-left:20.83333333%}.offset-xl-6{margin-left:25%}.offset-xl-7{margin-left:29.16666667%}.offset-xl-8{margin-left:33.33333333%}.offset-xl-9{margin-left:37.5%}.offset-xl-10{margin-left:41.66666667%}.offset-xl-11{margin-left:45.83333333%}.offset-xl-12{margin-left:50%}.offset-xl-13{margin-left:54.16666667%}.offset-xl-14{margin-left:58.33333333%}.offset-xl-15{margin-left:62.5%}.offset-xl-16{margin-left:66.66666667%}.offset-xl-17{margin-left:70.83333333%}.offset-xl-18{margin-left:75%}.offset-xl-19{margin-left:79.16666667%}.offset-xl-20{margin-left:83.33333333%}.offset-xl-21{margin-left:87.5%}.offset-xl-22{margin-left:91.66666667%}.offset-xl-23{margin-left:95.83333333%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: 0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: 0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: 0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: 0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media(min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:4.16666667%}.col-xxl-2{flex:0 0 auto;width:8.33333333%}.col-xxl-3{flex:0 0 auto;width:12.5%}.col-xxl-4{flex:0 0 auto;width:16.66666667%}.col-xxl-5{flex:0 0 auto;width:20.83333333%}.col-xxl-6{flex:0 0 auto;width:25%}.col-xxl-7{flex:0 0 auto;width:29.16666667%}.col-xxl-8{flex:0 0 auto;width:33.33333333%}.col-xxl-9{flex:0 0 auto;width:37.5%}.col-xxl-10{flex:0 0 auto;width:41.66666667%}.col-xxl-11{flex:0 0 auto;width:45.83333333%}.col-xxl-12{flex:0 0 auto;width:50%}.col-xxl-13{flex:0 0 auto;width:54.16666667%}.col-xxl-14{flex:0 0 auto;width:58.33333333%}.col-xxl-15{flex:0 0 auto;width:62.5%}.col-xxl-16{flex:0 0 auto;width:66.66666667%}.col-xxl-17{flex:0 0 auto;width:70.83333333%}.col-xxl-18{flex:0 0 auto;width:75%}.col-xxl-19{flex:0 0 auto;width:79.16666667%}.col-xxl-20{flex:0 0 auto;width:83.33333333%}.col-xxl-21{flex:0 0 auto;width:87.5%}.col-xxl-22{flex:0 0 auto;width:91.66666667%}.col-xxl-23{flex:0 0 auto;width:95.83333333%}.col-xxl-24{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:4.16666667%}.offset-xxl-2{margin-left:8.33333333%}.offset-xxl-3{margin-left:12.5%}.offset-xxl-4{margin-left:16.66666667%}.offset-xxl-5{margin-left:20.83333333%}.offset-xxl-6{margin-left:25%}.offset-xxl-7{margin-left:29.16666667%}.offset-xxl-8{margin-left:33.33333333%}.offset-xxl-9{margin-left:37.5%}.offset-xxl-10{margin-left:41.66666667%}.offset-xxl-11{margin-left:45.83333333%}.offset-xxl-12{margin-left:50%}.offset-xxl-13{margin-left:54.16666667%}.offset-xxl-14{margin-left:58.33333333%}.offset-xxl-15{margin-left:62.5%}.offset-xxl-16{margin-left:66.66666667%}.offset-xxl-17{margin-left:70.83333333%}.offset-xxl-18{margin-left:75%}.offset-xxl-19{margin-left:79.16666667%}.offset-xxl-20{margin-left:83.33333333%}.offset-xxl-21{margin-left:87.5%}.offset-xxl-22{margin-left:91.66666667%}.offset-xxl-23{margin-left:95.83333333%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: 0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: 0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: 0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: 0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, 0.05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, 0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #bacbe6;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #cbccce;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #bcd0c7;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #e6dbb9;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #dfc2c4;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + var(--bs-border-width));padding-bottom:calc(0.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + var(--bs-border-width));padding-bottom:calc(0.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + var(--bs-border-width));padding-bottom:calc(0.25rem + var(--bs-border-width));font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);appearance:none;border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);appearance:none;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label{color:#6c757d}.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff !important;background-color:RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:.25rem !important}.column-gap-2{column-gap:.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + 0.9vw) !important}.fs-3{font-size:calc(1.3rem + 0.6vw) !important}.fs-4{font-size:calc(1.275rem + 0.3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:.25rem !important}.column-gap-sm-2{column-gap:.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:.25rem !important}.column-gap-md-2{column-gap:.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:.25rem !important}.column-gap-lg-2{column-gap:.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:.25rem !important}.column-gap-xl-2{column-gap:.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:.25rem !important}.column-gap-xxl-2{column-gap:.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}@media(min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.nav-connect.status-0{border-color:#fd0;color:#1e1e1e}.nav-connect.status-1{border-color:#c4161c;color:#c4161c}.nav-connect.status-2{border-color:#7f54b3;color:#7f54b3}.nav-connect.status-3{border-color:#128003;color:#128003}.nav.nav-tabs{border-bottom:0}.nav.nav-tabs .nav-item .nav-link{background:#dcdcde;border:0;padding:.5rem .7rem;margin-bottom:0;color:#1d2327;font-weight:600}.nav.nav-tabs .nav-item .nav-link.active{background:#fff}.toc{overflow-y:auto}.toc>.toc-list{overflow:hidden;position:relative}.toc>.toc-list li{list-style:none}.js-toc{overflow-y:hidden}a.toc-link{color:currentColor;height:100%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all 300ms ease-in-out}.is-collapsed{max-height:0}.is-position-fixed{top:40px}.is-active-link{font-weight:700}.wc1c-toc .list-group-item{margin:0;border:0;padding-left:10px;border-radius:0}.wc1c-toc .list-group-item.active{background-color:#f0f0f1}.wc1c-toc .list-group-item a{text-decoration:none}.wc1c-sidebar-toc .list-group-item{padding:.2rem .5rem;margin-top:0 !important;border:0 !important;transition:all .7s}.wc1c-sidebar-toc .is-active-link{font-weight:normal}.woocommerce_page_wc1c .wc1c-admin-form-table{margin:0}.woocommerce_page_wc1c .wc1c-admin-form-table .titledesc{padding-left:5px}.woocommerce_page_wc1c .wc1c-form-table td{padding:10px 0}.woocommerce_page_wc1c .wc1c-form-table .titledesc{padding:10px 10px 10px 0}.woocommerce_page_wc1c .wc1c-form-table fieldset{padding-right:7px;padding-bottom:7px;border-right:1px dashed #ccd0d4;border-bottom:1px dashed #ccd0d4}.woocommerce_page_wc1c .wc1c-form-table fieldset hr{border:1px solid #f0f0f1 !important}.woocommerce_page_wc1c .date_create{width:130px;max-width:130px}.woocommerce_page_wc1c .date_activity{width:130px;max-width:130px}.woocommerce_page_wc1c .remove a{color:#c4161c}.woocommerce_page_wc1c .check-column{padding:4px 0 0 0 !important;vertical-align:middle !important}.wc1c-configurations-alert{padding:10px;padding-left:20px;background-color:#fff;border-left:4px solid #fd0}.woocommerce_page_wc1c .configurations-all .tablenav.top{height:auto;padding:0}.woocommerce_page_wc1c .configurations-all .tablenav.top .tablenav-pages{display:none;margin:0}.woocommerce_page_wc1c .configurations-all .subsubsub{margin:0;font-size:14px;line-height:28px}.woocommerce_page_wc1c .configurations-all .subsubsub a{text-decoration:none}.woocommerce_page_wc1c table.configurations .column-name .configuration-name{font-size:15px !important;line-height:120%;font-weight:500}.woocommerce_page_wc1c table.configurations .column-name .configuration-metas{border:1px solid #ccd0d4;padding:5px;border-radius:5px;margin-bottom:5px;margin-top:10px}.woocommerce_page_wc1c table.configurations .column-configuration_id{width:75px;border-right:1px solid #ccd0d4;max-width:75px}@media(max-width: 767.98px){.woocommerce_page_wc1c table.configurations .column-configuration_id{border-right:0;max-width:100%}}.woocommerce_page_wc1c table.configurations td{vertical-align:middle !important}.woocommerce_page_wc1c table.configurations .column-date_create{line-height:1.3em;width:130px;max-width:130px}.woocommerce_page_wc1c table.configurations .column-date_activity{line-height:1.3em;width:130px;max-width:130px}.woocommerce_page_wc1c table.configurations .column-schema{border-left:1px solid #ccd0d4;width:111px}.woocommerce_page_wc1c table.configurations .no-items .colspanchange{padding-top:70px !important;padding-bottom:70px !important;text-align:center}.woocommerce_page_wc1c table.configurations .column-status{max-width:120px;min-width:120px;width:120px;border-left:1px solid #ccd0d4;border-right:1px solid #ccd0d4}@media(max-width: 767.98px){.woocommerce_page_wc1c table.configurations .column-status{border-right:0;border-left:0;max-width:100%}}.woocommerce_page_wc1c table.configurations .column-status span{font-size:14px;padding:3px;text-align:center;display:block;border-radius:3px;line-height:1.7em;cursor:pointer}.woocommerce_page_wc1c table.configurations .column-status span.draft{background-color:rgba(128,0,128,.9);color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.deleted{background-color:rgba(128,0,128,.4);color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.active{background-color:rgba(18,128,3,.6);color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.processing{background-color:#128003;color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.inactive{background-color:rgba(196,22,28,.6);color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.error{background-color:#b8151a;color:#fff}.extensions-alert{padding:20px;padding-left:40px;background-color:#fff;border-left:7px solid #7f54b3;border-radius:7px}.extensions-all .extensions-all-item .badge{font-size:.7rem;padding:5px 7px}.wc1c-tools-alert{padding:20px;padding-left:40px;background-color:#fff;border-left:7px solid #7f54b3;border-radius:7px}.woocommerce_page_wc1c .wp-header-end{margin-bottom:15px}.woocommerce_page_wc1c .add_config{text-align:right;padding-bottom:0 !important;padding-top:1em !important;margin:0 !important}.woocommerce_page_wc1c .settings-update{margin-top:10px;margin-bottom:10px}.woocommerce_page_wc1c .help-tab-content{margin:0}.woocommerce_page_wc1c .button-danger{color:#fff;background-color:darkred;border-color:red}.promo{background:pink}.nav-tab-active.promo{background:#f0f0f1}.wc1c-title-wrap{padding:5px 7px;background-color:#f0f0f1}.wc1c-title-wrap h3{margin:.1em 0;font-size:1.2em}.wc1c-title-wrap p{margin:.3em 0}.wc1c-admin-settings .wc1c-title-wrap{background-color:#f0f0f1;margin-top:10px}.wc1c-admin-connection .wc1c-title-wrap{margin-top:10px}.wc1c_urls{border:2px dashed #eee}.wc1c-custom-metas{border:1px solid #ccd0d4;padding:5px;border-radius:5px;margin-bottom:5px;margin-top:10px}.wc1c-wizards{position:relative;margin-top:10px}.wc1c-wizards *,.wc1c-wizards *::before,.wc1c-wizards *::after{box-sizing:border-box}.wc1c-wizards>.tab-content{position:relative;overflow:hidden}.wc1c-wizards .toolbar{padding:.8rem}.wc1c-wizards .toolbar>.btn{display:inline-block;text-decoration:none;text-align:center;text-transform:none;vertical-align:middle;user-select:none;margin-left:.2rem;margin-right:.2rem;cursor:pointer}.wc1c-wizards .toolbar>.btn.disabled,.wc1c-wizards .toolbar>.btn:disabled{opacity:.65}.wc1c-wizards>.nav{display:flex;flex-wrap:wrap;list-style:none;padding-left:0;margin-top:0;margin-bottom:0}@media screen and (max-width: 640px){.wc1c-wizards>.nav{flex-direction:column !important;flex:1 auto}}.wc1c-wizards>.nav .nav-link{display:block;padding:.5rem 1rem;text-decoration:none}.wc1c-wizards>.nav .nav-link:hover,.wc1c-wizards>.nav .nav-link:active,.wc1c-wizards>.nav .nav-link:focus{text-decoration:none}.wc1c-wizards>.nav .nav-link::-moz-focus-inner{border:0 !important}.wc1c-wizards>.nav .nav-link.disabled{color:#ccc !important;pointer-events:none;cursor:default}.wc1c-wizards>.nav .nav-link.hidden{display:none !important}.wc1c-wizards.justified>.nav>li,.wc1c-wizards.justified>.nav .nav-link{flex-basis:0;flex-grow:1}.wc1c-wizards.dark{color:rgba(255,255,255,.95);background:#000}.wc1c-wizards.loading{user-select:none}.wc1c-wizards.loading::after{content:"";display:block;position:absolute;opacity:1;top:0;left:0;height:100%;width:100%;background:rgba(255,255,255,.7);z-index:2;transition:all .2s ease}.wc1c-wizards.loading::before{content:"";display:inline-block;position:absolute;top:45%;left:45%;width:2rem;height:2rem;border:10px solid #f3f3f3;border-top:10px solid #3498db;border-radius:50%;z-index:10;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.theme-default{border:1px solid #eee}.theme-default>.wizard-content{padding:10px}.theme-default .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.theme-default>.nav{box-shadow:0 .125rem .25rem rgba(0,0,0,.1) !important}.theme-default>.nav .nav-link{position:relative;height:100%;min-height:100%}.theme-default>.nav .nav-link::after{content:"";position:absolute;height:2px;width:0;left:0px;bottom:-1px;background:#999;transition:all .35s ease .15s}.theme-default>.nav .nav-link.inactive{color:#999;cursor:not-allowed}.theme-default>.nav .nav-link.active{color:#17a2b8 !important;cursor:pointer}.theme-default>.nav .nav-link.active::after{background:#17a2b8 !important;width:100%}.theme-default>.nav .nav-link.done{color:#5cb85c !important;cursor:pointer}.theme-default>.nav .nav-link.done::after{background:#5cb85c;width:100%}.theme-default>.nav .nav-link.disabled{color:#ddd !important;cursor:not-allowed}.theme-default>.nav .nav-link.disabled::after{background:#ddd;width:100%}.theme-default>.nav .nav-link.danger{color:#d9534f !important;cursor:pointer}.theme-default>.nav .nav-link.danger::after{background:#d9534f;width:100%}.theme-dots>.tab-content>.tab-pane{padding:10px}.theme-dots .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.theme-dots>.nav{position:relative;margin-bottom:10px}.theme-dots>.nav::before{content:" ";position:absolute;top:18px;left:0;width:100%;height:5px;background-color:#eee;border-radius:3px;z-index:1}.theme-dots>.nav .nav-link{position:relative;margin-top:40px}.theme-dots>.nav .nav-link::before{content:" ";position:absolute;display:block;top:-36px;left:0;right:0;margin-left:auto;margin-right:auto;width:32px;height:32px;border-radius:50%;border:none;background:#f5f5f5;color:#428bca;text-decoration:none;z-index:98}.theme-dots>.nav .nav-link::after{content:" ";position:absolute;display:block;top:-28px;left:0;right:0;margin-left:auto;margin-right:auto;width:16px;height:16px;border-radius:50%;z-index:99}.theme-dots>.nav .nav-link.inactive{color:#999;cursor:not-allowed}.theme-dots>.nav .nav-link.inactive::after{background-color:#999}.theme-dots>.nav .nav-link.active{color:#5bc0de !important;cursor:pointer}.theme-dots>.nav .nav-link.active::after{background-color:#5bc0de !important}.theme-dots>.nav .nav-link.done{color:#5cb85c;cursor:pointer}.theme-dots>.nav .nav-link.done::after{background-color:#5cb85c}.theme-dots>.nav .nav-link.disabled{color:#f9f9f9;cursor:not-allowed}.theme-dots>.nav .nav-link.disabled::after{background-color:#f9f9f9}.theme-dots>.nav .nav-link.danger{color:#d9534f;cursor:pointer}.theme-dots>.nav .nav-link.danger::after{background-color:#d9534f}.theme-dots.dark{color:rgba(255,255,255,.95);background:#000}.theme-dots.dark>.nav::before{background-color:#3c3c3c}.theme-dots.dark>.nav .nav-link::before{background:#434343;color:#000}.theme-arrows{border:1px solid #eee}.theme-arrows>.wizard-content{padding:10px}.theme-arrows .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.theme-arrows>.nav{overflow:hidden;border-bottom:1px solid #eee}.theme-arrows>.nav .nav-item{margin-bottom:0;text-align:left}.theme-arrows>.nav .nav-link{position:relative;height:100%;min-height:100%;margin-right:30px;margin-left:-30px;padding-left:40px;margin-bottom:0;text-align:left}@media screen and (max-width: 640px){.theme-arrows>.nav .nav-link{overflow:hidden;margin-bottom:1px;margin-right:unset}}.theme-arrows>.nav .nav-link::after{content:"";position:absolute;display:block;width:0;height:0;top:50%;left:100%;margin-top:-50px;border-top:50px solid transparent;border-bottom:50px solid transparent;border-left:30px solid #f8f8f8;z-index:2}.theme-arrows>.nav .nav-link::before{content:" ";position:absolute;display:block;width:0;height:0;top:50%;left:100%;margin-top:-50px;margin-left:1px;border-top:50px solid transparent;border-bottom:50px solid transparent;border-left:30px solid #eee;z-index:1}.theme-arrows>.nav .nav-link.inactive{color:#999;border-color:#f8f8f8;background:#f8f8f8;cursor:not-allowed}.theme-arrows>.nav .nav-link.active{color:#fff;border-color:#7f54b3;background:#7f54b3;cursor:pointer}.theme-arrows>.nav .nav-link.active::after{border-left-color:#7f54b3}.theme-arrows>.nav .nav-link.done{color:#fff;border-color:#5cb85c;background:#5cb85c;cursor:pointer}.theme-arrows>.nav .nav-link.done::after{border-left-color:#5cb85c}.theme-arrows>.nav .nav-link.disabled{color:#eee;border-color:#f9f9f9;background:#f9f9f9;cursor:not-allowed}.theme-arrows>.nav .nav-link.disabled::after{border-left-color:#f9f9f9}.theme-arrows>.nav .nav-link.danger{color:#fff;border-color:#d9534f;background:#d9534f;cursor:pointer}.theme-arrows>.nav .nav-link.danger::after{border-left-color:#d9534f}.theme-arrows.dark{color:rgba(255,255,255,.95);background:#000}.theme-arrows.dark>.nav{border-bottom:1px solid #555}.theme-arrows.dark>.nav .nav-link::after{border-left:30px solid #5f5f5f}.theme-arrows.dark>.nav .nav-link::before{border-left:30px solid #555}.theme-arrows.dark>.nav .nav-link.inactive{color:#fff;border-color:#5f5f5f;background:#5f5f5f}.theme-arrows.dark>.nav .nav-link.inactive::after{border-left-color:#5f5f5f}.theme-arrows.dark>.nav .nav-link.active{color:#fff;border-color:#000;background:#040206}.theme-arrows.dark>.nav .nav-link.active::after{border-left-color:#040206}.theme-arrows.dark>.nav .nav-link.done{color:#fff;border-color:#000;background:#000}.theme-arrows.dark>.nav .nav-link.done::after{border-left-color:#000}.theme-arrows.dark>.nav .nav-link.disabled{color:#555 !important;border-color:#f9f9f9;background:#474747}.theme-arrows.dark>.nav .nav-link.disabled::after{border-left-color:#474747}.theme-arrows.dark>.nav .nav-link.danger{color:#fff;border-color:#d9534f;background:#d9534f}.theme-arrows.dark>.nav .nav-link.danger::after{border-left-color:#d9534f}/*# sourceMappingURL=main.min.css.map */ +:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--bs-font-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.375rem;--bs-border-radius-sm: 0.25rem;--bs-border-radius-lg: 0.5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(13, 110, 253, 0.25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: #e685b5;--bs-highlight-color: #dee2e6;--bs-highlight-bg: #664d03;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, 0.15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}.btn{--bs-btn-padding-x: 0.75rem;--bs-btn-padding-y: 0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 10px;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:4.16666667%}.col-2{flex:0 0 auto;width:8.33333333%}.col-3{flex:0 0 auto;width:12.5%}.col-4{flex:0 0 auto;width:16.66666667%}.col-5{flex:0 0 auto;width:20.83333333%}.col-6{flex:0 0 auto;width:25%}.col-7{flex:0 0 auto;width:29.16666667%}.col-8{flex:0 0 auto;width:33.33333333%}.col-9{flex:0 0 auto;width:37.5%}.col-10{flex:0 0 auto;width:41.66666667%}.col-11{flex:0 0 auto;width:45.83333333%}.col-12{flex:0 0 auto;width:50%}.col-13{flex:0 0 auto;width:54.16666667%}.col-14{flex:0 0 auto;width:58.33333333%}.col-15{flex:0 0 auto;width:62.5%}.col-16{flex:0 0 auto;width:66.66666667%}.col-17{flex:0 0 auto;width:70.83333333%}.col-18{flex:0 0 auto;width:75%}.col-19{flex:0 0 auto;width:79.16666667%}.col-20{flex:0 0 auto;width:83.33333333%}.col-21{flex:0 0 auto;width:87.5%}.col-22{flex:0 0 auto;width:91.66666667%}.col-23{flex:0 0 auto;width:95.83333333%}.col-24{flex:0 0 auto;width:100%}.offset-1{margin-left:4.16666667%}.offset-2{margin-left:8.33333333%}.offset-3{margin-left:12.5%}.offset-4{margin-left:16.66666667%}.offset-5{margin-left:20.83333333%}.offset-6{margin-left:25%}.offset-7{margin-left:29.16666667%}.offset-8{margin-left:33.33333333%}.offset-9{margin-left:37.5%}.offset-10{margin-left:41.66666667%}.offset-11{margin-left:45.83333333%}.offset-12{margin-left:50%}.offset-13{margin-left:54.16666667%}.offset-14{margin-left:58.33333333%}.offset-15{margin-left:62.5%}.offset-16{margin-left:66.66666667%}.offset-17{margin-left:70.83333333%}.offset-18{margin-left:75%}.offset-19{margin-left:79.16666667%}.offset-20{margin-left:83.33333333%}.offset-21{margin-left:87.5%}.offset-22{margin-left:91.66666667%}.offset-23{margin-left:95.83333333%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: 0.25rem}.g-1,.gy-1{--bs-gutter-y: 0.25rem}.g-2,.gx-2{--bs-gutter-x: 0.5rem}.g-2,.gy-2{--bs-gutter-y: 0.5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media(min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:4.16666667%}.col-sm-2{flex:0 0 auto;width:8.33333333%}.col-sm-3{flex:0 0 auto;width:12.5%}.col-sm-4{flex:0 0 auto;width:16.66666667%}.col-sm-5{flex:0 0 auto;width:20.83333333%}.col-sm-6{flex:0 0 auto;width:25%}.col-sm-7{flex:0 0 auto;width:29.16666667%}.col-sm-8{flex:0 0 auto;width:33.33333333%}.col-sm-9{flex:0 0 auto;width:37.5%}.col-sm-10{flex:0 0 auto;width:41.66666667%}.col-sm-11{flex:0 0 auto;width:45.83333333%}.col-sm-12{flex:0 0 auto;width:50%}.col-sm-13{flex:0 0 auto;width:54.16666667%}.col-sm-14{flex:0 0 auto;width:58.33333333%}.col-sm-15{flex:0 0 auto;width:62.5%}.col-sm-16{flex:0 0 auto;width:66.66666667%}.col-sm-17{flex:0 0 auto;width:70.83333333%}.col-sm-18{flex:0 0 auto;width:75%}.col-sm-19{flex:0 0 auto;width:79.16666667%}.col-sm-20{flex:0 0 auto;width:83.33333333%}.col-sm-21{flex:0 0 auto;width:87.5%}.col-sm-22{flex:0 0 auto;width:91.66666667%}.col-sm-23{flex:0 0 auto;width:95.83333333%}.col-sm-24{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:4.16666667%}.offset-sm-2{margin-left:8.33333333%}.offset-sm-3{margin-left:12.5%}.offset-sm-4{margin-left:16.66666667%}.offset-sm-5{margin-left:20.83333333%}.offset-sm-6{margin-left:25%}.offset-sm-7{margin-left:29.16666667%}.offset-sm-8{margin-left:33.33333333%}.offset-sm-9{margin-left:37.5%}.offset-sm-10{margin-left:41.66666667%}.offset-sm-11{margin-left:45.83333333%}.offset-sm-12{margin-left:50%}.offset-sm-13{margin-left:54.16666667%}.offset-sm-14{margin-left:58.33333333%}.offset-sm-15{margin-left:62.5%}.offset-sm-16{margin-left:66.66666667%}.offset-sm-17{margin-left:70.83333333%}.offset-sm-18{margin-left:75%}.offset-sm-19{margin-left:79.16666667%}.offset-sm-20{margin-left:83.33333333%}.offset-sm-21{margin-left:87.5%}.offset-sm-22{margin-left:91.66666667%}.offset-sm-23{margin-left:95.83333333%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: 0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: 0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: 0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: 0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media(min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:4.16666667%}.col-md-2{flex:0 0 auto;width:8.33333333%}.col-md-3{flex:0 0 auto;width:12.5%}.col-md-4{flex:0 0 auto;width:16.66666667%}.col-md-5{flex:0 0 auto;width:20.83333333%}.col-md-6{flex:0 0 auto;width:25%}.col-md-7{flex:0 0 auto;width:29.16666667%}.col-md-8{flex:0 0 auto;width:33.33333333%}.col-md-9{flex:0 0 auto;width:37.5%}.col-md-10{flex:0 0 auto;width:41.66666667%}.col-md-11{flex:0 0 auto;width:45.83333333%}.col-md-12{flex:0 0 auto;width:50%}.col-md-13{flex:0 0 auto;width:54.16666667%}.col-md-14{flex:0 0 auto;width:58.33333333%}.col-md-15{flex:0 0 auto;width:62.5%}.col-md-16{flex:0 0 auto;width:66.66666667%}.col-md-17{flex:0 0 auto;width:70.83333333%}.col-md-18{flex:0 0 auto;width:75%}.col-md-19{flex:0 0 auto;width:79.16666667%}.col-md-20{flex:0 0 auto;width:83.33333333%}.col-md-21{flex:0 0 auto;width:87.5%}.col-md-22{flex:0 0 auto;width:91.66666667%}.col-md-23{flex:0 0 auto;width:95.83333333%}.col-md-24{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:4.16666667%}.offset-md-2{margin-left:8.33333333%}.offset-md-3{margin-left:12.5%}.offset-md-4{margin-left:16.66666667%}.offset-md-5{margin-left:20.83333333%}.offset-md-6{margin-left:25%}.offset-md-7{margin-left:29.16666667%}.offset-md-8{margin-left:33.33333333%}.offset-md-9{margin-left:37.5%}.offset-md-10{margin-left:41.66666667%}.offset-md-11{margin-left:45.83333333%}.offset-md-12{margin-left:50%}.offset-md-13{margin-left:54.16666667%}.offset-md-14{margin-left:58.33333333%}.offset-md-15{margin-left:62.5%}.offset-md-16{margin-left:66.66666667%}.offset-md-17{margin-left:70.83333333%}.offset-md-18{margin-left:75%}.offset-md-19{margin-left:79.16666667%}.offset-md-20{margin-left:83.33333333%}.offset-md-21{margin-left:87.5%}.offset-md-22{margin-left:91.66666667%}.offset-md-23{margin-left:95.83333333%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: 0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y: 0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x: 0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y: 0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media(min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:4.16666667%}.col-lg-2{flex:0 0 auto;width:8.33333333%}.col-lg-3{flex:0 0 auto;width:12.5%}.col-lg-4{flex:0 0 auto;width:16.66666667%}.col-lg-5{flex:0 0 auto;width:20.83333333%}.col-lg-6{flex:0 0 auto;width:25%}.col-lg-7{flex:0 0 auto;width:29.16666667%}.col-lg-8{flex:0 0 auto;width:33.33333333%}.col-lg-9{flex:0 0 auto;width:37.5%}.col-lg-10{flex:0 0 auto;width:41.66666667%}.col-lg-11{flex:0 0 auto;width:45.83333333%}.col-lg-12{flex:0 0 auto;width:50%}.col-lg-13{flex:0 0 auto;width:54.16666667%}.col-lg-14{flex:0 0 auto;width:58.33333333%}.col-lg-15{flex:0 0 auto;width:62.5%}.col-lg-16{flex:0 0 auto;width:66.66666667%}.col-lg-17{flex:0 0 auto;width:70.83333333%}.col-lg-18{flex:0 0 auto;width:75%}.col-lg-19{flex:0 0 auto;width:79.16666667%}.col-lg-20{flex:0 0 auto;width:83.33333333%}.col-lg-21{flex:0 0 auto;width:87.5%}.col-lg-22{flex:0 0 auto;width:91.66666667%}.col-lg-23{flex:0 0 auto;width:95.83333333%}.col-lg-24{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:4.16666667%}.offset-lg-2{margin-left:8.33333333%}.offset-lg-3{margin-left:12.5%}.offset-lg-4{margin-left:16.66666667%}.offset-lg-5{margin-left:20.83333333%}.offset-lg-6{margin-left:25%}.offset-lg-7{margin-left:29.16666667%}.offset-lg-8{margin-left:33.33333333%}.offset-lg-9{margin-left:37.5%}.offset-lg-10{margin-left:41.66666667%}.offset-lg-11{margin-left:45.83333333%}.offset-lg-12{margin-left:50%}.offset-lg-13{margin-left:54.16666667%}.offset-lg-14{margin-left:58.33333333%}.offset-lg-15{margin-left:62.5%}.offset-lg-16{margin-left:66.66666667%}.offset-lg-17{margin-left:70.83333333%}.offset-lg-18{margin-left:75%}.offset-lg-19{margin-left:79.16666667%}.offset-lg-20{margin-left:83.33333333%}.offset-lg-21{margin-left:87.5%}.offset-lg-22{margin-left:91.66666667%}.offset-lg-23{margin-left:95.83333333%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: 0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: 0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: 0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: 0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media(min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:4.16666667%}.col-xl-2{flex:0 0 auto;width:8.33333333%}.col-xl-3{flex:0 0 auto;width:12.5%}.col-xl-4{flex:0 0 auto;width:16.66666667%}.col-xl-5{flex:0 0 auto;width:20.83333333%}.col-xl-6{flex:0 0 auto;width:25%}.col-xl-7{flex:0 0 auto;width:29.16666667%}.col-xl-8{flex:0 0 auto;width:33.33333333%}.col-xl-9{flex:0 0 auto;width:37.5%}.col-xl-10{flex:0 0 auto;width:41.66666667%}.col-xl-11{flex:0 0 auto;width:45.83333333%}.col-xl-12{flex:0 0 auto;width:50%}.col-xl-13{flex:0 0 auto;width:54.16666667%}.col-xl-14{flex:0 0 auto;width:58.33333333%}.col-xl-15{flex:0 0 auto;width:62.5%}.col-xl-16{flex:0 0 auto;width:66.66666667%}.col-xl-17{flex:0 0 auto;width:70.83333333%}.col-xl-18{flex:0 0 auto;width:75%}.col-xl-19{flex:0 0 auto;width:79.16666667%}.col-xl-20{flex:0 0 auto;width:83.33333333%}.col-xl-21{flex:0 0 auto;width:87.5%}.col-xl-22{flex:0 0 auto;width:91.66666667%}.col-xl-23{flex:0 0 auto;width:95.83333333%}.col-xl-24{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:4.16666667%}.offset-xl-2{margin-left:8.33333333%}.offset-xl-3{margin-left:12.5%}.offset-xl-4{margin-left:16.66666667%}.offset-xl-5{margin-left:20.83333333%}.offset-xl-6{margin-left:25%}.offset-xl-7{margin-left:29.16666667%}.offset-xl-8{margin-left:33.33333333%}.offset-xl-9{margin-left:37.5%}.offset-xl-10{margin-left:41.66666667%}.offset-xl-11{margin-left:45.83333333%}.offset-xl-12{margin-left:50%}.offset-xl-13{margin-left:54.16666667%}.offset-xl-14{margin-left:58.33333333%}.offset-xl-15{margin-left:62.5%}.offset-xl-16{margin-left:66.66666667%}.offset-xl-17{margin-left:70.83333333%}.offset-xl-18{margin-left:75%}.offset-xl-19{margin-left:79.16666667%}.offset-xl-20{margin-left:83.33333333%}.offset-xl-21{margin-left:87.5%}.offset-xl-22{margin-left:91.66666667%}.offset-xl-23{margin-left:95.83333333%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: 0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: 0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: 0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: 0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media(min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:4.16666667%}.col-xxl-2{flex:0 0 auto;width:8.33333333%}.col-xxl-3{flex:0 0 auto;width:12.5%}.col-xxl-4{flex:0 0 auto;width:16.66666667%}.col-xxl-5{flex:0 0 auto;width:20.83333333%}.col-xxl-6{flex:0 0 auto;width:25%}.col-xxl-7{flex:0 0 auto;width:29.16666667%}.col-xxl-8{flex:0 0 auto;width:33.33333333%}.col-xxl-9{flex:0 0 auto;width:37.5%}.col-xxl-10{flex:0 0 auto;width:41.66666667%}.col-xxl-11{flex:0 0 auto;width:45.83333333%}.col-xxl-12{flex:0 0 auto;width:50%}.col-xxl-13{flex:0 0 auto;width:54.16666667%}.col-xxl-14{flex:0 0 auto;width:58.33333333%}.col-xxl-15{flex:0 0 auto;width:62.5%}.col-xxl-16{flex:0 0 auto;width:66.66666667%}.col-xxl-17{flex:0 0 auto;width:70.83333333%}.col-xxl-18{flex:0 0 auto;width:75%}.col-xxl-19{flex:0 0 auto;width:79.16666667%}.col-xxl-20{flex:0 0 auto;width:83.33333333%}.col-xxl-21{flex:0 0 auto;width:87.5%}.col-xxl-22{flex:0 0 auto;width:91.66666667%}.col-xxl-23{flex:0 0 auto;width:95.83333333%}.col-xxl-24{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:4.16666667%}.offset-xxl-2{margin-left:8.33333333%}.offset-xxl-3{margin-left:12.5%}.offset-xxl-4{margin-left:16.66666667%}.offset-xxl-5{margin-left:20.83333333%}.offset-xxl-6{margin-left:25%}.offset-xxl-7{margin-left:29.16666667%}.offset-xxl-8{margin-left:33.33333333%}.offset-xxl-9{margin-left:37.5%}.offset-xxl-10{margin-left:41.66666667%}.offset-xxl-11{margin-left:45.83333333%}.offset-xxl-12{margin-left:50%}.offset-xxl-13{margin-left:54.16666667%}.offset-xxl-14{margin-left:58.33333333%}.offset-xxl-15{margin-left:62.5%}.offset-xxl-16{margin-left:66.66666667%}.offset-xxl-17{margin-left:70.83333333%}.offset-xxl-18{margin-left:75%}.offset-xxl-19{margin-left:79.16666667%}.offset-xxl-20{margin-left:83.33333333%}.offset-xxl-21{margin-left:87.5%}.offset-xxl-22{margin-left:91.66666667%}.offset-xxl-23{margin-left:95.83333333%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: 0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: 0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: 0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: 0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #a6b5cc;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #b5b6b7;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #a7b9b1;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #a6c3ca;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #ccc2a4;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #c6acae;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #c6c7c8;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #4d5154;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + var(--bs-border-width));padding-bottom:calc(0.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + var(--bs-border-width));padding-bottom:calc(0.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + var(--bs-border-width));padding-bottom:calc(0.25rem + var(--bs-border-width));font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:var(--bs-box-shadow) !important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm) !important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg) !important}.shadow-none{box-shadow:none !important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:.25rem !important}.column-gap-2{column-gap:.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + 0.9vw) !important}.fs-3{font-size:calc(1.3rem + 0.6vw) !important}.fs-4{font-size:calc(1.275rem + 0.3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:.25rem !important}.column-gap-sm-2{column-gap:.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:.25rem !important}.column-gap-md-2{column-gap:.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:.25rem !important}.column-gap-lg-2{column-gap:.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:.25rem !important}.column-gap-xl-2{column-gap:.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:.25rem !important}.column-gap-xxl-2{column-gap:.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}@media(min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.nav-connect.status-0{border-color:#fd0;color:#1e1e1e}.nav-connect.status-1{border-color:#c4161c;color:#c4161c}.nav-connect.status-2{border-color:#7f54b3;color:#7f54b3}.nav-connect.status-3{border-color:#128003;color:#128003}.nav.nav-tabs{border-bottom:0}.nav.nav-tabs .nav-item .nav-link{background:#fcf9e2;border:0;padding:.5rem .7rem;margin-bottom:0;color:#1d2327;font-weight:500}.nav.nav-tabs .nav-item .nav-link.active{background:#fff}.toc{overflow-y:auto}.toc>.toc-list{overflow:hidden;position:relative}.toc>.toc-list li{list-style:none}.js-toc{overflow-y:hidden}a.toc-link{color:currentColor;height:100%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all 300ms ease-in-out}.is-collapsed{max-height:0}.is-position-fixed{top:40px}.is-active-link{font-weight:700}.wc1c-toc .list-group-item{margin:0;border:0;padding-left:10px;border-radius:0}.wc1c-toc .list-group-item.active{background-color:#fd0}.wc1c-toc .list-group-item a{text-decoration:none}.wc1c-toc .list-group-item a.is-active-link{color:#000}.wc1c-sidebar-toc .list-group-item{padding:.2rem .5rem;margin-top:0 !important;border:0 !important;transition:all .7s}.wc1c-sidebar-toc .is-active-link{font-weight:normal}.woocommerce_page_wc1c .wc1c-admin-form-table{margin:0}.woocommerce_page_wc1c .wc1c-admin-form-table .titledesc{padding-left:5px}.woocommerce_page_wc1c .wc1c-form-table td{padding:10px 0}.woocommerce_page_wc1c .wc1c-form-table .titledesc{padding:10px 10px 10px 0}.woocommerce_page_wc1c .wc1c-form-table fieldset{padding-right:7px;padding-bottom:7px;border-right:1px dashed #ccd0d4;border-bottom:1px dashed #ccd0d4}.woocommerce_page_wc1c .wc1c-form-table fieldset hr{border:1px solid #f0f0f1 !important}.woocommerce_page_wc1c .date_create{width:130px;max-width:130px}.woocommerce_page_wc1c .date_activity{width:130px;max-width:130px}.woocommerce_page_wc1c .remove a{color:#c4161c}.woocommerce_page_wc1c .check-column{padding:4px 0 0 0 !important;vertical-align:middle !important}.wc1c-configurations-alert{padding:10px;padding-left:20px;background-color:#fff;border-left:4px solid #fd0}.configurations-status-popover{--bs-popover-max-width: 277px;--bs-popover-border-color: #fd0;--bs-popover-border-width: 4px;border-radius:2px !important;padding:0 !important;border-right-width:2px !important;border-bottom-width:2px !important;border-top-width:2px !important}.configurations-status-popover .popover-header{margin:0 !important;border-bottom-width:2px !important}.configurations-status-popover.draft{--bs-popover-border-color: rgba(128, 0, 128, 0.9)}.configurations-status-popover.deleted{--bs-popover-border-color: rgba(128, 0, 128, 0.4)}.configurations-status-popover.active{--bs-popover-border-color: rgba(18, 128, 3, 0.6)}.configurations-status-popover.processing{--bs-popover-border-color: #128003}.configurations-status-popover.inactive{--bs-popover-border-color: rgba(196, 22, 28, 0.6)}.configurations-status-popover.error{--bs-popover-border-color: #b8151a}.configurations-status-popover .popover-header,.configurations-status-popover .popover-body{background-color:#fcf9e2}.woocommerce_page_wc1c .configurations-all .tablenav.top{height:auto;padding:0;margin-bottom:.5rem !important;margin-top:.5rem !important}.woocommerce_page_wc1c .configurations-all .tablenav.top .tablenav-pages{display:none;margin:0}.woocommerce_page_wc1c .configurations-all .subsubsub{margin:0;font-size:14px;line-height:28px}.woocommerce_page_wc1c .configurations-all .subsubsub a{text-decoration:none}.woocommerce_page_wc1c table.configurations .column-name .configuration-name{font-size:15px !important;line-height:120%;font-weight:500}.woocommerce_page_wc1c table.configurations .row-actions{font-size:14px}.woocommerce_page_wc1c table.configurations .column-name .configuration-metas{border:1px solid #ccd0d4;padding:5px;border-radius:5px;margin-bottom:5px;margin-top:10px}.woocommerce_page_wc1c table.configurations .row-metas-line-content{color:#000 !important}.woocommerce_page_wc1c table.configurations .column-configuration_id{width:45px;border-right:1px solid #ccd0d4;max-width:45px}@media(max-width: 767.98px){.woocommerce_page_wc1c table.configurations .column-configuration_id{border-right:0;max-width:100%}}.woocommerce_page_wc1c table.configurations td{vertical-align:middle !important}.woocommerce_page_wc1c table.configurations .column-date_create{line-height:1.3em;width:130px;max-width:130px}.woocommerce_page_wc1c table.configurations .column-date_activity{line-height:1.3em;width:130px;max-width:130px}.woocommerce_page_wc1c table.configurations .column-schema{border-left:1px solid #ccd0d4;width:111px}.woocommerce_page_wc1c table.configurations .no-items .colspanchange{padding:10px !important;text-align:left}.woocommerce_page_wc1c table.configurations .column-status{max-width:120px;min-width:120px;width:120px;border-left:1px solid #ccd0d4;border-right:1px solid #ccd0d4}@media(max-width: 767.98px){.woocommerce_page_wc1c table.configurations .column-status{border-right:0;border-left:0;max-width:100%}}.woocommerce_page_wc1c table.configurations .column-status span{font-size:14px;padding:3px;text-align:center;display:block;border-radius:3px;line-height:1.7em;cursor:pointer}.woocommerce_page_wc1c table.configurations .column-status span.draft{background-color:rgba(128,0,128,.9);color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.deleted{background-color:rgba(128,0,128,.4);color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.active{background-color:rgba(18,128,3,.6);color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.processing{background-color:#128003;color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.inactive{background-color:rgba(196,22,28,.6);color:#fff}.woocommerce_page_wc1c table.configurations .column-status span.error{background-color:#b8151a;color:#fff}.extensions-alert{padding:20px;padding-left:40px;background-color:#fff;border-left:7px solid #7f54b3;border-radius:7px}.extensions-all .extensions-all-item .badge{font-size:.7rem;padding:5px 7px}.wc1c-tools-alert{padding:20px;padding-left:40px;background-color:#fff;border-left:7px solid #7f54b3;border-radius:7px}.woocommerce_page_wc1c .wp-header-end{margin-bottom:15px}.woocommerce_page_wc1c .add_config{text-align:right;padding-bottom:0 !important;padding-top:1em !important;margin:0 !important}.woocommerce_page_wc1c .settings-update{margin-top:10px;margin-bottom:10px}.woocommerce_page_wc1c .help-tab-content{margin:0}.woocommerce_page_wc1c .button-danger{color:#fff;background-color:darkred;border-color:red}.promo{background:pink}.nav-tab-active.promo{background:#f0f0f1}.wc1c-title-wrap{padding:5px 7px;background-color:#f0f0f1}.wc1c-title-wrap h3{margin:.1em 0;font-size:1.2em}.wc1c-title-wrap p{margin:.3em 0}.wc1c-admin-settings .wc1c-title-wrap{background-color:#f0f0f1;margin-top:10px}.wc1c-admin-connection .wc1c-title-wrap{margin-top:10px}.wc1c_urls{border:2px dashed #eee}.wc1c-custom-metas{border:1px solid #ccd0d4;padding:5px;border-radius:5px;margin-bottom:5px;margin-top:10px}.wc1c-yellow-alert{padding:10px 10px 10px 20px;background-color:#fff;border:2px solid #fd0;border-left:4px solid #fd0}.wc1c-wizards{position:relative;margin-top:10px}.wc1c-wizards *,.wc1c-wizards *::before,.wc1c-wizards *::after{box-sizing:border-box}.wc1c-wizards>.tab-content{position:relative;overflow:hidden}.wc1c-wizards .toolbar{padding:.8rem}.wc1c-wizards .toolbar>.btn{display:inline-block;text-decoration:none;text-align:center;text-transform:none;vertical-align:middle;user-select:none;margin-left:.2rem;margin-right:.2rem;cursor:pointer}.wc1c-wizards .toolbar>.btn.disabled,.wc1c-wizards .toolbar>.btn:disabled{opacity:.65}.wc1c-wizards>.nav{display:flex;flex-wrap:wrap;list-style:none;padding-left:0;margin-top:0;margin-bottom:0}@media screen and (max-width: 640px){.wc1c-wizards>.nav{flex-direction:column !important;flex:1 auto}}.wc1c-wizards>.nav .nav-link{display:block;padding:.5rem 1rem;text-decoration:none}.wc1c-wizards>.nav .nav-link:hover,.wc1c-wizards>.nav .nav-link:active,.wc1c-wizards>.nav .nav-link:focus{text-decoration:none}.wc1c-wizards>.nav .nav-link::-moz-focus-inner{border:0 !important}.wc1c-wizards>.nav .nav-link.disabled{color:#ccc !important;pointer-events:none;cursor:default}.wc1c-wizards>.nav .nav-link.hidden{display:none !important}.wc1c-wizards.justified>.nav>li,.wc1c-wizards.justified>.nav .nav-link{flex-basis:0;flex-grow:1}.wc1c-wizards.dark{color:rgba(255,255,255,.95);background:#000}.wc1c-wizards.loading{user-select:none}.wc1c-wizards.loading::after{content:"";display:block;position:absolute;opacity:1;top:0;left:0;height:100%;width:100%;background:rgba(255,255,255,.7);z-index:2;transition:all .2s ease}.wc1c-wizards.loading::before{content:"";display:inline-block;position:absolute;top:45%;left:45%;width:2rem;height:2rem;border:10px solid #f3f3f3;border-top:10px solid #3498db;border-radius:50%;z-index:10;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.theme-default{border:1px solid #eee}.theme-default>.wizard-content{padding:10px}.theme-default .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.theme-default>.nav{box-shadow:0 .125rem .25rem rgba(0,0,0,.1) !important}.theme-default>.nav .nav-link{position:relative;height:100%;min-height:100%}.theme-default>.nav .nav-link::after{content:"";position:absolute;height:2px;width:0;left:0px;bottom:-1px;background:#999;transition:all .35s ease .15s}.theme-default>.nav .nav-link.inactive{color:#999;cursor:not-allowed}.theme-default>.nav .nav-link.active{color:#17a2b8 !important;cursor:pointer}.theme-default>.nav .nav-link.active::after{background:#17a2b8 !important;width:100%}.theme-default>.nav .nav-link.done{color:#5cb85c !important;cursor:pointer}.theme-default>.nav .nav-link.done::after{background:#5cb85c;width:100%}.theme-default>.nav .nav-link.disabled{color:#ddd !important;cursor:not-allowed}.theme-default>.nav .nav-link.disabled::after{background:#ddd;width:100%}.theme-default>.nav .nav-link.danger{color:#d9534f !important;cursor:pointer}.theme-default>.nav .nav-link.danger::after{background:#d9534f;width:100%}.theme-dots>.tab-content>.tab-pane{padding:10px}.theme-dots .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.theme-dots>.nav{position:relative;margin-bottom:10px}.theme-dots>.nav::before{content:" ";position:absolute;top:18px;left:0;width:100%;height:5px;background-color:#eee;border-radius:3px;z-index:1}.theme-dots>.nav .nav-link{position:relative;margin-top:40px}.theme-dots>.nav .nav-link::before{content:" ";position:absolute;display:block;top:-36px;left:0;right:0;margin-left:auto;margin-right:auto;width:32px;height:32px;border-radius:50%;border:none;background:#f5f5f5;color:#428bca;text-decoration:none;z-index:98}.theme-dots>.nav .nav-link::after{content:" ";position:absolute;display:block;top:-28px;left:0;right:0;margin-left:auto;margin-right:auto;width:16px;height:16px;border-radius:50%;z-index:99}.theme-dots>.nav .nav-link.inactive{color:#999;cursor:not-allowed}.theme-dots>.nav .nav-link.inactive::after{background-color:#999}.theme-dots>.nav .nav-link.active{color:#5bc0de !important;cursor:pointer}.theme-dots>.nav .nav-link.active::after{background-color:#5bc0de !important}.theme-dots>.nav .nav-link.done{color:#5cb85c;cursor:pointer}.theme-dots>.nav .nav-link.done::after{background-color:#5cb85c}.theme-dots>.nav .nav-link.disabled{color:#f9f9f9;cursor:not-allowed}.theme-dots>.nav .nav-link.disabled::after{background-color:#f9f9f9}.theme-dots>.nav .nav-link.danger{color:#d9534f;cursor:pointer}.theme-dots>.nav .nav-link.danger::after{background-color:#d9534f}.theme-dots.dark{color:rgba(255,255,255,.95);background:#000}.theme-dots.dark>.nav::before{background-color:#3c3c3c}.theme-dots.dark>.nav .nav-link::before{background:#434343;color:#000}.theme-arrows{border:1px solid #eee}.theme-arrows>.wizard-content{padding:10px}.theme-arrows .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.theme-arrows>.nav{overflow:hidden;border-bottom:1px solid #eee}.theme-arrows>.nav .nav-item{margin-bottom:0;text-align:left}.theme-arrows>.nav .nav-link{position:relative;height:100%;min-height:100%;margin-right:30px;margin-left:-30px;padding-left:40px;margin-bottom:0;text-align:left}@media screen and (max-width: 640px){.theme-arrows>.nav .nav-link{overflow:hidden;margin-bottom:1px;margin-right:unset}}.theme-arrows>.nav .nav-link::after{content:"";position:absolute;display:block;width:0;height:0;top:50%;left:100%;margin-top:-50px;border-top:50px solid transparent;border-bottom:50px solid transparent;border-left:30px solid #f8f8f8;z-index:2}.theme-arrows>.nav .nav-link::before{content:" ";position:absolute;display:block;width:0;height:0;top:50%;left:100%;margin-top:-50px;margin-left:1px;border-top:50px solid transparent;border-bottom:50px solid transparent;border-left:30px solid #eee;z-index:1}.theme-arrows>.nav .nav-link.inactive{color:#999;border-color:#f8f8f8;background:#f8f8f8;cursor:not-allowed}.theme-arrows>.nav .nav-link.active{color:#fff;border-color:#7f54b3;background:#7f54b3;cursor:pointer}.theme-arrows>.nav .nav-link.active::after{border-left-color:#7f54b3}.theme-arrows>.nav .nav-link.done{color:#fff;border-color:#5cb85c;background:#5cb85c;cursor:pointer}.theme-arrows>.nav .nav-link.done::after{border-left-color:#5cb85c}.theme-arrows>.nav .nav-link.disabled{color:#eee;border-color:#f9f9f9;background:#f9f9f9;cursor:not-allowed}.theme-arrows>.nav .nav-link.disabled::after{border-left-color:#f9f9f9}.theme-arrows>.nav .nav-link.danger{color:#fff;border-color:#d9534f;background:#d9534f;cursor:pointer}.theme-arrows>.nav .nav-link.danger::after{border-left-color:#d9534f}.theme-arrows.dark{color:rgba(255,255,255,.95);background:#000}.theme-arrows.dark>.nav{border-bottom:1px solid #555}.theme-arrows.dark>.nav .nav-link::after{border-left:30px solid #5f5f5f}.theme-arrows.dark>.nav .nav-link::before{border-left:30px solid #555}.theme-arrows.dark>.nav .nav-link.inactive{color:#fff;border-color:#5f5f5f;background:#5f5f5f}.theme-arrows.dark>.nav .nav-link.inactive::after{border-left-color:#5f5f5f}.theme-arrows.dark>.nav .nav-link.active{color:#fff;border-color:#000;background:#040206}.theme-arrows.dark>.nav .nav-link.active::after{border-left-color:#040206}.theme-arrows.dark>.nav .nav-link.done{color:#fff;border-color:#000;background:#000}.theme-arrows.dark>.nav .nav-link.done::after{border-left-color:#000}.theme-arrows.dark>.nav .nav-link.disabled{color:#555 !important;border-color:#f9f9f9;background:#474747}.theme-arrows.dark>.nav .nav-link.disabled::after{border-left-color:#474747}.theme-arrows.dark>.nav .nav-link.danger{color:#fff;border-color:#d9534f;background:#d9534f}.theme-arrows.dark>.nav .nav-link.danger::after{border-left-color:#d9534f}/*# sourceMappingURL=main.min.css.map */ diff --git a/assets/css/main.min.css.map b/assets/css/main.min.css.map index 4cd02da3..cb4b4830 100644 --- a/assets/css/main.min.css.map +++ b/assets/css/main.min.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_root.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/vendor/_rfs.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_color-mode.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_buttons.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_border-radius.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_gradients.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_transition.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_buttons.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_variables.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_transitions.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_badge.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_button-group.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_list-group.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_breakpoints.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_grid.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_grid.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_card.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_tables.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_table-variants.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_progress.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/forms/_labels.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/forms/_form-text.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/forms/_form-control.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/forms/_form-select.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/forms/_form-check.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/forms/_form-range.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/forms/_floating-labels.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/forms/_input-group.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_forms.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_nav.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_alert.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/_popover.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_reset-text.scss","../scss/_variables.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_clearfix.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_color-bg.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_colored-links.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_focus-ring.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_icon-link.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_ratio.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_position.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_stacks.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_visually-hidden.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_visually-hidden.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_stretched-link.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_text-truncation.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_text-truncate.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/helpers/_vr.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/mixins/_utilities.scss","../../../../../sources/bootstrap/bootstrap-5.3.0/scss/utilities/_api.scss","../scss/_nav.scss","../scss/tocbot/_tocbot-core.scss","../scss/_toc.scss","../scss/_tables.scss","../scss/_configurations.scss","../scss/_configurations_table.scss","../scss/_extensions.scss","../scss/_tools.scss","../scss/_other.scss","../scss/wizards/_core.scss","../scss/wizards/themes/_default.scss","../scss/wizards/themes/_dots.scss","../scss/wizards/themes/_arrows.scss"],"names":[],"mappings":"AAAA,4BASI,mRAIA,+MAIA,yKAIA,8OAIA,yRAIA,yPAIA,yRAGF,8BACA,wBAMA,iHACA,0FACA,0FAOA,kHC2OI,yBDzOJ,2BACA,2BAKA,yBACA,gCACA,mBACA,gCAEA,0BACA,iCAEA,6CACA,qCACA,2BACA,qCAEA,2CACA,oCACA,0BACA,oCAGA,4BAEA,yBACA,kCACA,gCAEA,+BACA,uCAMA,yBACA,2BAGA,uBACA,yBACA,2BACA,oDAEA,6BACA,+BACA,8BACA,4BACA,6BACA,oDACA,+BAGA,mDACA,4DACA,qDACA,4DAIA,+BACA,8BACA,gDAIA,+BACA,sCACA,iCACA,wCE/GE,qBFqHA,kBAGA,yBACA,mCACA,sBACA,6BAEA,0BACA,uCAEA,gDACA,wCACA,2BACA,kCAEA,8CACA,uCACA,0BACA,iCAGE,yRAIA,yPAIA,yRAGF,4BAEA,yBACA,+BACA,mCACA,yCAEA,yBAEA,2BACA,yDAEA,+BACA,sCACA,iCACA,wCGhLJ,KAEE,4BACA,6BACA,uBFuRI,wBErRJ,0BACA,0BACA,qCACA,yBACA,8CACA,mCACA,gDACA,yCACA,6FACA,gCACA,kFAGA,qBACA,wDACA,sCFsQI,UALI,wBE/PR,sCACA,sCACA,0BACA,kBACA,qBAEA,sBACA,eACA,iBACA,mECjBE,0CCfF,iBFkCqB,iBGtBjB,WHwBJ,mHGpBI,uCHhBN,KGiBQ,iBHqBN,WACE,gCAEA,wCACA,8CAGF,sBAEE,0BACA,kCACA,wCAGF,mBACE,gCErDF,iBFsDuB,uBACrB,8CACA,UAKE,0CAIJ,8BACE,8CACA,UAKE,0CAIJ,mGAKE,iCACA,yCAGA,+CAGA,yKAKI,0CAKN,mDAGE,mCACA,oBACA,2CAEA,iDACA,uCAYF,aItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,eItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,aItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,UItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,aItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,YItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,WItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,UItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJmHA,qBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,uBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,qBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,kBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,qBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,oBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,mBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,kBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJsGF,UACE,0BACA,qCACA,yBACA,mCACA,iDACA,yCACA,kDACA,0CACA,iCACA,4CACA,gCACA,wCAEA,gBKuRwC,UL7QxC,wBACE,0BAGF,gBACE,gCAWJ,2BIxIE,2BACA,yBN8NI,2BM5NJ,mDJyIF,2BI5IE,4BACA,2BN8NI,4BM5NJ,mDEnEF,MHgBM,WGfJ,oBHmBI,uCGpBN,MHqBQ,iBGlBN,iBACE,UAMF,qBACE,aAIJ,YACE,SACA,gBHDI,WGEJ,iBHEI,uCGLN,YHMQ,iBGDN,gCACE,QACA,YHNE,WGOF,gBHHE,uEACE,iBIhBR,OAEE,6BACA,6BTuRI,4BSrRJ,4BACA,uBACA,kDAGA,qBACA,4DT+QI,UALI,0BSxQR,wCACA,cACA,4BACA,kBACA,mBACA,wBNJE,4CMSF,aACE,aAKJ,YACE,kBACA,SCnCF,+BAEE,kBACA,oBACA,sBAEA,yCACE,kBACA,cAKF,kXAME,UAKJ,aACE,aACA,eACA,2BAEA,0BACE,WAIJ,WPhBI,sCOoBF,qFAEE,8CAIF,qJPVE,0BACA,6BOmBF,6GPNE,yBACA,4BOwBJ,uBACE,uBACA,sBAEA,2GAGE,cAGF,0CACE,eAIJ,yEACE,sBACA,qBAGF,yEACE,qBACA,oBAoBF,oBACE,sBACA,uBACA,uBAEA,wDAEE,WAGF,4FAEE,6CAIF,qHP1FE,6BACA,4BO8FF,oFP7GE,yBACA,0BQzBJ,YAEE,4CACA,sCACA,qDACA,qDACA,uDACA,qCACA,uCACA,wDACA,6DACA,uDACA,0DACA,yDACA,0DACA,+CACA,mCACA,mCACA,6CAGA,aACA,sBAGA,eACA,gBRXE,iDQeJ,qBACE,qBACA,sBAEA,8CAEE,oCACA,0BASJ,wBACE,WACA,wCACA,mBAGA,4DAEE,UACA,8CACA,qBACA,sDAGF,+BACE,+CACA,uDAQJ,iBACE,kBACA,cACA,gFACA,iCACA,qBACA,yCACA,iFAEA,6BRvDE,+BACA,gCQ0DF,4BR7CE,mCACA,kCQgDF,oDAEE,0CACA,oBACA,kDAIF,wBACE,UACA,wCACA,gDACA,sDAIF,kCACE,mBAEA,yCACE,wDACA,mDAaF,uBACE,mBAGE,qERvDJ,6DAZA,0BQwEI,qERxEJ,2DAYA,4BQiEI,+CACE,aAGF,yDACE,mDACA,oBAEA,gEACE,yDACA,oDCtFR,yBD8DA,0BACE,mBAGE,wERvDJ,6DAZA,0BQwEI,wERxEJ,2DAYA,4BQiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,yDACA,qDCtFR,yBD8DA,0BACE,mBAGE,wERvDJ,6DAZA,0BQwEI,wERxEJ,2DAYA,4BQiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,yDACA,qDCtFR,yBD8DA,0BACE,mBAGE,wERvDJ,6DAZA,0BQwEI,wERxEJ,2DAYA,4BQiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,yDACA,qDCtFR,0BD8DA,0BACE,mBAGE,wERvDJ,6DAZA,0BQwEI,wERxEJ,2DAYA,4BQiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,yDACA,qDCtFR,0BD8DA,2BACE,mBAGE,yERvDJ,6DAZA,0BQwEI,yERxEJ,2DAYA,4BQiEI,mDACE,aAGF,6DACE,mDACA,oBAEA,oEACE,yDACA,qDAcZ,kBRhJI,gBQmJF,mCACE,mDAEA,8CACE,sBAaJ,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,2BACE,yDACA,kDACA,gEACA,6DACA,mEACA,8DACA,oEACA,4DACA,6DACA,uEAVF,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,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DR,YACE,cZi2BsC,MYx1BxC,gBACE,oDACA,uDACA,gBnB8QI,UALI,QmBrQR,YZ+lB4B,IY3lB9B,mBACE,kDACA,qDnBoQI,UALI,QmB3PV,mBACE,mDACA,sDnB8PI,UALI,SoBtRV,WACE,Wby1BsC,OP/jBlC,UALI,QoBjRR,Mby1BsC,0Bc91BxC,cACE,cACA,WACA,uBrBwRI,UALI,KqBhRR,YdkmB4B,IcjmB5B,YdymB4B,IcxmB5B,Mds3BsC,qBcr3BtC,iBdg3BsC,kBc/2BtC,4BACA,2DACA,gBlBGE,sCEHE,WgBMJ,0DhBFI,uCgBhBN,chBiBQ,iBgBGN,yBACE,gBAEA,wDACE,eAKJ,oBACE,Mdg2BoC,qBc/1BpC,iBd01BoC,kBcz1BpC,adw2BoC,Qcv2BpC,UAKE,WdkhBkB,kCc9gBtB,2CAME,eAMA,aAKA,SAKF,qCACE,cACA,UAIF,2BACE,Mds0BoC,0Bcp0BpC,UAQF,uBAEE,iBdwyBoC,uBcryBpC,UAIF,oCACE,uBACA,0BACA,kBd+qB0B,Oc9qB1B,MdgyBoC,qBH93BtC,iBG+hCgC,sBc/7B9B,oBACA,qBACA,mBACA,eACA,wBd2rB0B,uBc1rB1B,gBhBzFE,WgB0FF,mHhBtFE,uCgB0EJ,oChBzEM,iBgBwFN,yEACE,iBds7B8B,uBc76BlC,wBACE,cACA,WACA,kBACA,gBACA,Ydwf4B,Icvf5B,MdqxBsC,qBcpxBtC,6BACA,yBACA,sCAEA,8BACE,UAGF,gFAEE,gBACA,eAWJ,iBACE,WdswBsC,wDcrwBtC,qBrByII,UALI,SGvQN,yCkBuIF,uCACE,qBACA,wBACA,kBd+nB0B,Mc3nB9B,iBACE,Wd0vBsC,sDczvBtC,mBrB4HI,UALI,QGvQN,yCkBoJF,uCACE,mBACA,qBACA,kBdsnB0B,Kc9mB5B,sBACE,WduuBoC,yDcpuBtC,yBACE,WdouBoC,wDcjuBtC,yBACE,WdiuBoC,sDc5tBxC,oBACE,Md+tBsC,Kc9tBtC,OdwtBsC,yDcvtBtC,Qd4kB4B,Qc1kB5B,mDACE,eAGF,uCACE,oBlBvLA,sCkB2LF,0CACE,oBlB5LA,sCkBgMF,2CdwsBsC,wDcvsBtC,2CdwsBsC,sDev5BxC,aACE,yPAEA,cACA,WACA,uCtBqRI,UALI,KsB7QR,Yf+lB4B,Ie9lB5B,YfsmB4B,IermB5B,Mfm3BsC,qBel3BtC,iBf62BsC,kBe52BtC,kFACA,4BACA,oBf09BkC,oBez9BlC,gBf09BkC,Uez9BlC,2DnBFE,sCEHE,WiBQJ,0DACA,gBjBLI,uCiBfN,ajBgBQ,iBiBMN,mBACE,afg3BoC,Qe/2BpC,UAKE,Wf29B4B,kCev9BhC,0DAEE,cfwuB0B,OevuB1B,sBAGF,sBAEE,iBfi1BoC,uBe50BtC,4BACE,kBACA,uCAIJ,gBACE,YfiuB4B,OehuB5B,efguB4B,Oe/tB5B,afguB4B,MP7fxB,UALI,SGvQN,yCmB8CJ,gBACE,Yf6tB4B,Me5tB5B,ef4tB4B,Me3tB5B,af4tB4B,KPjgBxB,UALI,QGvQN,yCmBwDA,kCACE,yPCxEN,YACE,cACA,WhB+5BwC,OgB95BxC,ahB+5BwC,MgB95BxC,chB+5BwC,QgB75BxC,8BACE,WACA,mBAIJ,oBACE,chBq5BwC,MgBp5BxC,eACA,iBAEA,sCACE,YACA,oBACA,cAIJ,kBACE,sCAEA,MhBq4BwC,IgBp4BxC,OhBo4BwC,IgBn4BxC,iBACA,mBACA,yCACA,+CACA,4BACA,2BACA,wBACA,OhBu4BwC,oDgBt4BxC,gBACA,yBAGA,iCpB1BE,oBoB8BF,8BAEE,chB83BsC,IgB33BxC,yBACE,OhBq3BsC,gBgBl3BxC,wBACE,ahBi1BoC,QgBh1BpC,UACA,WhB+foB,kCgB5ftB,0BACE,iBhB3BM,QgB4BN,ahB5BM,QgB8BN,yCAII,wPAIJ,sCAII,gKAKN,+CACE,iBhBhDM,QgBiDN,ahBjDM,QgBsDJ,kPAIJ,2BACE,oBACA,YACA,QhB61BuC,GgBt1BvC,2FACE,eACA,QhBo1BqC,GgBt0B3C,aACE,ahB+0BgC,MgB70BhC,+BACE,4KAEA,MhBy0B8B,IgBx0B9B,mBACA,0CACA,gCpBhHA,kBEHE,WkBqHF,qClBjHE,uCkByGJ,+BlBxGM,iBkBkHJ,qCACE,8JAGF,uCACE,oBhBw0B4B,agBn0B1B,2JAKN,gCACE,chBmzB8B,MgBlzB9B,eAEA,kDACE,oBACA,cAKN,mBACE,qBACA,ahBiyBgC,KgB9xBlC,WACE,kBACA,sBACA,oBAIE,mDACE,oBACA,YACA,QhBkpBwB,IgB3oB1B,8EACE,kLClLN,YACE,WACA,cACA,UACA,6BACA,gBAEA,kBACE,UAIA,mDjBwgCuC,iDiBvgCvC,+CjBugCuC,iDiBpgCzC,8BACE,SAGF,kCACE,MjBy/BuC,KiBx/BvC,OjBw/BuC,KiBv/BvC,oBpBzBF,iBGkCQ,QiBPN,OjBw/BuC,EJpgCvC,mBEHE,WmBkBF,4FACA,gBnBfE,uCmBMJ,kCnBLM,iBmBgBJ,yCpBjCF,iBGwhCyC,QiBl/BzC,2CACE,MjBk+B8B,KiBj+B9B,OjBk+B8B,MiBj+B9B,kBACA,OjBi+B8B,QiBh+B9B,iBjBi+B8B,sBiBh+B9B,yBrB7BA,mBqBkCF,8BACE,MjB89BuC,KiB79BvC,OjB69BuC,KHhhCzC,iBGkCQ,QiBmBN,OjB89BuC,EJpgCvC,mBEHE,WmB4CF,4FACA,gBnBzCE,uCmBiCJ,8BnBhCM,iBmB0CJ,qCpB3DF,iBGwhCyC,QiBx9BzC,8BACE,MjBw8B8B,KiBv8B9B,OjBw8B8B,MiBv8B9B,kBACA,OjBu8B8B,QiBt8B9B,iBjBu8B8B,sBiBt8B9B,yBrBvDA,mBqB4DF,qBACE,oBAEA,2CACE,iBjB08BqC,0BiBv8BvC,uCACE,iBjBs8BqC,0BkB7hC3C,eACE,kBAEA,gGAGE,OlBkiCoC,gDkBjiCpC,WlBiiCoC,gDkBhiCpC,YlBiiCoC,KkB9hCtC,qBACE,kBACA,MACA,OACA,UACA,YACA,oBACA,gBACA,iBACA,uBACA,mBACA,oBACA,gDACA,qBpBRE,WoBSF,kDpBLE,uCoBTJ,qBpBUM,iBoBON,oEAEE,oBAEA,8FACE,kBAGF,oMAEE,YlBsgCkC,SkBrgClC,elBsgCkC,QkBngCpC,sGACE,YlBigCkC,SkBhgClC,elBigCkC,QkB7/BtC,4BACE,YlB2/BoC,SkB1/BpC,elB2/BoC,QkBp/BpC,mLACE,2CACA,UlBq/BkC,oDkBn/BlC,+MACE,kBACA,mBACA,WACA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CA,+BACA,0BACA,qCACA,6EACA,kDACA,+BAGA,kBACA,4DACA,4CACA,4BACA,oCACA,8B1BHE,4C0BQJ,eAEE,cAIF,YACE,YtB6kB4B,IsB5kB5B,iCAQF,mBACE,ctBg+C8B,KsB79C9B,8BACE,kBACA,MACA,QACA,UACA,qBAQF,eACE,kDACA,2CACA,yDACA,uDAJF,iBACE,oDACA,6CACA,2DACA,yDAJF,eACE,kDACA,2CACA,yDACA,uDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,eACE,kDACA,2CACA,yDACA,uDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,YACE,+CACA,wCACA,sDACA,oDChEJ,SAEE,0BACA,8B9B4RI,gC8B1RJ,mCACA,kDACA,8DACA,uDACA,4FACA,2DACA,oCACA,sC9BmRI,mC8BjRJ,mCACA,+CACA,kCACA,kCACA,8CACA,+BACA,kCACA,0DAGA,iCACA,cACA,sCCzBA,YCIuB,qFDFvB,kBACA,YxBwmB4B,IwBvmB5B,YxB+mB4B,IwB9mB5B,gBACA,iBACA,qBACA,iBACA,oBACA,sBACA,kBACA,mBACA,oBACA,gB/BgRI,UALI,4B8B1PR,qBACA,sCACA,4BACA,2E3BhBE,8C2BoBF,wBACE,cACA,oCACA,sCAEA,+DAEE,kBACA,cACA,WACA,yBACA,mBACA,eAMJ,2FACE,oFAEA,oNAEE,uFAGF,2GACE,SACA,gDAGF,yGACE,sCACA,sCAOJ,6FACE,kFACA,qCACA,qCAEA,wNAEE,gIAGF,6GACE,OACA,kDAGF,2GACE,oCACA,wCAQJ,iGACE,iFAEA,gOAEE,uFAGF,iHACE,MACA,mDAGF,+GACE,mCACA,yCAKJ,mHACE,kBACA,MACA,SACA,cACA,oCACA,sDACA,WACA,+EAMF,8FACE,mFACA,qCACA,qCAEA,0NAEE,gIAGF,8GACE,QACA,iDAGF,4GACE,qCACA,uCAuBN,gBACE,8EACA,gB9B2GI,UALI,mC8BpGR,qCACA,6CACA,kF3B5JE,6DACA,8D2B8JF,sBACE,aAIJ,cACE,0EACA,mCGhMA,iBACE,cACA,WACA,WCFF,iBACE,sBACA,wEAFF,mBACE,sBACA,yEAFF,iBACE,sBACA,uEAFF,cACE,sBACA,wEAFF,iBACE,sBACA,uEAFF,gBACE,sBACA,uEAFF,eACE,sBACA,yEAFF,cACE,sBACA,sECHF,cACE,wEACA,kGAGE,wCAGE,8DACA,wFATN,gBACE,0EACA,oGAGE,4CAGE,8DACA,wFATN,cACE,wEACA,kGAGE,wCAGE,8DACA,wFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,cACE,wEACA,kGAGE,wCAGE,+DACA,yFATN,aACE,uEACA,iGAGE,sCAGE,8DACA,wFATN,YACE,sEACA,gGAGE,oCAGE,gEACA,0FATN,WACE,qEACA,+FAGE,kCAGE,6DACA,uFAOR,oBACE,+EACA,yGAGE,oDAEE,kFACA,4GC1BN,kBACE,UAEA,kJCHF,WACE,oBACA,I9B6c4B,Q8B5c5B,mBACA,kFACA,sB9B2c4B,M8B1c5B,2BAEA,eACE,cACA,M9Buc0B,I8Btc1B,O9Bsc0B,I8Brc1B,kBhCIE,WgCHF,0BhCOE,uCgCZJ,ehCaM,iBgCDJ,8DACE,mECnBN,OACE,kBACA,WAEA,eACE,cACA,mCACA,WAGF,SACE,kBACA,MACA,OACA,WACA,YAKF,WACE,wBADF,WACE,sCADF,YACE,uCADF,YACE,uCCrBJ,WACE,eACA,MACA,QACA,OACA,QhCimCkC,KgC9lCpC,cACE,eACA,QACA,SACA,OACA,QhCylCkC,KgCjlChC,YACE,gBACA,MACA,QhC6kC8B,KgC1kChC,eACE,gBACA,SACA,QhCukC8B,KKxiChC,yB2BxCA,eACE,gBACA,MACA,QhC6kC8B,KgC1kChC,kBACE,gBACA,SACA,QhCukC8B,MKxiChC,yB2BxCA,eACE,gBACA,MACA,QhC6kC8B,KgC1kChC,kBACE,gBACA,SACA,QhCukC8B,MKxiChC,yB2BxCA,eACE,gBACA,MACA,QhC6kC8B,KgC1kChC,kBACE,gBACA,SACA,QhCukC8B,MKxiChC,0B2BxCA,eACE,gBACA,MACA,QhC6kC8B,KgC1kChC,kBACE,gBACA,S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E,gBACA,gBACA,YACA,8BACA,+B1C5BF,4B0CsBA,2DAUI,eACA,cACA,gBAGF,gEAEE,eACA,YACA,kBACA,cACA,kBACA,kBACA,eAEA,sEAEE,oCACA,WAGF,wEAEE,oCACA,WAGF,uEAEE,mCACA,WAGF,2EAEE,yBACA,WAGF,yEAEE,oCACA,WAGF,sEAEE,yBACA,WC5JV,kBAEE,aACA,kBACA,sBACA,8BACA,kBAOE,4CAEE,gBACA,gBChBN,kBAEE,aACA,kBACA,sBACA,8BACA,kBCJA,sCAEE,mBAGF,mCAEE,iBACA,4BACA,2BACA,oBAGF,wCAEE,gBACA,mBAGF,yCAEE,SAGF,sCAEE,WACA,yBACA,iBAIJ,OAEE,gBAGF,sBAEE,mBAGF,iBAEE,gBACA,yBAEA,oBAEE,cACA,gBAGF,mBAEE,cAMF,sCAEE,yBACA,gBAMF,wCAEE,gBAIJ,WAEE,uBAGF,mBAEE,yBACA,YACA,kBACA,kBACA,gBCvFF,cAEE,kBACA,gBAEA,+DAGE,sBAGF,2BACE,kBACA,gBAIF,uBACE,cAEA,4BACE,qBACA,qBACA,kBACA,oBACA,sBACA,iBACA,kBACA,mBACA,eAEA,0EACE,YAMN,mBACE,aACA,eACA,gBACA,eACA,aACA,gBAEA,qCARF,mBASI,iCACA,aAGF,6BACE,cACA,mBACA,qBAEA,0GAGE,qBAGF,+CACE,oBAGF,sCACE,sBACA,oBACA,eAEF,oCACE,wBAWF,uEACE,aACA,YAON,mBACE,4BACA,gBAIF,sBACE,iBAEA,6BACE,WACA,cACA,kBACA,UACA,MACA,OACA,YACA,WACA,gCACA,UACA,wBAGF,8BACE,WACA,qBACA,kBACA,QACA,SACA,WACA,YACA,0BACA,8BACA,kBACA,WACA,kCAGF,gBACE,0BACA,+BCjHN,eAEE,sBAGA,+BAEE,aAMA,6BACE,WACA,iBAhC2B,QAiC3B,yBACA,uBACA,qBACA,gBAKJ,oBACE,sDAEA,8BACE,kBACA,YACA,gBAEA,qCACE,WACA,kBACA,WACA,QACA,SACA,YACA,WAlDyB,KAmDzB,8BAGF,uCACE,MAvDyB,KAwDzB,mBAGF,qCACE,yBACA,eAEA,4CACE,8BACA,WAIJ,mCACE,yBACA,eAEA,0CACE,WAxEuB,QAyEvB,WAIJ,uCACE,sBACA,mBAEA,8CACE,WA/EuB,KAgFvB,WAIJ,qCACE,yBACA,eAEA,4CACE,WAtFuB,QAuFvB,WC1EN,mCACE,aAQF,0BACE,MAtC2B,KAuC3B,iBArC2B,QAsC3B,yBACA,uBACA,qBACA,gBAKJ,iBACE,kBACA,mBAEA,yBACE,YACA,kBACA,SACA,OACA,WACA,WACA,iBA7D2B,KA8D3B,kBACA,UAGF,2BACE,kBACA,gBAEA,mCACE,YACA,kBACA,cACA,UACA,OACA,QACA,iBACA,kBACA,WACA,YACA,kBACA,YACA,WA5EyB,QA6EzB,MA9EyB,QA+EzB,qBACA,WAGF,kCACE,YACA,kBACA,cACA,UACA,OACA,QACA,iBACA,kBACA,WACA,YACA,kBACA,WAGF,oCACE,MA5FyB,KA6FzB,mBAEA,2CACE,iBAhGuB,KAoG3B,kCACE,yBACA,eAEA,yCACE,oCAIJ,gCACE,MA5GyB,QA6GzB,eAEA,uCACE,iBAhHuB,QAoH3B,oCACE,MAlHyB,QAmHzB,mBAEA,2CACE,iBAtHuB,QA0H3B,kCACE,MAxHyB,QAyHzB,eAEA,yCACE,iBA5HuB,QAoI/B,iBACE,4BACA,gBAGE,8BACE,yBAIA,wCACE,mBACA,WC7IV,cACE,sBAGA,8BAEE,aAMA,4BAEE,MApC0B,KAqC1B,iBAnC0B,QAoC1B,yBACA,uBACA,qBACA,gBAKJ,mBACE,gBACA,6BAEA,6BAEE,gBACA,gBAGF,6BACE,kBACA,YACA,gBACA,kBACA,kBACA,kBACA,gBACA,gBAEA,qCAVF,6BAWI,gBACA,kBACA,oBAGF,oCACE,WACA,kBACA,cACA,QACA,SACA,QACA,UACA,iBACA,kCACA,qCACA,+BACA,UAGF,qCACE,YACA,kBACA,cACA,QACA,SACA,QACA,UACA,iBACA,gBACA,kCACA,qCACA,4BACA,UAGF,sCACE,MA9FwB,KA+FxB,aAhGwB,QAiGxB,WAjGwB,QAkGxB,mBAGF,oCACE,MAxGwB,KAyGxB,aA1GwB,QA2GxB,WA3GwB,QA4GxB,eAEA,2CACE,kBA/GsB,QAmH1B,kCACE,MA7GwB,KA8GxB,aA/GwB,QAgHxB,WAhHwB,QAiHxB,eAEA,yCACE,kBApHsB,QAwH1B,sCACE,MArHwB,KAsHxB,aAvHwB,QAwHxB,WAxHwB,QAyHxB,mBAEA,6CACE,kBA5HsB,QAgI1B,oCACE,MA7HwB,KA8HxB,aA/HwB,QAgIxB,WAhIwB,QAiIxB,eAEA,2CACE,kBApIsB,QA4I9B,mBACE,4BACA,gBAEA,wBACE,6BAIE,yCACE,+BAEF,0CACE,4BAGF,2CACE,WACA,qBACA,mBAEA,kDACE,0BAIJ,yCACE,WACA,kBACA,mBAEA,gDACE,0BAIJ,uCACE,WACA,kBACA,gBAEA,8CACE,uBAIJ,2CACE,sBACA,aA/LsB,QAgMtB,mBAEA,kDACE,0BAIJ,yCACE,MApMsB,KAqMtB,aAtMsB,QAuMtB,WAvMsB,QAyMtB,gDACE,kBA1MoB","file":"main.min.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_root.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/vendor/_rfs.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_color-mode.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_buttons.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_border-radius.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_gradients.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_transition.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_buttons.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_variables.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_transitions.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_badge.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_button-group.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_list-group.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_breakpoints.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_grid.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_grid.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_card.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_tables.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_table-variants.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_progress.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/forms/_labels.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/forms/_form-text.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/forms/_form-control.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/forms/_form-select.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/forms/_form-check.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/forms/_form-range.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/forms/_floating-labels.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/forms/_input-group.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_forms.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_nav.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_alert.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/_popover.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_reset-text.scss","../scss/_variables.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_clearfix.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_color-bg.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_colored-links.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_focus-ring.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_icon-link.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_ratio.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_position.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_stacks.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_visually-hidden.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_visually-hidden.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_stretched-link.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_text-truncation.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_text-truncate.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/helpers/_vr.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/mixins/_utilities.scss","../../../../../sources/bootstrap/bootstrap-5.3.2/scss/utilities/_api.scss","../scss/_nav.scss","../scss/tocbot/_tocbot-core.scss","../scss/_toc.scss","../scss/_tables.scss","../scss/_configurations.scss","../scss/_configurations_table.scss","../scss/_extensions.scss","../scss/_tools.scss","../scss/_other.scss","../scss/wizards/_core.scss","../scss/wizards/themes/_default.scss","../scss/wizards/themes/_dots.scss","../scss/wizards/themes/_arrows.scss"],"names":[],"mappings":"AAAA,4BASI,mRAIA,+MAIA,yKAIA,8OAIA,yRAIA,yPAIA,yRAGF,8BACA,wBAMA,iHACA,0FACA,0FAOA,kHC2OI,yBDzOJ,2BACA,2BAKA,yBACA,gCACA,mBACA,gCAEA,0BACA,iCAEA,6CACA,qCACA,2BACA,qCAEA,2CACA,oCACA,0BACA,oCAGA,4BAEA,yBACA,kCACA,gCAEA,+BACA,uCAMA,yBACA,8BACA,2BAGA,uBACA,yBACA,2BACA,oDAEA,6BACA,+BACA,8BACA,4BACA,6BACA,oDACA,+BAGA,mDACA,4DACA,qDACA,4DAIA,+BACA,8BACA,gDAIA,+BACA,sCACA,iCACA,wCEhHE,qBFsHA,kBAGA,yBACA,mCACA,sBACA,6BAEA,0BACA,uCAEA,gDACA,wCACA,2BACA,kCAEA,8CACA,uCACA,0BACA,iCAGE,yRAIA,yPAIA,yRAGF,4BAEA,yBACA,+BACA,mCACA,yCAEA,yBACA,8BACA,2BAEA,2BACA,yDAEA,+BACA,sCACA,iCACA,wCGnLJ,KAEE,4BACA,6BACA,uBFuRI,wBErRJ,0BACA,0BACA,qCACA,yBACA,8CACA,mCACA,gDACA,yCACA,6FACA,gCACA,kFAGA,qBACA,wDACA,sCFsQI,UALI,wBE/PR,sCACA,sCACA,0BACA,kBACA,qBAEA,sBACA,eACA,iBACA,mECjBE,0CCfF,iBFkCqB,iBGtBjB,WHwBJ,mHGpBI,uCHhBN,KGiBQ,iBHqBN,WACE,gCAEA,wCACA,8CAGF,sBAEE,0BACA,kCACA,wCAGF,mBACE,gCErDF,iBFsDuB,uBACrB,8CACA,UAKE,0CAIJ,8BACE,8CACA,UAKE,0CAIJ,mGAKE,iCACA,yCAGA,+CAGA,yKAKI,0CAKN,mDAGE,mCACA,oBACA,2CAEA,iDACA,uCAYF,aItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,eItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,aItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,UItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,aItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,YItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,WItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJyFA,UItGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6DACA,8BACA,8BACA,wCJmHA,qBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,uBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,qBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,kBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,qBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,oBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,mBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJ0FA,kBIvGA,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6DACA,iCACA,kCACA,wCACA,oBJsGF,UACE,0BACA,qCACA,yBACA,mCACA,iDACA,yCACA,kDACA,0CACA,iCACA,4CACA,gCACA,wCAEA,gBKuRwC,UL7QxC,wBACE,0BAGF,gBACE,gCAWJ,2BIxIE,2BACA,yBN8NI,2BM5NJ,mDJyIF,2BI5IE,4BACA,2BN8NI,4BM5NJ,mDEnEF,MHgBM,WGfJ,oBHmBI,uCGpBN,MHqBQ,iBGlBN,iBACE,UAMF,qBACE,aAIJ,YACE,SACA,gBHDI,WGEJ,iBHEI,uCGLN,YHMQ,iBGDN,gCACE,QACA,YHNE,WGOF,gBHHE,uEACE,iBIhBR,OAEE,6BACA,6BTuRI,4BSrRJ,4BACA,uBACA,kDAGA,qBACA,4DT+QI,UALI,0BSxQR,wCACA,cACA,4BACA,kBACA,mBACA,wBNJE,4CMSF,aACE,aAKJ,YACE,kBACA,SCnCF,+BAEE,kBACA,oBACA,sBAEA,yCACE,kBACA,cAKF,kXAME,UAKJ,aACE,aACA,eACA,2BAEA,0BACE,WAIJ,WPhBI,sCOoBF,qFAEE,8CAIF,qJPVE,0BACA,6BOmBF,6GPNE,yBACA,4BOwBJ,uBACE,uBACA,sBAEA,2GAGE,cAGF,0CACE,eAIJ,yEACE,sBACA,qBAGF,yEACE,qBACA,oBAoBF,oBACE,sBACA,uBACA,uBAEA,wDAEE,WAGF,4FAEE,6CAIF,qHP1FE,6BACA,4BO8FF,oFP7GE,yBACA,0BQzBJ,YAEE,4CACA,sCACA,qDACA,qDACA,uDACA,qCACA,uCACA,wDACA,6DACA,uDACA,0DACA,yDACA,0DACA,+CACA,mCACA,mCACA,6CAGA,aACA,sBAGA,eACA,gBRXE,iDQeJ,qBACE,qBACA,sBAEA,8CAEE,oCACA,0BASJ,wBACE,WACA,wCACA,mBAGA,4DAEE,UACA,8CACA,qBACA,sDAGF,+BACE,+CACA,uDAQJ,iBACE,kBACA,cACA,gFACA,iCACA,qBACA,yCACA,iFAEA,6BRvDE,+BACA,gCQ0DF,4BR7CE,mCACA,kCQgDF,oDAEE,0CACA,oBACA,kDAIF,wBACE,UACA,wCACA,gDACA,sDAIF,kCACE,mBAEA,yCACE,wDACA,mDAaF,uBACE,mBAGE,qERvDJ,6DAZA,0BQwEI,qERxEJ,2DAYA,4BQiEI,+CACE,aAGF,yDACE,mDACA,oBAEA,gEACE,yDACA,oDCtFR,yBD8DA,0BACE,mBAGE,wERvDJ,6DAZA,0BQwEI,wERxEJ,2DAYA,4BQiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,yDACA,qDCtFR,yBD8DA,0BACE,mBAGE,wERvDJ,6DAZA,0BQwEI,wERxEJ,2DAYA,4BQiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,yDACA,qDCtFR,yBD8DA,0BACE,mBAGE,wERvDJ,6DAZA,0BQwEI,wERxEJ,2DAYA,4BQiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,yDACA,qDCtFR,0BD8DA,0BACE,mBAGE,wERvDJ,6DAZA,0BQwEI,wERxEJ,2DAYA,4BQiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,yDACA,qDCtFR,0BD8DA,2BACE,mBAGE,yERvDJ,6DAZA,0BQwEI,yERxEJ,2DAYA,4BQiEI,mDACE,aAGF,6DACE,mDACA,oBAEA,oEACE,yDACA,qDAcZ,kBRhJI,gBQmJF,mCACE,mDAEA,8CACE,sBAaJ,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,2BACE,yDACA,kDACA,gEACA,6DACA,mEACA,8DACA,oEACA,4DACA,6DACA,uEAVF,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,sBACE,oDACA,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,oBAEA,qFACA,oCACA,oBT+sB0B,uBS9sB1B,2GAGF,aACE,uBAGF,aACE,sBAIJ,qBACE,+DAOF,aACE,iBAUA,4BACE,sBAeF,gCACE,sCAGA,kCACE,sCAOJ,oCACE,sBAGF,qCACE,mBAUF,2CACE,qDACA,+CAMF,yDACE,qDACA,+CAQJ,cACE,qDACA,+CAQA,8BACE,oDACA,8CC5IF,eAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,iBAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,eAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,YAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,eAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,cAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,aAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,YAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CDiJA,kBACE,gBACA,iCJ3FF,4BIyFA,qBACE,gBACA,kCJ3FF,4BIyFA,qBACE,gBACA,kCJ3FF,4BIyFA,qBACE,gBACA,kCJ3FF,6BIyFA,qBACE,gBACA,kCJ3FF,6BIyFA,sBACE,gBACA,kCEnKJ,gCACE,yBXuhDgC,MWlhDpC,4BAGE,2BlBkRI,gCkBhRJ,yCACA,qDACA,qDACA,8BACA,8BACA,8CAGA,aACA,iCACA,gBlBsQI,UALI,6BkB/PR,uCfRE,+CeaJ,cACE,aACA,sBACA,uBACA,gBACA,mCACA,kBACA,mBACA,2CbxBI,WayBJ,kCbrBI,uCaYN,cbXQ,iBauBR,2NAEE,oEAGF,4BACE,iBAGF,0CACE,WAIA,uBACE,kDAGE,uCAJJ,uBAKM,gBC3DR,YACE,cZu2BsC,MY91BxC,gBACE,oDACA,uDACA,gBnB8QI,UALI,QmBrQR,YZ+lB4B,IY3lB9B,mBACE,kDACA,qDnBoQI,UALI,QmB3PV,mBACE,mDACA,sDnB8PI,UALI,SoBtRV,WACE,Wb+1BsC,OPrkBlC,UALI,QoBjRR,Mb+1BsC,0Bcp2BxC,cACE,cACA,WACA,uBrBwRI,UALI,KqBhRR,YdkmB4B,IcjmB5B,YdymB4B,IcxmB5B,Md43BsC,qBc33BtC,gBACA,iBdq3BsC,kBcp3BtC,4BACA,2DlBGE,sCEHE,WgBMJ,0DhBFI,uCgBhBN,chBiBQ,iBgBGN,yBACE,gBAEA,wDACE,eAKJ,oBACE,Mds2BoC,qBcr2BpC,iBdg2BoC,kBc/1BpC,ad82BoC,Qc72BpC,UAKE,WdkhBkB,kCc9gBtB,2CAME,eAMA,aAKA,SAKF,qCACE,cACA,UAIF,2BACE,Md40BoC,0Bc10BpC,UAQF,uBAEE,iBd8yBoC,uBc3yBpC,UAIF,oCACE,uBACA,0BACA,kBdorB0B,OcnrB1B,MdsyBoC,qBHp4BtC,iBGqiCgC,sBcr8B9B,oBACA,qBACA,mBACA,eACA,wBdgsB0B,uBc/rB1B,gBhBzFE,WgB0FF,mHhBtFE,uCgB0EJ,oChBzEM,iBgBwFN,yEACE,iBd47B8B,uBcn7BlC,wBACE,cACA,WACA,kBACA,gBACA,Ydwf4B,Icvf5B,Md2xBsC,qBc1xBtC,6BACA,yBACA,sCAEA,8BACE,UAGF,gFAEE,gBACA,eAWJ,iBACE,Wd4wBsC,wDc3wBtC,qBrByII,UALI,SGvQN,yCkBuIF,uCACE,qBACA,wBACA,kBdooB0B,MchoB9B,iBACE,WdgwBsC,sDc/vBtC,mBrB4HI,UALI,QGvQN,yCkBoJF,uCACE,mBACA,qBACA,kBd2nB0B,KcnnB5B,sBACE,Wd6uBoC,yDc1uBtC,yBACE,Wd0uBoC,wDcvuBtC,yBACE,WduuBoC,sDcluBxC,oBACE,MdquBsC,KcpuBtC,Od8tBsC,yDc7tBtC,QdilB4B,Qc/kB5B,mDACE,eAGF,uCACE,oBlBvLA,sCkB2LF,0CACE,oBlB5LA,sCkBgMF,2Cd8sBsC,wDc7sBtC,2Cd8sBsC,sDe75BxC,aACE,yPAEA,cACA,WACA,uCtBqRI,UALI,KsB7QR,Yf+lB4B,Ie9lB5B,YfsmB4B,IermB5B,Mfy3BsC,qBex3BtC,gBACA,iBfk3BsC,kBej3BtC,kFACA,4BACA,oBf+9BkC,oBe99BlC,gBf+9BkC,Ue99BlC,2DnBHE,sCEHE,WiBSJ,0DjBLI,uCiBfN,ajBgBQ,iBiBMN,mBACE,afs3BoC,Qer3BpC,UAKE,Wfi+B4B,kCe79BhC,0DAEE,cf6uB0B,Oe5uB1B,sBAGF,sBAEE,iBfu1BoC,uBel1BtC,4BACE,kBACA,uCAIJ,gBACE,YfsuB4B,OeruB5B,efquB4B,OepuB5B,afquB4B,MPlgBxB,UALI,SGvQN,yCmB8CJ,gBACE,YfkuB4B,MejuB5B,efiuB4B,MehuB5B,afiuB4B,KPtgBxB,UALI,QGvQN,yCmBwDA,kCACE,yPCxEN,YACE,cACA,WhBq6BwC,OgBp6BxC,ahBq6BwC,MgBp6BxC,chBq6BwC,QgBn6BxC,8BACE,WACA,mBAIJ,oBACE,chB25BwC,MgB15BxC,eACA,iBAEA,sCACE,YACA,oBACA,cAIJ,kBACE,sCAEA,cACA,MhB04BwC,IgBz4BxC,OhBy4BwC,IgBx4BxC,iBACA,mBACA,gBACA,yCACA,+CACA,4BACA,2BACA,wBACA,OhB24BwC,oDgB14BxC,yBAGA,iCpB3BE,oBoB+BF,8BAEE,chBm4BsC,IgBh4BxC,yBACE,OhB03BsC,gBgBv3BxC,wBACE,ahBs1BoC,QgBr1BpC,UACA,WhB8foB,kCgB3ftB,0BACE,iBhB5BM,QgB6BN,ahB7BM,QgB+BN,yCAII,wPAIJ,sCAII,gKAKN,+CACE,iBhBjDM,QgBkDN,ahBlDM,QgBuDJ,kPAIJ,2BACE,oBACA,YACA,QhBk2BuC,GgB31BvC,2FACE,eACA,QhBy1BqC,GgB30B3C,aACE,ahBo1BgC,MgBl1BhC,+BACE,4KAEA,MhB80B8B,IgB70B9B,mBACA,0CACA,gCpBjHA,kBEHE,WkBsHF,qClBlHE,uCkB0GJ,+BlBzGM,iBkBmHJ,qCACE,8JAGF,uCACE,oBhB60B4B,agBx0B1B,2JAKN,gCACE,chBwzB8B,MgBvzB9B,eAEA,kDACE,oBACA,cAKN,mBACE,qBACA,ahBsyBgC,KgBnyBlC,WACE,kBACA,sBACA,oBAIE,mDACE,oBACA,YACA,QhBspBwB,IgB/oB1B,8EACE,kLCnLN,YACE,WACA,cACA,UACA,gBACA,6BAEA,kBACE,UAIA,mDjB8gCuC,iDiB7gCvC,+CjB6gCuC,iDiB1gCzC,8BACE,SAGF,kCACE,MjB+/BuC,KiB9/BvC,OjB8/BuC,KiB7/BvC,oBACA,gBpB1BF,iBGkCQ,QiBNN,OjB6/BuC,EJ1gCvC,mBEHE,WmBmBF,4FnBfE,uCmBMJ,kCnBLM,iBmBgBJ,yCpBjCF,iBG8hCyC,QiBx/BzC,2CACE,MjBw+B8B,KiBv+B9B,OjBw+B8B,MiBv+B9B,kBACA,OjBu+B8B,QiBt+B9B,iBjBu+B8B,uBiBt+B9B,yBrB7BA,mBqBkCF,8BACE,MjBo+BuC,KiBn+BvC,OjBm+BuC,KiBl+BvC,gBpBpDF,iBGkCQ,QiBoBN,OjBm+BuC,EJ1gCvC,mBEHE,WmB6CF,4FnBzCE,uCmBiCJ,8BnBhCM,iBmB0CJ,qCpB3DF,iBG8hCyC,QiB99BzC,8BACE,MjB88B8B,KiB78B9B,OjB88B8B,MiB78B9B,kBACA,OjB68B8B,QiB58B9B,iBjB68B8B,uBiB58B9B,yBrBvDA,mBqB4DF,qBACE,oBAEA,2CACE,iBjBg9BqC,0BiB78BvC,uCACE,iBjB48BqC,0BkBniC3C,eACE,kBAEA,gGAGE,OlBwiCoC,gDkBviCpC,WlBuiCoC,gDkBtiCpC,YlBuiCoC,KkBpiCtC,qBACE,kBACA,MACA,OACA,UACA,YACA,oBACA,gBACA,iBACA,uBACA,mBACA,oBACA,gDACA,qBpBRE,WoBSF,kDpBLE,uCoBTJ,qBpBUM,iBoBON,oEAEE,oBAEA,8FACE,kBAGF,oMAEE,YlB4gCkC,SkB3gClC,elB4gCkC,QkBzgCpC,sGACE,YlBugCkC,SkBtgClC,elBugCkC,QkBngCtC,4BACE,YlBigCoC,SkBhgCpC,elBigCoC,QkB1/BpC,mLACE,2CACA,UlB2/BkC,oDkBz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6EACA,kDACA,+BAGA,kBACA,4DACA,4CACA,4BACA,oCACA,8B1BHE,4C0BQJ,eAEE,cAIF,YACE,YtB6kB4B,IsB5kB5B,iCAQF,mBACE,ctBo+C8B,KsBj+C9B,8BACE,kBACA,MACA,QACA,UACA,qBAQF,eACE,kDACA,2CACA,yDACA,uDAJF,iBACE,oDACA,6CACA,2DACA,yDAJF,eACE,kDACA,2CACA,yDACA,uDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,eACE,kDACA,2CACA,yDACA,uDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,YACE,+CACA,wCACA,sDACA,oDChEJ,SAEE,0BACA,8B9B4RI,gC8B1RJ,mCACA,kDACA,8DACA,uDACA,4FACA,8CACA,oCACA,sC9BmRI,mC8BjRJ,mCACA,+CACA,kCACA,kCACA,8CACA,+BACA,kCACA,0DAGA,iCACA,cACA,sCCzBA,YCIuB,qFDFvB,kBACA,YxBwmB4B,IwBvmB5B,YxB+mB4B,IwB9mB5B,gBACA,iBACA,qBACA,iBACA,oBACA,sBACA,kBACA,mBACA,oBACA,gB/BgRI,UALI,4B8B1PR,qBACA,sCACA,4BACA,2E3BhBE,8C2BoBF,wBACE,cACA,oCACA,sCAEA,+DAEE,kBACA,cACA,WACA,yBACA,mBACA,eAMJ,2FACE,oFAEA,oNAEE,uFAGF,2GACE,SACA,gDAGF,yGACE,sCACA,sCAOJ,6FACE,kFACA,qCACA,qCAEA,wNAEE,gIAGF,6GACE,OACA,kDAGF,2GACE,oCACA,wCAQJ,iGACE,iFAEA,gOAEE,uFAGF,iHACE,MACA,mDAGF,+GACE,mCACA,yCAKJ,mHACE,kBACA,MACA,SACA,cACA,oCACA,sDACA,WACA,+EAMF,8FACE,mFACA,qCACA,qCAEA,0NAEE,gIAGF,8GACE,QACA,iDAGF,4GACE,qCACA,uCAuBN,gBACE,8EACA,gB9B2GI,UALI,mC8BpGR,qCACA,6CACA,kF3B5JE,6DACA,8D2B8JF,sBACE,aAIJ,cACE,0EACA,mCGhMA,iBACE,cACA,WACA,WCHF,iBACE,sBACA,iFAFF,mBACE,sBACA,mFAFF,iBACE,sBACA,iFAFF,cACE,sBACA,8EAFF,iBACE,sBACA,iFAFF,gBACE,sBACA,gFAFF,eACE,sBACA,+EAFF,cACE,sBACA,8ECFF,cACE,wEACA,kGAGE,wCAGE,8DACA,wFATN,gBACE,0EACA,oGAGE,4CAGE,8DACA,wFATN,cACE,wEACA,kGAGE,wCAGE,8DACA,wFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,cACE,wEACA,kGAGE,wCAGE,+DACA,yFATN,aACE,uEACA,iGAGE,sCAGE,8DACA,wFATN,YACE,sEACA,gGAGE,oCAGE,gEACA,0FATN,WACE,qEACA,+FAGE,kCAGE,6DACA,uFAOR,oBACE,+EACA,yGAGE,oDAEE,kFACA,4GC1BN,kBACE,UAEA,kJCHF,WACE,oBACA,I9B6c4B,Q8B5c5B,mBACA,kFACA,sB9B2c4B,M8B1c5B,2BAEA,eACE,cACA,M9Buc0B,I8Btc1B,O9Bsc0B,I8Brc1B,kBhCIE,WgCHF,0BhCOE,uCgCZJ,ehCaM,iBgCDJ,8DACE,mECnBN,OACE,kBACA,WAEA,eACE,cACA,mCACA,WAGF,SACE,kBACA,MACA,OACA,WACA,YAKF,WACE,wBADF,WACE,sCADF,YACE,uCADF,YACE,uCCrBJ,WACE,eACA,MACA,QACA,OACA,QhCumCkC,KgCpmCpC,cACE,eACA,QACA,SACA,OACA,QhC+lCkC,KgCvlChC,YACE,gBACA,MACA,QhCmlC8B,KgChlChC,eACE,gBACA,SACA,QhC6kC8B,KK9iChC,yB2BxCA,eACE,gBACA,MACA,QhCmlC8B,KgChlChC,kBACE,gBACA,SACA,QhC6kC8B,MK9iChC,yB2BxCA,eACE,gBACA,MACA,QhCmlC8B,KgChlChC,kBACE,gBACA,SACA,QhC6kC8B,MK9iChC,yB2BxCA,eACE,gBACA,MACA,QhCmlC8B,KgChlChC,kBACE,gBACA,SACA,QhC6kC8B,MK9iChC,0B2BxCA,eACE,gBACA,MACA,QhCmlC8B,KgChlChC,kBACE,gBACA,SACA,QhC6kC8B,MK9iChC,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EE,yBACA,YACA,kBACA,kBACA,gBAGF,oEAEE,sBAGF,qEAEE,WACA,+BACA,e1CUF,4B0CdA,qEAQI,eACA,gBAIJ,+CAEE,iCAGF,gEAEE,kBACA,YACA,gBAGF,kEAEE,kBACA,YACA,gBAGF,2DAEE,8BACA,YAKA,qEAEE,wBACA,gBAIJ,2DAEE,gBACA,gBACA,YACA,8BACA,+B1CvCF,4B0CiCA,2DAUI,eACA,cACA,gBAGF,gEAEE,eACA,YACA,kBACA,cACA,kBACA,kBACA,eAEA,sEAEE,oCACA,WAGF,wEAEE,oCACA,WAGF,uEAEE,mCACA,WAGF,2EAEE,yBACA,WAGF,yEAEE,oCACA,WAGF,sEAEE,yBACA,WCvKV,kBAEE,aACA,kBACA,sBACA,8BACA,kBAOE,4CAEE,gBACA,gBChBN,kBAEE,aACA,kBACA,sBACA,8BACA,kBCJA,sCAEE,mBAGF,mCAEE,iBACA,4BACA,2BACA,oBAGF,wCAEE,gBACA,mBAGF,yCAEE,SAGF,sCAEE,WACA,yBACA,iBAIJ,OAEE,gBAGF,sBAEE,mBAGF,iBAEE,gBACA,yBAEA,oBAEE,cACA,gBAGF,mBAEE,cAMF,sCAEE,yBACA,gBAMF,wCAEE,gBAIJ,WAEE,uBAGF,mBAEE,yBACA,YACA,kBACA,kBACA,gBAGF,mBAEE,4BACA,sBACA,sBACA,2BC/FF,cAEE,kBACA,gBAEA,+DAGE,sBAGF,2BACE,kBACA,gBAIF,uBACE,cAEA,4BACE,qBACA,qBACA,kBACA,oBACA,sBACA,iBACA,kBACA,mBACA,eAEA,0EACE,YAMN,mBACE,aACA,eACA,gBACA,eACA,aACA,gBAEA,qCARF,mBASI,iCACA,aAGF,6BACE,cACA,mBACA,qBAEA,0GAGE,qBAGF,+CACE,oBAGF,sCACE,sBACA,oBACA,eAEF,oCACE,wBAWF,uEACE,aACA,YAON,mBACE,4BACA,gBAIF,sBACE,iBAEA,6BACE,WACA,cACA,kBACA,UACA,MACA,OACA,YACA,WACA,gCACA,UACA,wBAGF,8BACE,WACA,qBACA,kBACA,QACA,SACA,WACA,YACA,0BACA,8BACA,kBACA,WACA,kCAGF,gBACE,0BACA,+BCjHN,eAEE,sBAGA,+BAEE,aAMA,6BACE,WACA,iBAhC2B,QAiC3B,yBACA,uBACA,qBACA,gBAKJ,oBACE,sDAEA,8BACE,kBACA,YACA,gBAEA,qCACE,WACA,kBACA,WACA,QACA,SACA,YACA,WAlDyB,KAmDzB,8BAGF,uCACE,MAvDyB,KAwDzB,mBAGF,qCACE,yBACA,eAEA,4CACE,8BACA,WAIJ,mCACE,yBACA,eAEA,0CACE,WAxEuB,QAyEvB,WAIJ,uCACE,sBACA,mBAEA,8CACE,WA/EuB,KAgFvB,WAIJ,qCACE,yBACA,eAEA,4CACE,WAtFuB,QAuFvB,WC1EN,mCACE,aAQF,0BACE,MAtC2B,KAuC3B,iBArC2B,QAsC3B,yBACA,uBACA,qBACA,gBAKJ,iBACE,kBACA,mBAEA,yBACE,YACA,kBACA,SACA,OACA,WACA,WACA,iBA7D2B,KA8D3B,kBACA,UAGF,2BACE,kBACA,gBAEA,mCACE,YACA,kBACA,cACA,UACA,OACA,QACA,iBACA,kBACA,WACA,YACA,kBACA,YACA,WA5EyB,QA6EzB,MA9EyB,QA+EzB,qBACA,WAGF,kCACE,YACA,kBACA,cACA,UACA,OACA,QACA,iBACA,kBACA,WACA,YACA,kBACA,WAGF,oCACE,MA5FyB,KA6FzB,mBAEA,2CACE,iBAhGuB,KAoG3B,kCACE,yBACA,eAEA,yCACE,oCAIJ,gCACE,MA5GyB,QA6GzB,eAEA,uCACE,iBAhHuB,QAoH3B,oCACE,MAlHyB,QAmHzB,mBAEA,2CACE,iBAtHuB,QA0H3B,kCACE,MAxHyB,QAyHzB,eAEA,yCACE,iBA5HuB,QAoI/B,iBACE,4BACA,gBAGE,8BACE,yBAIA,wCACE,mBACA,WC7IV,cACE,sBAGA,8BAEE,aAMA,4BAEE,MApC0B,KAqC1B,iBAnC0B,QAoC1B,yBACA,uBACA,qBACA,gBAKJ,mBACE,gBACA,6BAEA,6BAEE,gBACA,gBAGF,6BACE,kBACA,YACA,gBACA,kBACA,kBACA,kBACA,gBACA,gBAEA,qCAVF,6BAWI,gBACA,kBACA,oBAGF,oCACE,WACA,kBACA,cACA,QACA,SACA,QACA,UACA,iBACA,kCACA,qCACA,+BACA,UAGF,qCACE,YACA,kBACA,cACA,QACA,SACA,QACA,UACA,iBACA,gBACA,kCACA,qCACA,4BACA,UAGF,sCACE,MA9FwB,KA+FxB,aAhGwB,QAiGxB,WAjGwB,QAkGxB,mBAGF,oCACE,MAxGwB,KAyGxB,aA1GwB,QA2GxB,WA3GwB,QA4GxB,eAEA,2CACE,kBA/GsB,QAmH1B,kCACE,MA7GwB,KA8GxB,aA/GwB,QAgHxB,WAhHwB,QAiHxB,eAEA,yCACE,kBApHsB,QAwH1B,sCACE,MArHwB,KAsHxB,aAvHwB,QAwHxB,WAxHwB,QAyHxB,mBAEA,6CACE,kBA5HsB,QAgI1B,oCACE,MA7HwB,KA8HxB,aA/HwB,QAgIxB,WAhIwB,QAiIxB,eAEA,2CACE,kBApIsB,QA4I9B,mBACE,4BACA,gBAEA,wBACE,6BAIE,yCACE,+BAEF,0CACE,4BAGF,2CACE,WACA,qBACA,mBAEA,kDACE,0BAIJ,yCACE,WACA,kBACA,mBAEA,gDACE,0BAIJ,uCACE,WACA,kBACA,gBAEA,8CACE,uBAIJ,2CACE,sBACA,aA/LsB,QAgMtB,mBAEA,kDACE,0BAIJ,yCACE,MApMsB,KAqMtB,aAtMsB,QAuMtB,WAvMsB,QAyMtB,gDACE,kBA1MoB","file":"main.min.css"} \ No newline at end of file diff --git a/assets/js/bootstrap.bundle.min.js b/assets/js/bootstrap.bundle.min.js index fe19d88a..b1999d9a 100644 --- a/assets/js/bootstrap.bundle.min.js +++ b/assets/js/bootstrap.bundle.min.js @@ -1,7 +1,7 @@ /*! - * Bootstrap v5.3.0 (https://getbootstrap.com/) + * Bootstrap v5.3.2 (https://getbootstrap.com/) * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=N(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return M(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return M(n,{delegateTarget:t}),i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function N(t){return t=t.replace(y,""),T[t]||t}const P={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))I(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=M(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function M(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function j(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const H={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=j(t.dataset[n])}return e},getDataAttribute:(t,e)=>j(t.getAttribute(`data-bs-${F(e)}`))};class ${static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?H.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?H.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends ${constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.0"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return n(e)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;P.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))};class q extends W{static get NAME(){return"alert"}close(){if(P.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),P.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(q,"close"),m(q);const V='[data-bs-toggle="button"]';class K extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}P.on(document,"click.bs.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()})),m(K);const Q={endCallback:null,leftCallback:null,rightCallback:null},X={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Y extends ${constructor(t,e){super(),this._element=t,t&&Y.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Q}static get DefaultType(){return X}static get NAME(){return"swipe"}dispose(){P.off(this._element,".bs.swipe")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),P.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),P.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),P.on(this._element,"touchend.bs.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const U="next",G="prev",J="left",Z="right",tt="slid.bs.carousel",et="carousel",it="active",nt={ArrowLeft:Z,ArrowRight:J},st={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class rt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===et&&this.cycle()}static get Default(){return st}static get DefaultType(){return ot}static get NAME(){return"carousel"}next(){this._slide(U)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(G)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,tt,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,tt,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?U:G;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),P.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&Y.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))P.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(J)),rightCallback:()=>this._slide(this._directionToOrder(Z)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Y(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=nt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(it),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===U,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r("slide.bs.carousel").defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(it),i.classList.remove(it,c,l),this._isSliding=!1,r(tt)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(".active.carousel-item",this._element)}_getItems(){return z.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===J?G:U:t===J?U:G}_orderToDirection(t){return p()?t===G?J:Z:t===G?Z:J}static jQueryInterface(t){return this.each((function(){const e=rt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(et))return;t.preventDefault();const i=rt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===H.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),P.on(window,"load.bs.carousel.data-api",(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)rt.getOrCreateInstance(e)})),m(rt);const at="show",lt="collapse",ct="collapsing",ht='[data-bs-toggle="collapse"]',dt={parent:null,toggle:!0},ut={parent:"(null|element)",toggle:"boolean"};class ft extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(ht);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return dt}static get DefaultType(){return ut}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>ft.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(lt),this._element.classList.add(ct),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ct),this._element.classList.add(lt,at),this._element.style[e]="",P.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(ct),this._element.classList.remove(lt,at);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ct),this._element.classList.add(lt),P.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(at)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(ht);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(":scope .collapse .collapse",this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=ft.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}P.on(document,"click.bs.collapse.data-api",ht,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))ft.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(ft);var pt="top",mt="bottom",gt="right",_t="left",bt="auto",vt=[pt,mt,gt,_t],yt="start",wt="end",At="clippingParents",Et="viewport",Tt="popper",Ct="reference",Ot=vt.reduce((function(t,e){return t.concat([e+"-"+yt,e+"-"+wt])}),[]),xt=[].concat(vt,[bt]).reduce((function(t,e){return t.concat([e,e+"-"+yt,e+"-"+wt])}),[]),kt="beforeRead",Lt="read",St="afterRead",Dt="beforeMain",It="main",Nt="afterMain",Pt="beforeWrite",Mt="write",jt="afterWrite",Ft=[kt,Lt,St,Dt,It,Nt,Pt,Mt,jt];function Ht(t){return t?(t.nodeName||"").toLowerCase():null}function $t(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Wt(t){return t instanceof $t(t).Element||t instanceof Element}function Bt(t){return t instanceof $t(t).HTMLElement||t instanceof HTMLElement}function zt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof $t(t).ShadowRoot||t instanceof ShadowRoot)}const Rt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];Bt(s)&&Ht(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});Bt(n)&&Ht(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function qt(t){return t.split("-")[0]}var Vt=Math.max,Kt=Math.min,Qt=Math.round;function Xt(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Yt(){return!/^((?!chrome|android).)*safari/i.test(Xt())}function Ut(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&Bt(t)&&(s=t.offsetWidth>0&&Qt(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Qt(n.height)/t.offsetHeight||1);var r=(Wt(t)?$t(t):window).visualViewport,a=!Yt()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Gt(t){var e=Ut(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Jt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&zt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Zt(t){return $t(t).getComputedStyle(t)}function te(t){return["table","td","th"].indexOf(Ht(t))>=0}function ee(t){return((Wt(t)?t.ownerDocument:t.document)||window.document).documentElement}function ie(t){return"html"===Ht(t)?t:t.assignedSlot||t.parentNode||(zt(t)?t.host:null)||ee(t)}function ne(t){return Bt(t)&&"fixed"!==Zt(t).position?t.offsetParent:null}function se(t){for(var e=$t(t),i=ne(t);i&&te(i)&&"static"===Zt(i).position;)i=ne(i);return i&&("html"===Ht(i)||"body"===Ht(i)&&"static"===Zt(i).position)?e:i||function(t){var e=/firefox/i.test(Xt());if(/Trident/i.test(Xt())&&Bt(t)&&"fixed"===Zt(t).position)return null;var i=ie(t);for(zt(i)&&(i=i.host);Bt(i)&&["html","body"].indexOf(Ht(i))<0;){var n=Zt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function oe(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function re(t,e,i){return Vt(t,Kt(e,i))}function ae(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function le(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const ce={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=qt(i.placement),l=oe(a),c=[_t,gt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return ae("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:le(t,vt))}(s.padding,i),d=Gt(o),u="y"===l?pt:_t,f="y"===l?mt:gt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=se(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=re(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Jt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(t){return t.split("-")[1]}var de={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ue(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=_t,y=pt,w=window;if(c){var A=se(i),E="clientHeight",T="clientWidth";A===$t(i)&&"static"!==Zt(A=ee(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===pt||(s===_t||s===gt)&&o===wt)&&(y=mt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==_t&&(s!==pt&&s!==mt||o!==wt)||(v=gt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&de),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:Qt(i*s)/s||0,y:Qt(n*s)/s||0}}({x:f,y:m},$t(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const fe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:qt(e.placement),variation:he(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,ue(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,ue(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var pe={passive:!0};const me={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=$t(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,pe)})),a&&l.addEventListener("resize",i.update,pe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,pe)})),a&&l.removeEventListener("resize",i.update,pe)}},data:{}};var ge={left:"right",right:"left",bottom:"top",top:"bottom"};function _e(t){return t.replace(/left|right|bottom|top/g,(function(t){return ge[t]}))}var be={start:"end",end:"start"};function ve(t){return t.replace(/start|end/g,(function(t){return be[t]}))}function ye(t){var e=$t(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function we(t){return Ut(ee(t)).left+ye(t).scrollLeft}function Ae(t){var e=Zt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Ht(t))>=0?t.ownerDocument.body:Bt(t)&&Ae(t)?t:Ee(ie(t))}function Te(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=$t(n),r=s?[o].concat(o.visualViewport||[],Ae(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Te(ie(r)))}function Ce(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e,i){return e===Et?Ce(function(t,e){var i=$t(t),n=ee(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Yt();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+we(t),y:l}}(t,i)):Wt(e)?function(t,e){var i=Ut(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ce(function(t){var e,i=ee(t),n=ye(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Vt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Vt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+we(t),l=-n.scrollTop;return"rtl"===Zt(s||i).direction&&(a+=Vt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ee(t)))}function xe(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?qt(s):null,r=s?he(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case pt:e={x:a,y:i.y-n.height};break;case mt:e={x:a,y:i.y+i.height};break;case gt:e={x:i.x+i.width,y:l};break;case _t:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?oe(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case yt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case wt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?At:a,c=i.rootBoundary,h=void 0===c?Et:c,d=i.elementContext,u=void 0===d?Tt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=ae("number"!=typeof g?g:le(g,vt)),b=u===Tt?Ct:Tt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Te(ie(t)),i=["absolute","fixed"].indexOf(Zt(t).position)>=0&&Bt(t)?se(t):t;return Wt(i)?e.filter((function(t){return Wt(t)&&Jt(t,i)&&"body"!==Ht(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=Oe(t,i,n);return e.top=Vt(s.top,e.top),e.right=Kt(s.right,e.right),e.bottom=Kt(s.bottom,e.bottom),e.left=Vt(s.left,e.left),e}),Oe(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Wt(y)?y:y.contextElement||ee(t.elements.popper),l,h,r),A=Ut(t.elements.reference),E=xe({reference:A,element:v,strategy:"absolute",placement:s}),T=Ce(Object.assign({},v,E)),C=u===Tt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Tt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[gt,mt].indexOf(t)>=0?1:-1,i=[pt,mt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?xt:l,h=he(n),d=h?a?Ot:Ot.filter((function(t){return he(t)===h})):vt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[qt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Se={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=qt(g),b=l||(_!==g&&p?function(t){if(qt(t)===bt)return[];var e=_e(t);return[ve(t),e,ve(e)]}(g):[_e(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(qt(i)===bt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ke(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=L?k?gt:_t:k?mt:pt;y[S]>w[S]&&(I=_e(I));var N=_e(I),P=[];if(o&&P.push(D[x]<=0),a&&P.push(D[I]<=0,D[N]<=0),P.every((function(t){return t}))){T=O,E=!1;break}A.set(O,P)}if(E)for(var M=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==M(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Ie(t){return[pt,gt,mt,_t].some((function(e){return t[e]>=0}))}const Ne={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Ie(l),d=Ie(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Pe={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=xt.reduce((function(t,i){return t[i]=function(t,e,i){var n=qt(t),s=[_t,pt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[_t,gt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Me={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=xe({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},je={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=qt(e.placement),b=he(e.placement),v=!b,y=oe(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?pt:_t,D="y"===y?mt:gt,I="y"===y?"height":"width",N=A[y],P=N+g[S],M=N-g[D],j=f?-T[I]/2:0,F=b===yt?E[I]:T[I],H=b===yt?-T[I]:-E[I],$=e.elements.arrow,W=f&&$?Gt($):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=re(0,E[I],W[I]),V=v?E[I]/2-j-q-z-O.mainAxis:F-q-z-O.mainAxis,K=v?-E[I]/2+j+q+R+O.mainAxis:H+q+R+O.mainAxis,Q=e.elements.arrow&&se(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=N+K-Y,G=re(f?Kt(P,N+V-Y-X):P,N,f?Vt(M,U):M);A[y]=G,k[y]=G-N}if(a){var J,Z="x"===y?pt:_t,tt="x"===y?mt:gt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[pt,_t].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=re(t,e,i);return n>i?i:n}(at,et,lt):re(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function Fe(t,e,i){void 0===i&&(i=!1);var n,s,o=Bt(e),r=Bt(e)&&function(t){var e=t.getBoundingClientRect(),i=Qt(e.width)/t.offsetWidth||1,n=Qt(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ee(e),l=Ut(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Ht(e)||Ae(a))&&(c=(n=e)!==$t(n)&&Bt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:ye(n)),Bt(e)?((h=Ut(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=we(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function He(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var $e={placement:"bottom",modifiers:[],strategy:"absolute"};function We(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(H.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Xe,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=ci.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ze);for(const i of e){const e=ci.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Qe,Xe].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Je)?this:z.prev(this,Je)[0]||z.next(this,Je)[0]||z.findOne(Je,t.delegateTarget.parentNode),o=ci.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ue,Je,ci.dataApiKeydownHandler),P.on(document,Ue,ti,ci.dataApiKeydownHandler),P.on(document,Ye,ci.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",ci.clearMenus),P.on(document,Ye,Je,(function(t){t.preventDefault(),ci.getOrCreateInstance(this).toggle()})),m(ci);const hi="show",di="mousedown.bs.backdrop",ui={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},fi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class pi extends ${constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return ui}static get DefaultType(){return fi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(hi),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(hi),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(P.off(this._element,di),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),P.on(t,di,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const mi=".bs.focustrap",gi="backward",_i={autofocus:!0,trapElement:null},bi={autofocus:"boolean",trapElement:"element"};class vi extends ${constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return _i}static get DefaultType(){return bi}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,mi),P.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),P.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,mi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===gi?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?gi:"forward")}}const yi=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",wi=".sticky-top",Ai="padding-right",Ei="margin-right";class Ti{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Ai,(e=>e+t)),this._setElementAttributes(yi,Ai,(e=>e+t)),this._setElementAttributes(wi,Ei,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ai),this._resetElementAttributes(yi,Ai),this._resetElementAttributes(wi,Ei)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&H.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=H.getDataAttribute(t,e);null!==i?(H.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const Ci=".bs.modal",Oi="hidden.bs.modal",xi="show.bs.modal",ki="modal-open",Li="show",Si="modal-static",Di={backdrop:!0,focus:!0,keyboard:!0},Ii={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ni extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ti,this._addEventListeners()}static get Default(){return Di}static get DefaultType(){return Ii}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(ki),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Li),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){P.off(window,Ci),P.off(this._dialog,Ci),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new pi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new vi({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(Li),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.modal",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),P.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),P.on(this._element,"mousedown.dismiss.bs.modal",(t=>{P.one(this._element,"click.dismiss.bs.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(ki),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,Oi)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Si)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Si),this._queueCallback((()=>{this._element.classList.remove(Si),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,xi,(t=>{t.defaultPrevented||P.one(e,Oi,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&Ni.getInstance(i).hide(),Ni.getOrCreateInstance(e).toggle(this)})),R(Ni),m(Ni);const Pi="show",Mi="showing",ji="hiding",Fi=".offcanvas.show",Hi="hidePrevented.bs.offcanvas",$i="hidden.bs.offcanvas",Wi={backdrop:!0,keyboard:!0,scroll:!1},Bi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class zi extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Wi}static get DefaultType(){return Bi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ti).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Mi),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Pi),this._element.classList.remove(Mi),P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ji),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Pi,ji),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Ti).reset(),P.trigger(this._element,$i)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new pi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,Hi)}:null})}_initializeFocusTrap(){return new vi({trapElement:this._element})}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,Hi))}))}static jQueryInterface(t){return this.each((function(){const e=zi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;P.one(e,$i,(()=>{a(this)&&this.focus()}));const i=z.findOne(Fi);i&&i!==e&&zi.getInstance(i).hide(),zi.getOrCreateInstance(e).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of z.find(Fi))zi.getOrCreateInstance(t).show()})),P.on(window,"resize.bs.offcanvas",(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&zi.getOrCreateInstance(t).hide()})),R(zi),m(zi);const Ri={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},qi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Vi=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Ki=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!qi.has(i)||Boolean(Vi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Qi={allowList:Ri,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Xi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Yi={entry:"(string|element|function|null)",selector:"(string|element)"};class Ui extends ${constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Qi}static get DefaultType(){return Xi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Yi)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Ki(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Gi=new Set(["sanitize","allowList","sanitizeFn"]),Ji="fade",Zi="show",tn=".modal",en="hide.bs.modal",nn="hover",sn="focus",on={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},rn={allowList:Ri,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},an={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ln extends W{constructor(t,e){if(void 0===Ve)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return rn}static get DefaultType(){return an}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(tn),en,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(Zi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._queueCallback((()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Zi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Ji,Zi),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Ji),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ui({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ji)}_isShown(){return this.tip&&this.tip.classList.contains(Zi)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=on[e.toUpperCase()];return qe(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===nn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===nn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?sn:nn]=!0,e._enter()})),P.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?sn:nn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(tn),en,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=H.getDataAttributes(this._element);for(const t of Object.keys(e))Gi.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=ln.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(ln);const cn={...ln.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},hn={...ln.DefaultType,content:"(null|string|element|function)"};class dn extends ln{static get Default(){return cn}static get DefaultType(){return hn}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=dn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(dn);const un="click.bs.scrollspy",fn="active",pn="[href]",mn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},gn={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class _n extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return mn}static get DefaultType(){return gn}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,un),P.on(this._config.target,un,pn,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(pn,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(fn),this._activateParents(t),P.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(fn);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(fn)}_clearActiveClass(t){t.classList.remove(fn);const e=z.find("[href].active",t);for(const t of e)t.classList.remove(fn)}static jQueryInterface(t){return this.each((function(){const e=_n.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))_n.getOrCreateInstance(t)})),m(_n);const bn="ArrowLeft",vn="ArrowRight",yn="ArrowUp",wn="ArrowDown",An="active",En="fade",Tn="show",Cn='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',On=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${Cn}`;class xn extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,"keydown.bs.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?P.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;P.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(An),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add(Tn)}),t,t.classList.contains(En)))}_deactivate(t,e){t&&(t.classList.remove(An),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove(Tn)}),t,t.classList.contains(En)))}_keydown(t){if(![bn,vn,yn,wn].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[vn,wn].includes(t.key),i=b(this._getChildren().filter((t=>!l(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),xn.getOrCreateInstance(i).show())}_getChildren(){return z.find(On,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",An),n(".dropdown-menu",Tn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(An)}_getInnerElement(t){return t.matches(On)?t:z.findOne(On,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab",Cn,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||xn.getOrCreateInstance(this).show()})),P.on(window,"load.bs.tab",(()=>{for(const t of z.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))xn.getOrCreateInstance(t)})),m(xn);const kn="hide",Ln="show",Sn="showing",Dn={animation:"boolean",autohide:"boolean",delay:"number"},In={animation:!0,autohide:!0,delay:5e3};class Nn extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return In}static get DefaultType(){return Dn}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(kn),d(this._element),this._element.classList.add(Ln,Sn),this._queueCallback((()=>{this._element.classList.remove(Sn),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(Sn),this._queueCallback((()=>{this._element.classList.add(kn),this._element.classList.remove(Sn,Ln),P.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ln),super.dispose()}isShown(){return this._element.classList.contains(Ln)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),P.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Nn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Nn),m(Nn),{Alert:q,Button:K,Carousel:rt,Collapse:ft,Dropdown:ci,Modal:Ni,Offcanvas:zi,Popover:dn,ScrollSpy:_n,Tab:xn,Toast:Nn,Tooltip:ln}})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?n(i.trim()):null}return e},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=".dropdown-toggle",zs=`:not(${Bs})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return z.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(Bs,Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:z.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(Vs))Ks.getOrCreateInstance(t)})),m(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Ys=`mouseout${Qs}`,Us=`focusin${Qs}`,Gs=`focusout${Qs}`,Js=`hide${Qs}`,Zs=`hidden${Qs}`,to=`show${Qs}`,eo=`shown${Qs}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){N.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),d(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),N.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),N.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Xs,(t=>this._onInteraction(t,!0))),N.on(this._element,Ys,(t=>this._onInteraction(t,!1))),N.on(this._element,Us,(t=>this._onInteraction(t,!0))),N.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}})); //# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/assets/languages/wc1c-main-ru_RU.mo b/assets/languages/wc1c-main-ru_RU.mo index 64ca2c7a..c221313d 100644 Binary files a/assets/languages/wc1c-main-ru_RU.mo and b/assets/languages/wc1c-main-ru_RU.mo differ diff --git a/assets/languages/wc1c-main-ru_RU.po b/assets/languages/wc1c-main-ru_RU.po index fe30eafc..8bedc81f 100644 --- a/assets/languages/wc1c-main-ru_RU.po +++ b/assets/languages/wc1c-main-ru_RU.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: WC1C\n" -"POT-Creation-Date: 2023-08-14 12:47+0300\n" -"PO-Revision-Date: 2023-08-14 12:58+0300\n" +"POT-Creation-Date: 2024-04-18 05:38+0300\n" +"PO-Revision-Date: 2024-04-18 05:40+0300\n" "Last-Translator: Frescoref\n" "Language-Team: \n" "Language: ru_RU\n" @@ -32,8 +32,8 @@ msgstr "" #: src/Activation.php:28 msgid "" -"The basic plugin setup has not been done yet, so you can proceed to the " -"setup, which takes no more than 5 minutes." +"The basic plugin setup has not been done yet, so can proceed to the setup, " +"which takes no more than 5 minutes." msgstr "" "Базовая настройка плагина еще не сделана, поэтому можно переходить к " "настройке, которая занимает не более 5 минут." @@ -46,16 +46,16 @@ msgstr "Перейти к настройке." msgid "Integration with 1C" msgstr "Интеграция с 1С" -#: src/Admin.php:121 src/Admin/Settings/LogsForm.php:133 +#: src/Admin.php:121 src/Admin/Settings/LogsForm.php:152 #: src/Admin/Settings/MainForm.php:43 msgid "Configurations" msgstr "Конфигурации" -#: src/Admin.php:128 src/Admin/Settings/LogsForm.php:99 +#: src/Admin.php:128 src/Admin/Settings/LogsForm.php:108 msgid "Tools" msgstr "Инструменты" -#: src/Admin.php:137 +#: src/Admin.php:137 src/Admin/Configurations/Update.php:35 msgid "Settings" msgstr "Настройки" @@ -88,7 +88,7 @@ msgid "not activated" msgstr "активации нет" #: src/Admin/Columns/WooCommerce/Categories.php:38 -#: src/Admin/Columns/WooCommerce/Orders.php:38 +#: src/Admin/Columns/WooCommerce/Orders.php:40 #: src/Admin/Columns/WooCommerce/Products.php:38 #: src/Admin/Columns/WordPress/MediaLibrary.php:38 msgid "1C information" @@ -103,19 +103,20 @@ msgid "Configuration ID: " msgstr "Конфигурация (ID): " #: src/Admin/Columns/WooCommerce/Categories.php:90 -#: src/Admin/Columns/WooCommerce/Orders.php:63 +#: src/Admin/Columns/WooCommerce/Orders.php:67 +#: src/Admin/Columns/WooCommerce/Orders.php:93 #: src/Admin/Columns/WooCommerce/Products.php:63 #: src/Admin/Columns/WordPress/MediaLibrary.php:63 msgid "Not found" msgstr "Не найдена" -#: src/Admin/Columns/WooCommerce/Orders.php:85 +#: src/Admin/Columns/WooCommerce/Orders.php:115 #: src/Admin/Columns/WooCommerce/Products.php:85 #: src/Admin/Columns/WordPress/MediaLibrary.php:85 msgid "Activity:" msgstr "Активность:" -#: src/Admin/Columns/WooCommerce/Orders.php:86 +#: src/Admin/Columns/WooCommerce/Orders.php:116 #: src/Admin/Columns/WooCommerce/Products.php:86 #: src/Admin/Columns/WordPress/MediaLibrary.php:86 #, php-format @@ -123,14 +124,14 @@ msgctxt "%s = human-readable time difference" msgid "%s ago." msgstr "%s назад." -#: src/Admin/Columns/WooCommerce/Orders.php:92 +#: src/Admin/Columns/WooCommerce/Orders.php:122 #: src/Admin/Columns/WooCommerce/Products.php:92 #: src/Admin/Columns/WordPress/MediaLibrary.php:92 -#: src/Admin/Configurations/MainUpdate.php:144 +#: src/Admin/Configurations/MainUpdate.php:146 msgid "Schema ID:" msgstr "Схема (ID):" -#: src/Admin/Columns/WooCommerce/Orders.php:97 +#: src/Admin/Columns/WooCommerce/Orders.php:127 #: src/Admin/Columns/WooCommerce/Products.php:97 #: src/Admin/Columns/WordPress/MediaLibrary.php:97 msgid "Configuration ID:" @@ -151,36 +152,46 @@ msgid "No activity" msgstr "Не было" #: src/Admin/Configurations/AllTable.php:144 -msgid "An initial setup is required." -msgstr "Требуется первоначальная настройка." +msgid "An initial configuration setup is required." +msgstr "Требуется первоначальная настройка конфигурации." #: src/Admin/Configurations/AllTable.php:149 msgid "All configuration algorithms are active." msgstr "Все алгоритмы конфигурации активны." #: src/Admin/Configurations/AllTable.php:154 -msgid "All configuration algorithms are disabled." -msgstr "Все алгоритмы конфигурации отключены." +msgid "" +"All configuration algorithms are disabled. Configuration is switched off in " +"the settings." +msgstr "" +"Все алгоритмы конфигурации отключены. Конфигурация отключена в настройках." #: src/Admin/Configurations/AllTable.php:159 -msgid "Data is being exchanged. Changing settings is not recommended." -msgstr "Идет обмен данными. Менять настройки не рекомендуется." +msgid "" +"Data is being exchanged. Changing configuration settings is not recommended." +msgstr "Идет обмен данными. Изменять настройки конфигурации не рекомендуется." #: src/Admin/Configurations/AllTable.php:164 msgid "" -"An error has occurred. You need to look at the event logs, they contain " -"detailed information." +"An error has occurred. Should review the event logs for the configuration, " +"they contain detailed information about the error." msgstr "" -"Произошла ошибка. Нужно смотреть журналы событий, в них есть подробная " -"информация." +"Произошла ошибка. Следует просмотреть журналы событий для конфигурации, в " +"них содержится подробная информация об ошибке." #: src/Admin/Configurations/AllTable.php:169 -msgid "Awaiting final removal. All algorithms are disabled." -msgstr "Ожидает окончательного удаления. Все алгоритмы отключены." +msgid "Awaiting final configuration removal. All algorithms are disabled." +msgstr "" +"Конфигурация ожидает окончательного удаления. Все алгоритмы конфигурации " +"отключены." -#: src/Admin/Configurations/AllTable.php:195 views/tools/item.php:14 -msgid "Open" -msgstr "Открыть" +#: src/Admin/Configurations/AllTable.php:172 +msgid "Status description" +msgstr "Описание состояния" + +#: src/Admin/Configurations/AllTable.php:195 +msgid "Open configuration" +msgstr "Открыть конфигурацию" #: src/Admin/Configurations/AllTable.php:196 msgid "Mark as deleted" @@ -191,13 +202,13 @@ msgid "Remove forever" msgstr "Удалить окончательно" #: src/Admin/Configurations/AllTable.php:214 -msgid "User: " -msgstr "Пользователь: " +#: src/Admin/Configurations/AllTable.php:218 +msgid "User:" +msgstr "Пользователь:" #: src/Admin/Configurations/AllTable.php:218 -#: src/Admin/Configurations/MainUpdate.php:160 -msgid "User is not exists." -msgstr "Пользователь не существует." +msgid "user is not exists." +msgstr "пользователь не существует." #: src/Admin/Configurations/AllTable.php:224 #: src/Admin/Configurations/AllTable.php:257 @@ -216,7 +227,7 @@ msgid "%s ago" msgstr "%s назад" #: src/Admin/Configurations/AllTable.php:240 -msgid "in" +msgid "at" msgstr "в" #: src/Admin/Configurations/AllTable.php:250 @@ -236,7 +247,7 @@ msgid "Base information" msgstr "Базовая информация" #: src/Admin/Configurations/AllTable.php:311 -#: src/Admin/Configurations/MainUpdate.php:148 +#: src/Admin/Configurations/MainUpdate.php:150 #: src/Admin/Configurations/UpdateForm.php:42 #: src/Admin/Settings/ActivationForm.php:159 msgid "Status" @@ -259,74 +270,88 @@ msgid "Search" msgstr "Найти" #: src/Admin/Configurations/CreateForm.php:42 -#: src/Admin/Configurations/Update.php:136 -msgid "Configuration name" -msgstr "Название конфигурации" +msgid "Name of the configuration" +msgstr "Наименование конфигурации" -#: src/Admin/Configurations/CreateForm.php:44 +#: src/Admin/Configurations/CreateForm.php:47 msgid "Enter any data up to 255 characters." msgstr "Введите любые данные до 255 символов." -#: src/Admin/Configurations/CreateForm.php:72 +#: src/Admin/Configurations/CreateForm.php:48 +msgid "" +"The name is used to quickly distinguish between multiple configurations that " +"have been created." +msgstr "" +"Наименование используется для быстрого различения нескольких созданных " +"конфигураций." + +#: src/Admin/Configurations/CreateForm.php:49 +msgid "" +"Some examples: 1. Exchange data on products, 2. Exchange data on orders, 3. " +"Update prices and stocks, etc." +msgstr "" +"Некоторые примеры: 1. Обмен данными о продуктах, 2. Обмен данными о заказах, " +"3. Обновление цен и запасов и т. д." + +#: src/Admin/Configurations/CreateForm.php:78 msgid "Configuration schema" msgstr "Схема конфигурации" -#: src/Admin/Configurations/CreateForm.php:137 +#: src/Admin/Configurations/CreateForm.php:143 msgid "Identifier:" msgstr "Идентификатор:" #: src/Admin/Configurations/CreateForm.php:187 -msgid "Configuration create error. Please retry." -msgstr "Конфигурация не создана. Пожалуйста повторите." +msgid "Configuration creating error. Please retry." +msgstr "Ошибка создания конфигурации. Пожалуйста, повторите попытку." -#: src/Admin/Configurations/CreateForm.php:227 -msgid "Configuration create error. Name is required." -msgstr "Конфигурация не создана. Название конфигурации не заполнено." +#: src/Admin/Configurations/CreateForm.php:235 +msgid "Configuration creating error. Name is required." +msgstr "Ошибка создания конфигурации. Название конфигурации не заполнено." -#: src/Admin/Configurations/CreateForm.php:240 -msgid "Configuration create error. Schema is required." -msgstr "Конфигурация не создана. Не выбрана схема." +#: src/Admin/Configurations/CreateForm.php:252 +msgid "Configuration creating error. Schema select is required." +msgstr "Ошибка создания конфигурации. Требуется выбор схемы." -#: src/Admin/Configurations/CreateForm.php:257 -msgid "Configuration create error. Name is exists." -msgstr "" -"Конфигурация не создана. Конфигурация с таким названием уже существует." +#: src/Admin/Configurations/CreateForm.php:273 +msgid "Configuration creating error. Name is exists." +msgstr "Ошибка создания конфигурации. Конфигурация с таким именем существует." -#: src/Admin/Configurations/CreateForm.php:274 -msgid "Configuration create success. Configuration id: " -msgstr "Конфигурация успешно создана. Идентификатор конфигурации: " +#: src/Admin/Configurations/CreateForm.php:294 +msgid "Configuration creating is complete. Configuration ID:" +msgstr "Создание конфигурации завершено. Идентификатор конфигурации:" -#: src/Admin/Configurations/CreateForm.php:275 +#: src/Admin/Configurations/CreateForm.php:300 msgid "edit configuration" msgstr "редактировать конфигурацию" -#: src/Admin/Configurations/CreateForm.php:287 -msgid "Configuration create error. Please retry saving or change fields." +#: src/Admin/Configurations/CreateForm.php:310 +msgid "Configuration creating error. Please try saving again or change fields." msgstr "" -"Создание конфигурации не удалось. Пожалуйста повторите процедуру или смените " -"поля." +"Ошибка создания конфигурации. Пожалуйста, попробуйте сохранить еще раз или " +"измените поля." -#: src/Admin/Configurations/Delete.php:55 +#: src/Admin/Configurations/Delete.php:56 msgid "Error. The configuration to be deleted is active and cannot be deleted." msgstr "Ошибка. Удаляемая конфигурация активна и не может быть удалена." -#: src/Admin/Configurations/Delete.php:108 +#: src/Admin/Configurations/Delete.php:109 msgid "The configuration has been marked as deleted." msgstr "Конфигурация помечена как удаленная." -#: src/Admin/Configurations/Delete.php:118 +#: src/Admin/Configurations/Delete.php:119 msgid "The configuration has been successfully deleted." msgstr "Конфигурация успешно удалена." -#: src/Admin/Configurations/Delete.php:125 -msgid "Deleting error. Please retry again." -msgstr "Ошибка при удалении. Пожалуйста, попробуйте еще раз." +#: src/Admin/Configurations/Delete.php:126 +msgid "Configuration deleting error. Please retry again." +msgstr "Ошибка удаления конфигурации. Пожалуйста, повторите попытку." -#: src/Admin/Configurations/DeleteForm.php:38 +#: src/Admin/Configurations/DeleteForm.php:37 msgid "Delete confirmation" msgstr "Подтверждение удаления" -#: src/Admin/Configurations/DeleteForm.php:42 +#: src/Admin/Configurations/DeleteForm.php:41 msgid "" "I confirm that Configuration will be permanently and irrevocably deleted " "from WooCommerce." @@ -334,7 +359,7 @@ msgstr "" "Я подтверждаю, что Конфигурация будет окончательно и безвозвратно удалена из " "WooCommerce." -#: src/Admin/Configurations/DeleteForm.php:43 +#: src/Admin/Configurations/DeleteForm.php:42 msgid "" "The directory with files for configuration from the FILE system will be " "completely removed." @@ -342,13 +367,16 @@ msgstr "" "Каталог с файлами для конфигурации из ФАЙЛОВОЙ системы будет полностью " "удален." -#: src/Admin/Configurations/DeleteForm.php:84 -msgid "Delete error. Please retry." -msgstr "Ошибка при удалении. Пожалуйста повторите." +#: src/Admin/Configurations/DeleteForm.php:77 +msgid "Configuration deleting error. Please retry." +msgstr "Ошибка удаления конфигурации. Пожалуйста, повторите попытку." -#: src/Admin/Configurations/DeleteForm.php:126 -msgid "Delete error. Confirmation of final deletion is required." -msgstr "Ошибка удаления. Требуется подтверждение окончательного удаления." +#: src/Admin/Configurations/DeleteForm.php:125 +msgid "" +"Configuration deleting error. Confirmation of final deletion is required." +msgstr "" +"Ошибка удаления конфигурации. Требуется подтверждение окончательного " +"удаления." #: src/Admin/Configurations/MainUpdate.php:74 msgid "Configuration update success." @@ -360,11 +388,11 @@ msgstr "" "Ошибка обновления конфигурации. Повторите попытку сохранения или изменения " "полей." -#: src/Admin/Configurations/MainUpdate.php:110 +#: src/Admin/Configurations/MainUpdate.php:112 msgid "Debug is enabled!" msgstr "Отладка включена!" -#: src/Admin/Configurations/MainUpdate.php:112 +#: src/Admin/Configurations/MainUpdate.php:114 msgid "" "The current configuration has debug mode enabled. You must disable this mode " "after debugging is complete." @@ -372,11 +400,11 @@ msgstr "" "В текущей конфигурации включен режим отладки. Отключите этот режим после " "завершения отладки." -#: src/Admin/Configurations/MainUpdate.php:121 +#: src/Admin/Configurations/MainUpdate.php:123 msgid "Info is enabled!" msgstr "Информация включена!" -#: src/Admin/Configurations/MainUpdate.php:123 +#: src/Admin/Configurations/MainUpdate.php:125 msgid "" "The extended information recording mode is enabled for the current " "configuration. It is recommended to disable this mode after debugging is " @@ -385,89 +413,93 @@ msgstr "" "Для текущей конфигурации включен режим записи расширенной информации. " "Рекомендуется отключать этот режим после завершения отладки." -#: src/Admin/Configurations/MainUpdate.php:135 +#: src/Admin/Configurations/MainUpdate.php:137 msgid "About configuration" msgstr "О конфигурации" -#: src/Admin/Configurations/MainUpdate.php:141 views/extensions/item.php:20 +#: src/Admin/Configurations/MainUpdate.php:143 views/extensions/item.php:20 msgid "ID:" msgstr "ID:" -#: src/Admin/Configurations/MainUpdate.php:156 +#: src/Admin/Configurations/MainUpdate.php:158 msgid "Owner:" msgstr "Владелец:" -#: src/Admin/Configurations/MainUpdate.php:165 +#: src/Admin/Configurations/MainUpdate.php:162 +msgid "User is not exists." +msgstr "Пользователь не существует." + +#: src/Admin/Configurations/MainUpdate.php:167 msgid "Date active:" msgstr "Последняя активность:" -#: src/Admin/Configurations/MainUpdate.php:169 -#: src/Admin/Configurations/MainUpdate.php:179 -#: src/Admin/Configurations/MainUpdate.php:188 +#: src/Admin/Configurations/MainUpdate.php:171 +#: src/Admin/Configurations/MainUpdate.php:181 +#: src/Admin/Configurations/MainUpdate.php:190 #, php-format msgctxt "%s = human-readable time difference" msgid " (%s ago)." msgstr " (%s назад)." -#: src/Admin/Configurations/MainUpdate.php:175 +#: src/Admin/Configurations/MainUpdate.php:177 msgid "Date create:" msgstr "Дата создания:" -#: src/Admin/Configurations/MainUpdate.php:184 +#: src/Admin/Configurations/MainUpdate.php:186 msgid "Date modify:" msgstr "Дата изменения:" -#: src/Admin/Configurations/MainUpdate.php:194 +#: src/Admin/Configurations/MainUpdate.php:196 msgid "Directory:" msgstr "Директория:" -#: src/Admin/Configurations/MainUpdate.php:206 +#: src/Admin/Configurations/MainUpdate.php:208 msgid "Directory size:" msgstr "Размер директории:" -#: src/Admin/Configurations/MainUpdate.php:218 +#: src/Admin/Configurations/MainUpdate.php:220 msgid "Logs directory size:" msgstr "Размер директории журналов:" -#: src/Admin/Configurations/MainUpdate.php:233 +#: src/Admin/Configurations/MainUpdate.php:235 msgid "About schema" msgstr "О схеме" -#: src/Admin/Configurations/Update.php:35 src/Admin/Settings.php:48 -msgid "Main" -msgstr "Основное" - #: src/Admin/Configurations/Update.php:42 msgid "Logs" msgstr "Журналы" #: src/Admin/Configurations/Update.php:93 msgid "" -"The exchange scheme on the basis of which created configuration is " -"unavailable ." +"The exchange schema based on which the configuration was created is not " +"available." msgstr "Схема обмена на основании которой создана конфигурация, недоступна." #: src/Admin/Configurations/Update.php:95 msgid "" "Install the missing schema to work this configuration, change the status and " -"name, or delete the configuration." +"name or delete the configuration." msgstr "" "Установите отсутствующую схему для работы с этой конфигурацией, измените " "состояние и имя или удалите конфигурацию." +#: src/Admin/Configurations/Update.php:136 +msgid "Configuration name" +msgstr "Название конфигурации" + #: src/Admin/Configurations/Update.php:138 msgid "Used for convenient distribution of multiple configurations." msgstr "Используется для удобного распределения нескольких конфигураций." -#: src/Admin/Configurations/Update.php:141 +#: src/Admin/Configurations/Update.php:142 msgid "Rename" msgstr "Переименовать" -#: src/Admin/Configurations/Update.php:170 +#: src/Admin/Configurations/Update.php:171 msgid "Configuration name update success." msgstr "Название конфигурации успешно обновлено." -#: src/Admin/Configurations/Update.php:180 +#: src/Admin/Configurations/Update.php:181 msgid "Configuration name update error. Please retry saving or change fields." msgstr "" "Ошибка обновления названия конфигурации. Повторите попытку сохранения или " @@ -508,8 +540,12 @@ msgstr "Нашли ошибку?" msgid "Not a feature?" msgstr "Нет возможности?" +#: src/Admin/Settings.php:48 +msgid "Main" +msgstr "Основное" + #: src/Admin/Settings.php:62 src/Schemas/Productscleanercml/Admin.php:291 -#: src/Schemas/Productscml/Admin.php:1909 +#: src/Schemas/Productscml/Admin.php:1997 msgid "Event logs" msgstr "Журналы событий" @@ -521,7 +557,7 @@ msgstr "Интерфейс" msgid "Connection to the WC1C" msgstr "Подключение к WC1C" -#: src/Admin/Settings/ActivationForm.php:50 src/Admin/Settings/Form.php:75 +#: src/Admin/Settings/ActivationForm.php:50 msgid "Save error. Please retry." msgstr "Ошибка при сохранении. Пожалуйста повторите." @@ -569,7 +605,7 @@ msgstr "Доменное имя" msgid "Activate" msgstr "Активировать" -#: src/Admin/Settings/ConnectionForm.php:106 +#: src/Admin/Settings/ConnectionForm.php:107 #, php-format msgid "" "The user with the login %s on the site %s successfully connected to the " @@ -577,7 +613,7 @@ msgid "" msgstr "" "Пользователь с логином %s на сайте %s успешно подключен к текущему сайту." -#: src/Admin/Settings/ConnectionForm.php:128 +#: src/Admin/Settings/ConnectionForm.php:129 #, php-format msgid "" "Error connecting user with login %s on site %s to the current site. Please " @@ -586,35 +622,37 @@ msgstr "" "Ошибка подключения пользователя с логином %s на сайте %s к текущему сайту. " "Пожалуйста, повторите попытку позже." -#: src/Admin/Settings/ConnectionForm.php:160 +#: src/Admin/Settings/ConnectionForm.php:161 msgid "Connection error. Please retry." msgstr "Ошибка подключения. Пожалуйста повторите." -#: src/Admin/Settings/ConnectionForm.php:182 +#: src/Admin/Settings/ConnectionForm.php:183 msgid "Disconnect successful. Reconnect is available" msgstr "Отключение успешно. Доступно повторное подключение" -#: src/Admin/Settings/ConnectionForm.php:208 +#: src/Admin/Settings/ConnectionForm.php:209 msgid "Site is connected to WC1C" msgstr "Сайт подключен к WC1C" -#: src/Admin/Settings/ConnectionForm.php:210 +#: src/Admin/Settings/ConnectionForm.php:211 msgid "To create a new connection, need to disconnect the current connection." msgstr "Для создания нового подключения, необходимо отключить текущее." -#: src/Admin/Settings/ConnectionForm.php:215 -msgid "Login" -msgstr "Логин" +#: src/Admin/Settings/ConnectionForm.php:216 +#: src/Schemas/Productscleanercml/Admin.php:95 +#: src/Schemas/Productscml/Admin.php:98 +msgid "Username" +msgstr "Имя пользователя" -#: src/Admin/Settings/ConnectionForm.php:217 +#: src/Admin/Settings/ConnectionForm.php:218 msgid "Connected login from the WC1C website." msgstr "Подключенный логин с сайта WC1C." -#: src/Admin/Settings/ConnectionForm.php:225 +#: src/Admin/Settings/ConnectionForm.php:226 msgid "App token" msgstr "Токен приложения" -#: src/Admin/Settings/ConnectionForm.php:227 +#: src/Admin/Settings/ConnectionForm.php:228 msgid "" "The current application token for the user. This token can be revoked in " "your personal account on the WC1C website, as well as by clicking the " @@ -623,9 +661,17 @@ msgstr "" "Текущий токен приложения для пользователя. Этот токен можно отозвать в " "личном кабинете на сайте WC1C, а также нажав кнопку «Отключить»." -#: src/Admin/Settings/Form.php:130 -msgid "Save success." -msgstr "Успешное сохранение." +#: src/Admin/Settings/Form.php:69 +msgid "Saving settings." +msgstr "Сохранение настроек." + +#: src/Admin/Settings/Form.php:71 +msgid "The settings have not been saved." +msgstr "Настройки не были сохранены." + +#: src/Admin/Settings/Form.php:138 +msgid "The settings have been successfully saved." +msgstr "Настройки были успешно сохранены." #: src/Admin/Settings/InterfaceForm.php:40 msgid "Changing the interface" @@ -732,63 +778,123 @@ msgstr "Вывод колонки с информацией из 1С в спис msgid "Level for main events" msgstr "Уровень для основных событий" -#: src/Admin/Settings/LogsForm.php:43 -#: src/Schemas/Productscleanercml/Admin.php:300 -#: src/Schemas/Productscml/Admin.php:1918 +#: src/Admin/Settings/LogsForm.php:46 msgid "" -"All events of the selected level will be recorded in the log file. The " -"higher the level, the less data is recorded." +"Events of the selected level will be recorded in the log file. The bigger " +"the level (numbers), the less data is recorded." msgstr "" -"Все события выбранного уровня будут записаны в файл журнала. Чем выше " -"уровень, тем меньше записывается данных." +"События выбранного уровня будут записаны в файлы журналов. Чем больше " +"уровень (цифры), тем меньше данных записывается." + +#: src/Admin/Settings/LogsForm.php:47 +msgid "" +"If the plugin is stable, you will need to use at least the NOTICE level " +"(250), otherwise the event logs will become very large." +msgstr "" +"Если плагин работает стабильно, необходимо использовать хотя бы уровень " +"NOTICE (250), иначе журналы событий станут очень большими." -#: src/Admin/Settings/LogsForm.php:47 src/Admin/Settings/LogsForm.php:89 -#: src/Admin/Settings/LogsForm.php:106 src/Admin/Settings/LogsForm.php:123 -#: src/Admin/Settings/LogsForm.php:140 +#: src/Admin/Settings/LogsForm.php:48 src/Admin/Settings/LogsForm.php:63 +#: src/Admin/Settings/LogsForm.php:120 src/Admin/Settings/LogsForm.php:142 +#: src/Admin/Settings/LogsForm.php:164 #: src/Schemas/Productscleanercml/Admin.php:305 -#: src/Schemas/Productscml/Admin.php:1923 +#: src/Schemas/Productscml/Admin.php:2011 msgid "DEBUG (100)" msgstr "Отладка — DEBUG (100)" -#: src/Admin/Settings/LogsForm.php:48 src/Admin/Settings/LogsForm.php:90 -#: src/Admin/Settings/LogsForm.php:107 src/Admin/Settings/LogsForm.php:124 -#: src/Admin/Settings/LogsForm.php:141 +#: src/Admin/Settings/LogsForm.php:49 +msgid "" +"Data from the algorithm development process with debugging information. It " +"is used by administrators in case of some unclear errors in the process of " +"plugin operation." +msgstr "" +"Данные из процесса отработки алгоритмов с отладочной информацией. " +"Используется администраторами в случае возникновения непонятных ошибок в " +"процессе работы плагина." + +#: src/Admin/Settings/LogsForm.php:50 src/Admin/Settings/LogsForm.php:64 +#: src/Admin/Settings/LogsForm.php:121 src/Admin/Settings/LogsForm.php:143 +#: src/Admin/Settings/LogsForm.php:165 #: src/Schemas/Productscleanercml/Admin.php:306 -#: src/Schemas/Productscml/Admin.php:1924 +#: src/Schemas/Productscml/Admin.php:2012 msgid "INFO (200)" msgstr "Информация — INFO (200)" -#: src/Admin/Settings/LogsForm.php:49 src/Admin/Settings/LogsForm.php:91 -#: src/Admin/Settings/LogsForm.php:108 src/Admin/Settings/LogsForm.php:125 -#: src/Admin/Settings/LogsForm.php:142 +#: src/Admin/Settings/LogsForm.php:51 +msgid "" +"Data from the algorithm development process, but without debugging " +"information. In this mode, less data is written than in debugging mode, but " +"still a lot." +msgstr "" +"Данные из процесса отработки алгоритмов, но без отладочной информации. В " +"этом режиме записывается меньше данных, чем в режиме отладки, но все равно " +"много." + +#: src/Admin/Settings/LogsForm.php:52 src/Admin/Settings/LogsForm.php:65 +#: src/Admin/Settings/LogsForm.php:122 src/Admin/Settings/LogsForm.php:144 +#: src/Admin/Settings/LogsForm.php:166 #: src/Schemas/Productscleanercml/Admin.php:307 -#: src/Schemas/Productscml/Admin.php:1925 +#: src/Schemas/Productscml/Admin.php:2013 msgid "NOTICE (250)" -msgstr "Замечание — NOTICE (250)" +msgstr "Уведомление — NOTICE (250)" + +#: src/Admin/Settings/LogsForm.php:53 +msgid "" +"This mode records events that notify of situations that you need to be aware " +"of. For example, when changing settings or renaming a product during data " +"exchange." +msgstr "" +"В этом режиме записываются события, уведомляющие о ситуациях, на которые " +"необходимо обратить внимание. Например, при изменении настроек или " +"переименовании продукта во время обмена данными." -#: src/Admin/Settings/LogsForm.php:50 src/Admin/Settings/LogsForm.php:92 -#: src/Admin/Settings/LogsForm.php:109 src/Admin/Settings/LogsForm.php:126 -#: src/Admin/Settings/LogsForm.php:143 +#: src/Admin/Settings/LogsForm.php:54 src/Admin/Settings/LogsForm.php:66 +#: src/Admin/Settings/LogsForm.php:123 src/Admin/Settings/LogsForm.php:145 +#: src/Admin/Settings/LogsForm.php:167 #: src/Schemas/Productscleanercml/Admin.php:308 -#: src/Schemas/Productscml/Admin.php:1926 +#: src/Schemas/Productscml/Admin.php:2014 msgid "WARNING (300)" msgstr "Предупреждение — WARNING (300)" -#: src/Admin/Settings/LogsForm.php:51 src/Admin/Settings/LogsForm.php:93 -#: src/Admin/Settings/LogsForm.php:110 src/Admin/Settings/LogsForm.php:127 -#: src/Admin/Settings/LogsForm.php:144 +#: src/Admin/Settings/LogsForm.php:55 +msgid "" +"Recording warnings that occur during operation. Warnings are worth " +"investigating and taking into account, but they are not errors." +msgstr "" +"Запись предупреждений, возникающих во время работы. Предупреждения стоит " +"изучить и принять во внимание, но они не являются ошибками." + +#: src/Admin/Settings/LogsForm.php:56 src/Admin/Settings/LogsForm.php:67 +#: src/Admin/Settings/LogsForm.php:124 src/Admin/Settings/LogsForm.php:146 +#: src/Admin/Settings/LogsForm.php:168 #: src/Schemas/Productscleanercml/Admin.php:309 -#: src/Schemas/Productscml/Admin.php:1927 +#: src/Schemas/Productscml/Admin.php:2015 msgid "ERROR (400)" msgstr "Ошибка — ERROR (400)" #: src/Admin/Settings/LogsForm.php:57 +msgid "" +"Will be recorded only data on errors occurring during the processing of " +"plugin algorithms." +msgstr "" +"Будут записываться только данные об ошибках, возникающих при обработке " +"алгоритмов плагина." + +#: src/Admin/Settings/LogsForm.php:58 +msgid "" +"Event logs always record data about critical errors in the code, regardless " +"of the level configured." +msgstr "" +"В журналы событий всегда записываются данные о критических ошибках в коде, " +"независимо от настроенного уровня." + +#: src/Admin/Settings/LogsForm.php:73 #: src/Schemas/Productscleanercml/Admin.php:315 -#: src/Schemas/Productscml/Admin.php:1933 +#: src/Schemas/Productscml/Admin.php:2021 msgid "Maximum files" msgstr "Максимальное количество файлов" -#: src/Admin/Settings/LogsForm.php:59 +#: src/Admin/Settings/LogsForm.php:75 #: src/Schemas/Productscleanercml/Admin.php:317 msgid "" "Log files created daily. This option on the maximum number of stored files. " @@ -798,11 +904,11 @@ msgstr "" "количество хранимых файлов. По умолчанию сохраняются журналы за последние 30 " "дней." -#: src/Admin/Settings/LogsForm.php:66 +#: src/Admin/Settings/LogsForm.php:82 msgid "Output on display" msgstr "Вывод на экран" -#: src/Admin/Settings/LogsForm.php:68 +#: src/Admin/Settings/LogsForm.php:84 #: src/Schemas/Productscleanercml/Admin.php:170 #: src/Schemas/Productscml/Admin.php:173 src/Schemas/Productscml/Admin.php:210 #: src/Schemas/Productscml/Admin.php:291 src/Schemas/Productscml/Admin.php:305 @@ -823,58 +929,77 @@ msgid "Check the box if you want to enable this feature. Disabled by default." msgstr "" "Установите флажок, если хотите включить эту функцию. Отключено по умолчанию." -#: src/Admin/Settings/LogsForm.php:69 -msgid "All entries in the event logs will be displayed." -msgstr "Будут отображены все записи журналов событий." +#: src/Admin/Settings/LogsForm.php:88 +msgid "All entries event logs will be displayed on the screen." +msgstr "На экране появятся все записи журналов событий." -#: src/Admin/Settings/LogsForm.php:75 +#: src/Admin/Settings/LogsForm.php:89 +msgid "" +"It is used only by developers. If enable this setting just for fun, 1C will " +"not be able to connect to the site." +msgstr "" +"Она используется только разработчиками. Если включить эту настройку просто " +"для развлечения, 1С не сможет подключиться к сайту." + +#: src/Admin/Settings/LogsForm.php:96 msgid "Levels by context" msgstr "Уровни по контексту" -#: src/Admin/Settings/LogsForm.php:77 +#: src/Admin/Settings/LogsForm.php:101 msgid "Event log settings based on context." msgstr "Настройки журнала событий исходя из контекста." -#: src/Admin/Settings/LogsForm.php:82 src/Admin/Settings/MainForm.php:140 -msgid "Receiver" -msgstr "Получатель" +#: src/Admin/Settings/LogsForm.php:102 +msgid "Logical distribution of event logs into contexts for flexible analysis." +msgstr "" +"Логическое распределение журналов событий по контекстам для гибкого анализа." -#: src/Admin/Settings/LogsForm.php:84 +#: src/Admin/Settings/LogsForm.php:113 msgid "" -"All events of the selected level will be recorded the Receiver events in the " -"log file. The higher the level, the less data is recorded." +"All events of the selected level are recorded in the tools events log file. " +"The higher the level, the less data is logged." msgstr "" -"Все события выбранного уровня будут записаны как события приемника в файл " -"журнала. Чем выше уровень, тем меньше данных записывается." +"Все события выбранного уровня записываются в файлы журналов событий для " +"инструментов. Чем выше уровень, тем меньше данных записывается в журнал." -#: src/Admin/Settings/LogsForm.php:88 src/Admin/Settings/LogsForm.php:105 -#: src/Admin/Settings/LogsForm.php:122 src/Admin/Settings/LogsForm.php:139 +#: src/Admin/Settings/LogsForm.php:114 +msgid "" +"In this context, events are recorded when users work with tools, both global " +"and for a specific configuration." +msgstr "" +"В этом контексте события записываются когда пользователи работают с " +"инструментами как глобальными, так и для конкретной конфигурации." + +#: src/Admin/Settings/LogsForm.php:119 src/Admin/Settings/LogsForm.php:141 +#: src/Admin/Settings/LogsForm.php:163 #: src/Schemas/Productscleanercml/Admin.php:304 -#: src/Schemas/Productscml/Admin.php:1922 +#: src/Schemas/Productscml/Admin.php:2010 msgid "Use level for main events" msgstr "Использовать уровень для основных событий" -#: src/Admin/Settings/LogsForm.php:101 -msgid "" -"All events of the selected level will be recorded the tools events in the " -"log file. The higher the level, the less data is recorded." -msgstr "" -"Все события выбранного уровня будут записываться как события инструментов в " -"файл журнала. Чем выше уровень, тем меньше данных записывается." - -#: src/Admin/Settings/LogsForm.php:116 +#: src/Admin/Settings/LogsForm.php:130 msgid "Schemas" msgstr "Схемы" -#: src/Admin/Settings/LogsForm.php:118 +#: src/Admin/Settings/LogsForm.php:135 msgid "" -"All events of the selected level will be recorded the schemas events in the " -"log file. The higher the level, the less data is recorded." +"All events of the selected level are recorded in the events log files for " +"schemas. The higher the level, the less data is logged." msgstr "" -"Все события выбранного уровня будут записаны как события схемам в файл " -"журнала. Чем выше уровень, тем меньше данных записывается." +"Все события выбранного уровня записываются в файлы журнала событий для схем. " +"Чем выше уровень, тем меньше данных записывается в журнал." -#: src/Admin/Settings/LogsForm.php:135 +#: src/Admin/Settings/LogsForm.php:136 +msgid "" +"Only events that are processed in the schema algorithms are recorded. If the " +"events are related to the user configuration, they are not written to schema " +"events." +msgstr "" +"Записываются только те события, которые обрабатываются алгоритмами схемы. " +"Если события относятся к пользовательской конфигурации, они не записываются " +"в события схемы." + +#: src/Admin/Settings/LogsForm.php:157 msgid "" "All events of the selected level will be recorded the configurations events " "in the log file. The higher the level, the less data is recorded." @@ -882,6 +1007,14 @@ msgstr "" "Все события выбранного уровня будут записываться как события конфигурации в " "файл журнала. Чем выше уровень, тем меньше данных записывается." +#: src/Admin/Settings/LogsForm.php:158 +msgid "" +"A personalized event log level can be set on the level of each " +"configuration. The current value is taken for creating new configurations." +msgstr "" +"На уровне каждой конфигурации можно установить персональный уровень журнала " +"событий. При создании новых конфигураций принимается текущее значение." + #: src/Admin/Settings/MainForm.php:45 msgid "Some settings for the configurations." msgstr "Некоторые настройки для конфигураций." @@ -981,6 +1114,10 @@ msgstr "" "Можно только уменьшить значение, потому что оно не должно выходить за " "пределы из лимита сервера." +#: src/Admin/Settings/MainForm.php:140 +msgid "Receiver" +msgstr "Получатель" + #: src/Admin/Settings/MainForm.php:142 msgid "Enable data Receiver: background requests?" msgstr "Включить получателя данных: фоновые запросы?" @@ -1014,12 +1151,16 @@ msgid "Completing" msgstr "Завершение" #: src/Core.php:81 -msgid "Timer is not loaded." -msgstr "Таймер не загружен." +msgid "" +"Timer is not loaded. Further execution of algorithms without a timer is " +"impossible." +msgstr "" +"Таймер не загружен. Дальнейшее выполнение алгоритмов без таймера невозможно." #: src/Core.php:91 -msgid "Extensions is not loaded." -msgstr "Расширения не загружены." +msgid "Extensions is not loaded. Execution continued, but without all plugins." +msgstr "" +"Расширения не загружены. Выполнение продолжилось, но без всех плагинов." #: src/Core.php:100 msgid "Extensions is not initialized." @@ -1041,35 +1182,35 @@ msgstr "Инструменты не инициализированы." msgid "Receiver is not loaded." msgstr "Получатель не загружен." -#: src/Core.php:406 +#: src/Core.php:417 msgid "This activation code is active." msgstr "Этот код активации активен." -#: src/Core.php:407 +#: src/Core.php:418 msgid "Error: This activation code has expired." msgstr "Ошибка: Срок действия этого кода активации истек." -#: src/Core.php:408 +#: src/Core.php:419 msgid "Activation code republished. Awaiting reactivation." msgstr "Код активации опубликован повторно. Ожидание повторной активации." -#: src/Core.php:409 +#: src/Core.php:420 msgid "Error: This activation code has been suspended." msgstr "Ошибка: Этот код активации был приостановлен." -#: src/Core.php:410 +#: src/Core.php:421 msgid "This activation code is not found." msgstr "Указанный код активации не найден." -#: src/Core.php:411 +#: src/Core.php:422 msgid "This activation code is active (localhost)." msgstr "Этот код активации активен (localhost)." -#: src/Core.php:412 +#: src/Core.php:423 msgid "Error: This activation code is pending review." msgstr "Ошибка: этот код активации ожидает рассмотрения." -#: src/Core.php:413 +#: src/Core.php:424 msgid "" "Error: This version of the software was released after your download access " "expired. Please downgrade software or contact support for more information." @@ -1079,27 +1220,27 @@ msgstr "" "обеспечения или обратитесь в службу поддержки для получения дополнительной " "информации." -#: src/Core.php:414 +#: src/Core.php:425 msgid "Error: The activation code variable is empty." msgstr "Ошибка: переменная кода активации пуста." -#: src/Core.php:415 +#: src/Core.php:426 msgid "Error: I could not obtain a new local code." msgstr "Ошибка: не удалось получить новый локальный код." -#: src/Core.php:416 +#: src/Core.php:427 msgid "Error: The maximum local code delay period has expired." msgstr "Ошибка: Максимальный период задержки локального кода истек." -#: src/Core.php:417 +#: src/Core.php:428 msgid "Error: The local key has been tampered with or is invalid." msgstr "Ошибка: локальный код был изменен или недействителен." -#: src/Core.php:418 +#: src/Core.php:429 msgid "Error: The local code is invalid for this location." msgstr "Ошибка: локальный код недействителен для этого местоположения." -#: src/Core.php:419 +#: src/Core.php:430 msgid "" "Error: Please create the following file (and directories if they dont exist " "already): " @@ -1107,43 +1248,55 @@ msgstr "" "Ошибка: Пожалуйста, создайте следующий файл (и каталоги, если они еще не " "существуют): " -#: src/Core.php:420 +#: src/Core.php:431 msgid "Error: Please make the following path writable: " msgstr "Ошибка: сделайте следующий путь доступным для записи: " -#: src/Core.php:421 +#: src/Core.php:432 msgid "Error: I could not determine the local key storage on clear." msgstr "Ошибка: не удалось определить локальное хранилище ключей при очистке." -#: src/Core.php:422 +#: src/Core.php:433 msgid "Error: I could not save the local key." msgstr "Ошибка: не удалось сохранить локальный ключ." -#: src/Core.php:423 +#: src/Core.php:434 msgid "Error: The local code is invalid for this activation code." msgstr "Ошибка: локальный код недействителен для этого кода активации." -#: src/Core.php:424 +#: src/Core.php:435 msgid "Error: This activation code has been deleted." msgstr "Ошибка: Указанный код активации был удален." -#: src/Core.php:425 +#: src/Core.php:436 msgid "Error: This activation code has draft." msgstr "Ошибка: код активации в состоянии черновик." -#: src/Core.php:426 +#: src/Core.php:437 msgid "Error: This activation code has available." msgstr "Ошибка: код активации в состоянии - доступный." -#: src/Core.php:427 +#: src/Core.php:438 msgid "Error: This activation code has been blocked." msgstr "Ошибка: код активации в состоянии заблокирован." -#: src/Core.php:474 +#: src/Core.php:479 +msgid "Receiver loading." +msgstr "Загрузка получателя." + +#: src/Core.php:487 msgid "Receiver loading: class is not exists, use is default." msgstr "Загрузка получателя: класс не найден, используется класс по умолчанию." -#: src/Core.php:501 +#: src/Core.php:498 +msgid "Receiver loading is completed." +msgstr "Загрузка получателя завершена." + +#: src/Core.php:506 +msgid "Localization loading." +msgstr "Загрузка локализации." + +#: src/Core.php:518 msgid "Localization loaded." msgstr "Локализация загружена." @@ -1155,34 +1308,74 @@ msgstr "Не удалось вставить в базу данных" msgid "Meta value by name is not available." msgstr "Мета-значение по имени недоступно." -#: src/Extensions/Core.php:55 -msgid "Extension not found by id." -msgstr "Расширение по идентификатору не найдено." +#: src/Extensions/Core.php:52 src/Extensions/Core.php:84 +msgid "Initialization of the extension by identifier" +msgstr "Инициализация расширения по идентификатору" -#: src/Extensions/Core.php:60 -msgid "Extension is not implementation ExtensionContract. Skipped init." +#: src/Extensions/Core.php:56 +msgid "Extension not found by identifier." +msgstr "Расширение не найдено по идентификатору." + +#: src/Extensions/Core.php:62 +msgid "" +"Extension is not implementation ExtensionContract. Initialization skipped." msgstr "" "Расширение не является реализацией ExtensionContract. Инициализация " "пропущена." -#: src/Extensions/Core.php:75 -msgid "Init extension exception:" -msgstr "Исключение инициализации расширения:" +#: src/Extensions/Core.php:68 +msgid "" +"The extension has already been initialized previously. Re-initialization is " +"skipped." +msgstr "" +"Расширение уже было инициализировано ранее. Повторная инициализация " +"пропущена." + +#: src/Extensions/Core.php:79 +msgid "The extension threw an exception on initialization" +msgstr "Расширение выбросило исключение при инициализации" -#: src/Extensions/Core.php:116 +#: src/Extensions/Core.php:84 +msgid "is completed." +msgstr "завершена." + +#: src/Extensions/Core.php:89 +msgid "Initialization of available extensions." +msgstr "Инициализация доступных расширений." + +#: src/Extensions/Core.php:106 +msgid "Initialization of available extensions is completed." +msgstr "Инициализация доступных расширений завершена." + +#: src/Extensions/Core.php:126 msgid "Get extension by id is unavailable." msgstr "Не удалось получить расширение по его идентификатору." #: src/Extensions/Core.php:140 +msgid "Extensions loading." +msgstr "Загрузка расширений." + +#: src/Extensions/Core.php:144 +msgid "" +"Extension loading is turned off in global settings. Extension loading is " +"skipped." +msgstr "" +"Загрузка расширений отключена в глобальных настройках. Загрузка расширений " +"пропускается." + +#: src/Extensions/Core.php:158 msgid "Extensions load error:" msgstr "Ошибка загрузки расширения:" -#: src/Extensions/Core.php:144 +#: src/Extensions/Core.php:162 msgid "Extensions load exception:" msgstr "Исключение загрузки расширений:" +#: src/Extensions/Core.php:168 +msgid "Extensions loading is completed." +msgstr "Загрузка расширений завершена." + #: src/Receiver.php:46 src/Schemas/Productscleanercml/Receiver.php:64 -#: src/Schemas/Productscml/Receiver.php:52 msgid "Received new request for Receiver." msgstr "Получен новый запрос для Получателя." @@ -1206,82 +1399,109 @@ msgstr "Конфигурация для Получателя недоступн msgid "Schema for configuration is not initialized." msgstr "Схема для конфигурации не инициализирована." -#: src/Receiver.php:81 src/Receiver.php:115 +#: src/Receiver.php:84 msgid "" "The request was successfully submitted for processing in the schema for the " "selected configuration." msgstr "" "Запрос успешно отправлен на обработку в схему для выбранной конфигурации." -#: src/Receiver.php:90 src/Receiver.php:91 +#: src/Receiver.php:93 src/Receiver.php:94 msgid "Selected configuration is offline." msgstr "Выбранная конфигурация выключена." -#: src/Receiver.php:102 src/Schemas/Productscleanercml/Core.php:127 -#: src/Schemas/Productscml/Core.php:299 +#: src/Receiver.php:105 src/Schemas/Productscleanercml/Core.php:127 +#: src/Schemas/Productscml/Core.php:324 msgid "Error saving configuration." msgstr "Ошибка сохранения конфигурации." -#: src/Receiver.php:123 +#: src/Receiver.php:121 +msgid "" +"The request for processing actions for the selected configuration has been " +"successfully submitted." +msgstr "" +"Запрос на обработку действий для выбранной конфигурации успешно отправлен." + +#: src/Receiver.php:134 msgid "" "Receiver request is very bad! Action not found in selected configuration." msgstr "" "Запрос получателя очень плохой! Действие не найдено в выбранной конфигурации." -#: src/Receiver.php:124 src/Schemas/Productscleanercml/Core.php:148 -#: src/Schemas/Productscml/Core.php:320 +#: src/Receiver.php:135 src/Schemas/Productscleanercml/Core.php:148 +#: src/Schemas/Productscml/Core.php:345 msgid "Receiver request is very bad! Action not found." msgstr "Запрос получателя очень плохой! Действие не найдено." -#: src/Schemas/Core.php:51 +#: src/Schemas/Core.php:49 +msgid "Initializing the schema for configuration." +msgstr "Инициализация схемы для конфигурации." + +#: src/Schemas/Core.php:53 msgid "$configuration is false" msgstr "$configuration is false" -#: src/Schemas/Core.php:61 +#: src/Schemas/Core.php:63 msgid "$configuration is not exists" msgstr "$configuration не существует" -#: src/Schemas/Core.php:69 +#: src/Schemas/Core.php:71 msgid "$configuration is not instanceof Configuration" msgstr "$configuration не реализует Configuration" -#: src/Schemas/Core.php:76 +#: src/Schemas/Core.php:78 msgid "$schemas is not array." msgstr "$schemas не является массивом." -#: src/Schemas/Core.php:83 +#: src/Schemas/Core.php:85 msgid "Schema not found by id:" msgstr "Схема не найдена по ИД:" -#: src/Schemas/Core.php:88 +#: src/Schemas/Core.php:90 msgid "$schemas[$schema_id] is not object" msgstr "$schemas[$schema_id] не является объектом" -#: src/Schemas/Core.php:95 +#: src/Schemas/Core.php:97 msgid "Old initialized, $schema_id:" msgstr "Уже инициализирована, $schema_id:" -#: src/Schemas/Core.php:100 +#: src/Schemas/Core.php:102 msgid "Method init not found in schema, $schema_id:" msgstr "Метод для инициализации не найден в схеме, $schema_id:" -#: src/Schemas/Core.php:120 +#: src/Schemas/Core.php:122 msgid "Schema is not initialized." msgstr "Схема не инициализирована." -#: src/Schemas/Core.php:147 +#: src/Schemas/Core.php:127 +msgid "Initializing the schema for configuration is completed." +msgstr "Инициализация схемы для конфигурации завершена." + +#: src/Schemas/Core.php:151 msgid "Schema by ID is unavailable." msgstr "Схема по идентификатору недоступна." -#: src/Schemas/Core.php:170 -msgid "Schemas loaded." -msgstr "Схема загружена." +#: src/Schemas/Core.php:164 +msgid "Schemas loading." +msgstr "Загрузка схем." -#: src/Schemas/Core.php:197 +#: src/Schemas/Core.php:177 +msgid "" +"Loading of external schemes is disabled through the settings. Only standard " +"schemas are loaded." +msgstr "" +"Загрузка внешних схем отключена в настройках. Загружаются только стандартные " +"схемы." + +#: src/Schemas/Core.php:180 +msgid "Schemas loading is completed." +msgstr "Загрузка схем завершена." + +#: src/Schemas/Core.php:207 msgid "Schema ProductsCML is not loaded." msgstr "Схема ProductsCML не загружена." -#: src/Schemas/Core.php:221 +#: src/Schemas/Core.php:231 msgid "Schema ProductsCleanerCML is not loaded." msgstr "Схема ProductsCleanerCML не загружена." @@ -1322,11 +1542,6 @@ msgstr "" "При копировании нужно избавиться от пробельных символов, если они " "присутствуют." -#: src/Schemas/Productscleanercml/Admin.php:95 -#: src/Schemas/Productscml/Admin.php:98 -msgid "Username" -msgstr "Имя пользователя" - #: src/Schemas/Productscleanercml/Admin.php:99 #: src/Schemas/Productscml/Admin.php:102 msgid "" @@ -1452,8 +1667,8 @@ msgstr "Используется только в режиме отладки." #: src/Schemas/Productscml/Admin.php:1193 #: src/Schemas/Productscml/Admin.php:1208 #: src/Schemas/Productscml/Admin.php:1276 -#: src/Schemas/Productscml/Admin.php:1838 -#: src/Schemas/Productscml/Admin.php:1850 +#: src/Schemas/Productscml/Admin.php:1926 +#: src/Schemas/Productscml/Admin.php:1938 msgid "Do not use" msgstr "Не использовать" @@ -1546,11 +1761,11 @@ msgstr "Комплексные настройки параметров очис #: src/Schemas/Productscleanercml/Admin.php:272 #: src/Schemas/Productscml/Admin.php:663 src/Schemas/Productscml/Admin.php:1151 #: src/Schemas/Productscml/Admin.php:1236 -#: src/Schemas/Productscml/Admin.php:1594 -#: src/Schemas/Productscml/Admin.php:1612 -#: src/Schemas/Productscml/Admin.php:1650 -#: src/Schemas/Productscml/Admin.php:1687 -#: src/Schemas/Productscml/Admin.php:1760 +#: src/Schemas/Productscml/Admin.php:1682 +#: src/Schemas/Productscml/Admin.php:1700 +#: src/Schemas/Productscml/Admin.php:1738 +#: src/Schemas/Productscml/Admin.php:1775 +#: src/Schemas/Productscml/Admin.php:1848 msgid "Check the box to enable this feature. Disabled by default." msgstr "Установите флажок, чтобы включить эту функцию. Отключено по умолчанию." @@ -1575,7 +1790,7 @@ msgstr "" "для синхронизации будут безвозвратно удалены из Корзины." #: src/Schemas/Productscleanercml/Admin.php:293 -#: src/Schemas/Productscml/Admin.php:1911 +#: src/Schemas/Productscml/Admin.php:1999 msgid "" "Maintaining event logs for the current configuration. You can view the logs " "through the extension or via FTP." @@ -1584,10 +1799,19 @@ msgstr "" "журналы через расширение или через FTP." #: src/Schemas/Productscleanercml/Admin.php:298 -#: src/Schemas/Productscml/Admin.php:1916 +#: src/Schemas/Productscml/Admin.php:2004 msgid "Level for events" msgstr "Уровень для событий" +#: src/Schemas/Productscleanercml/Admin.php:300 +#: src/Schemas/Productscml/Admin.php:2006 +msgid "" +"All events of the selected level will be recorded in the log file. The " +"higher the level, the less data is recorded." +msgstr "" +"Все события выбранного уровня будут записаны в файл журнала. Чем выше " +"уровень, тем меньше записывается данных." + #: src/Schemas/Productscleanercml/Core.php:45 msgid "Cleaning of products via CommerceML" msgstr "Очистка продуктов через CommerceML" @@ -1601,32 +1825,32 @@ msgstr "" "использованием протокола CommerceML." #: src/Schemas/Productscleanercml/Core.php:114 -#: src/Schemas/Productscml/Core.php:284 +#: src/Schemas/Productscml/Core.php:309 msgid "Configuration is offline." msgstr "Конфигурация выключена." #: src/Schemas/Productscleanercml/Core.php:186 -#: src/Schemas/Productscml/Core.php:191 +#: src/Schemas/Productscml/Core.php:198 msgid "The file cannot be processed. DecoderCML threw an exception." msgstr "Файл не может быть обработан. DecoderCML выдал исключение." #: src/Schemas/Productscleanercml/Core.php:201 -#: src/Schemas/Productscml/Core.php:207 +#: src/Schemas/Productscml/Core.php:222 msgid "The file cannot be processed. ReaderCML threw an exception." msgstr "Файл не может быть обработан. ReaderCML выдал исключение." #: src/Schemas/Productscleanercml/Core.php:205 -#: src/Schemas/Productscml/Core.php:211 +#: src/Schemas/Productscml/Core.php:226 msgid "Filetype:" msgstr "Тип файла:" #: src/Schemas/Productscleanercml/Core.php:220 -#: src/Schemas/Productscml/Core.php:227 +#: src/Schemas/Productscml/Core.php:250 msgid "Import file processing not completed. ReaderCML threw an exception." msgstr "Обработка файла импорта не завершена. ReaderCML выдал исключение." #: src/Schemas/Productscleanercml/Core.php:240 -#: src/Schemas/Productscml/Core.php:247 +#: src/Schemas/Productscml/Core.php:270 msgid "There was not enough time to load all the data." msgstr "Не хватило времени загрузить все данные." @@ -1637,7 +1861,7 @@ msgstr "" "пропущена." #: src/Schemas/Productscleanercml/Core.php:291 -#: src/Schemas/Productscml/Core.php:390 +#: src/Schemas/Productscml/Core.php:454 msgid "An exception was thrown while saving the classifier." msgstr "Возникло исключение при сохранении классификатора." @@ -1647,12 +1871,11 @@ msgstr "" "Продукт не является экземпляром ProductDataContract. Обработка пропущена." #: src/Schemas/Productscleanercml/Core.php:382 -#: src/Schemas/Productscml/Core.php:1325 msgid "An exception was thrown while saving the product." msgstr "При сохранении продукта возникло исключение." #: src/Schemas/Productscleanercml/Core.php:400 -#: src/Schemas/Productscml/Core.php:3794 +#: src/Schemas/Productscml/Core.php:3968 msgid "Processing a product from a catalog of products." msgstr "Обработка продукта из каталога продуктов." @@ -1665,23 +1888,22 @@ msgid "Product search result by external code from 1C." msgstr "Результат поиска продукта по внешнему коду из 1С." #: src/Schemas/Productscleanercml/Core.php:422 -#: src/Schemas/Productscml/Core.php:3810 src/Schemas/Productscml/Core.php:3835 -#: src/Schemas/Productscml/Core.php:4190 src/Schemas/Productscml/Core.php:4214 +#: src/Schemas/Productscml/Core.php:3984 src/Schemas/Productscml/Core.php:4009 +#: src/Schemas/Productscml/Core.php:4382 src/Schemas/Productscml/Core.php:4406 msgid "Several identical products were found. The first one is selected." msgstr "Было найдено несколько идентичных продуктов. Выбран первый из них." #: src/Schemas/Productscleanercml/Core.php:440 -#: src/Schemas/Productscml/Core.php:3839 src/Schemas/Productscml/Core.php:4218 +#: src/Schemas/Productscml/Core.php:4013 src/Schemas/Productscml/Core.php:4410 msgid "Product search result by external algorithms." msgstr "Результат поиска товара с помощью внешних алгоритмов." #: src/Schemas/Productscleanercml/Core.php:448 -#: src/Schemas/Productscml/Core.php:3847 +#: src/Schemas/Productscml/Core.php:4021 msgid "Product is not found." msgstr "Продукт не найден." #: src/Schemas/Productscleanercml/Receiver.php:102 -#: src/Schemas/Productscml/Receiver.php:58 msgid "Received request params." msgstr "Полученные параметры запроса." @@ -1695,17 +1917,17 @@ msgid "Schema: action not found." msgstr "Схема: действие не найдено." #: src/Schemas/Productscleanercml/Receiver.php:184 -#: src/Schemas/Productscml/Receiver.php:175 +#: src/Schemas/Productscml/Receiver.php:197 msgid "In 1C was send a response of the type:" -msgstr "В 1С был отправлен ответ вида:" +msgstr "В 1С был отправлен ответ типа:" #: src/Schemas/Productscleanercml/Receiver.php:194 -#: src/Schemas/Productscml/Receiver.php:185 +#: src/Schemas/Productscml/Receiver.php:189 msgid "Headers for response." msgstr "Заголовки для ответа." #: src/Schemas/Productscleanercml/Receiver.php:246 -#: src/Schemas/Productscml/Receiver.php:239 +#: src/Schemas/Productscml/Receiver.php:243 msgid "" "Server in CGI mode. Not detected the presence of an entry in the root ." "htaccess file on the subject of the contents of the lines." @@ -1719,35 +1941,34 @@ msgstr "Не указан пользователь. Проверьте наст #: src/Schemas/Productscleanercml/Receiver.php:288 #: src/Schemas/Productscleanercml/Receiver.php:289 -#: src/Schemas/Productscml/Receiver.php:282 +#: src/Schemas/Productscml/Receiver.php:286 msgid "Not a valid username." msgstr "Неверное имя пользователя." #: src/Schemas/Productscleanercml/Receiver.php:294 #: src/Schemas/Productscleanercml/Receiver.php:295 -#: src/Schemas/Productscml/Receiver.php:290 +#: src/Schemas/Productscml/Receiver.php:295 msgid "Not a valid user password." msgstr "Неверный пароль пользователя." #: src/Schemas/Productscleanercml/Receiver.php:305 -#: src/Schemas/Productscml/Receiver.php:303 +#: src/Schemas/Productscml/Receiver.php:309 msgid "PHP session none, start new PHP session." msgstr "Сессия PHP отсутствует, начало новой сессии PHP." #: src/Schemas/Productscleanercml/Receiver.php:315 -#: src/Schemas/Productscml/Receiver.php:313 msgid "Request authorization from 1C successfully completed." msgstr "Запрос авторизации от 1С успешно выполнен." #: src/Schemas/Productscleanercml/Receiver.php:329 #: src/Schemas/Productscleanercml/Receiver.php:490 -#: src/Schemas/Productscml/Receiver.php:327 -#: src/Schemas/Productscml/Receiver.php:513 +#: src/Schemas/Productscml/Receiver.php:334 +#: src/Schemas/Productscml/Receiver.php:530 msgid "Print lines for 1C." msgstr "Печать строк для 1С." #: src/Schemas/Productscleanercml/Receiver.php:354 -#: src/Schemas/Productscml/Receiver.php:352 +#: src/Schemas/Productscml/Receiver.php:365 msgid "" "Authorization key verification failed. 1C did not send the name of the lazy " "signature." @@ -1755,19 +1976,19 @@ msgstr "" "Ошибка проверки ключа авторизации. 1С не отправила имя ленивой подписи." #: src/Schemas/Productscleanercml/Receiver.php:370 -#: src/Schemas/Productscml/Receiver.php:368 +#: src/Schemas/Productscml/Receiver.php:381 msgid "" "Authorization key verification failed. 1C sent an incorrect lazy signature." msgstr "" "Ошибка проверки ключа авторизации. 1С прислала неверную ленивую подпись." #: src/Schemas/Productscleanercml/Receiver.php:385 -#: src/Schemas/Productscml/Receiver.php:383 +#: src/Schemas/Productscml/Receiver.php:396 msgid "Authorization key verification failed. 1C sent an empty session name." msgstr "Ошибка проверки ключа авторизации. 1С прислала пустое имя сеанса." #: src/Schemas/Productscleanercml/Receiver.php:400 -#: src/Schemas/Productscml/Receiver.php:398 +#: src/Schemas/Productscml/Receiver.php:411 msgid "Authorization check failed - session id differs from the original." msgstr "" "Ошибка проверки авторизации - идентификатор сеанса отличается от исходного." @@ -1777,23 +1998,21 @@ msgid "PHP session none, restart PHP session." msgstr "Сессия PHP отсутствует, восстановление сессии PHP." #: src/Schemas/Productscleanercml/Receiver.php:432 -#: src/Schemas/Productscml/Receiver.php:430 +#: src/Schemas/Productscml/Receiver.php:443 msgid "Cleaning the directory for temporary files." msgstr "Очистка каталога от временных файлов." #: src/Schemas/Productscleanercml/Receiver.php:438 -#: src/Schemas/Productscml/Receiver.php:436 msgid "" "The directory for temporary files was successfully cleared of old files." msgstr "Каталог временных файлов успешно очищен от старых файлов." #: src/Schemas/Productscleanercml/Receiver.php:442 -#: src/Schemas/Productscml/Receiver.php:440 msgid "Failed to clear the temp directory of old files." msgstr "Не удалось очистить временный каталог от старых файлов." #: src/Schemas/Productscleanercml/Receiver.php:454 -#: src/Schemas/Productscml/Receiver.php:452 +#: src/Schemas/Productscml/Receiver.php:466 msgid "Initialization of receiving requests from 1C." msgstr "Инициализация приема запросов от 1С." @@ -1802,12 +2021,12 @@ msgid "Session for receiving requests." msgstr "Сессия для приема запросов." #: src/Schemas/Productscleanercml/Receiver.php:469 -#: src/Schemas/Productscml/Receiver.php:492 +#: src/Schemas/Productscml/Receiver.php:509 msgid "The maximum size of accepted files from 1C is assigned:" -msgstr "Максимальный размер принимаемых файлов от 1С назначается:" +msgstr "Максимальный размер принимаемых файлов от 1С назначен:" #: src/Schemas/Productscleanercml/Receiver.php:474 -#: src/Schemas/Productscml/Receiver.php:497 +#: src/Schemas/Productscml/Receiver.php:514 msgid "" "Based on the global settings of WC1C, the size of received files has been " "reduced from 1C to:" @@ -1816,7 +2035,7 @@ msgstr "" "до:" #: src/Schemas/Productscleanercml/Receiver.php:480 -#: src/Schemas/Productscml/Receiver.php:503 +#: src/Schemas/Productscml/Receiver.php:520 msgid "" "Based on the configuration settings of WC1C, the size of received files has " "been reduced from 1C to:" @@ -1825,72 +2044,71 @@ msgstr "" "до:" #: src/Schemas/Productscleanercml/Receiver.php:519 -#: src/Schemas/Productscml/Receiver.php:543 +#: src/Schemas/Productscml/Receiver.php:560 msgid "Directory is unavailable:" msgstr "Каталог недоступен:" #: src/Schemas/Productscleanercml/Receiver.php:534 -#: src/Schemas/Productscml/Receiver.php:558 +#: src/Schemas/Productscml/Receiver.php:576 msgid "Filename is empty." msgstr "Имя файла пустое." #: src/Schemas/Productscleanercml/Receiver.php:542 -#: src/Schemas/Productscml/Receiver.php:566 msgid "Saving data to a file named:" msgstr "Сохранение данных в файл с именем:" #: src/Schemas/Productscleanercml/Receiver.php:551 -#: src/Schemas/Productscml/Receiver.php:575 +#: src/Schemas/Productscml/Receiver.php:594 msgid "Directory is unavailable for write." msgstr "Каталог недоступен для записи." #: src/Schemas/Productscleanercml/Receiver.php:565 -#: src/Schemas/Productscml/Receiver.php:589 +#: src/Schemas/Productscml/Receiver.php:608 msgid "The request contains no data to write to the file. Retry the upload." msgstr "Запрос не содержит данных для записи в файл. Повторите загрузку." #: src/Schemas/Productscleanercml/Receiver.php:573 -#: src/Schemas/Productscml/Receiver.php:597 +#: src/Schemas/Productscml/Receiver.php:616 msgid "The file exists. Write a data to the end of an existing file." msgstr "Файл существует. Запись данных в конец существующего файла." #: src/Schemas/Productscleanercml/Receiver.php:586 -#: src/Schemas/Productscml/Receiver.php:613 +#: src/Schemas/Productscml/Receiver.php:632 msgid "The data is successfully written to a file. Recorded data size:" msgstr "Данные успешно записаны в файл. Размер записанных данных:" #: src/Schemas/Productscleanercml/Receiver.php:593 -#: src/Schemas/Productscml/Receiver.php:711 +#: src/Schemas/Productscml/Receiver.php:743 msgid "Failed to write data to file." msgstr "Не удалось записать данные в файл." #: src/Schemas/Productscleanercml/Receiver.php:604 -#: src/Schemas/Productscml/Receiver.php:722 +#: src/Schemas/Productscml/Receiver.php:756 msgid "On request from 1C - started importing data from a file." msgstr "По запросу от 1С - запущен импорт данных из файла." #: src/Schemas/Productscleanercml/Receiver.php:610 -#: src/Schemas/Productscml/Receiver.php:728 +#: src/Schemas/Productscml/Receiver.php:760 msgid "1C sent an empty file name for data import." msgstr "1С прислала пустое имя файла для импорта данных." #: src/Schemas/Productscleanercml/Receiver.php:620 -#: src/Schemas/Productscml/Receiver.php:738 +#: src/Schemas/Productscml/Receiver.php:770 msgid "File for import is not exists." msgstr "Файл для импорта не существует." #: src/Schemas/Productscleanercml/Receiver.php:632 -#: src/Schemas/Productscml/Receiver.php:750 +#: src/Schemas/Productscml/Receiver.php:782 msgid "Import of data from file completed successfully." msgstr "Импорт данных из файла успешно завершен." #: src/Schemas/Productscleanercml/Receiver.php:640 -#: src/Schemas/Productscml/Receiver.php:758 +#: src/Schemas/Productscml/Receiver.php:790 msgid "Importing data from a file ended with an error:" msgstr "Импорт данных из файла завершился ошибкой:" #: src/Schemas/Productscleanercml/Receiver.php:646 -#: src/Schemas/Productscml/Receiver.php:764 +#: src/Schemas/Productscml/Receiver.php:797 msgid "Importing data from a file ended with an error." msgstr "Импорт данных из файла завершился ошибкой." @@ -2474,7 +2692,7 @@ msgstr "Источник для категорий" #: src/Schemas/Productscml/Admin.php:1105 #: src/Schemas/Productscml/Admin.php:1207 #: src/Schemas/Productscml/Admin.php:1275 -#: src/Schemas/Productscml/Admin.php:1849 +#: src/Schemas/Productscml/Admin.php:1937 msgid "The setting works when creating and updating products (goods)." msgstr "Настройка работает при создании и обновлении продуктов (товаров)." @@ -2512,8 +2730,8 @@ msgstr "Присвоение категорий создаваемым прод #: src/Schemas/Productscml/Admin.php:1323 #: src/Schemas/Productscml/Admin.php:1451 #: src/Schemas/Productscml/Admin.php:1493 -#: src/Schemas/Productscml/Admin.php:1696 -#: src/Schemas/Productscml/Admin.php:1797 +#: src/Schemas/Productscml/Admin.php:1784 +#: src/Schemas/Productscml/Admin.php:1885 msgid "Check the box to enable this feature. Enabled by default." msgstr "Установите флажок, чтобы включить эту функцию. Включено по умолчанию." @@ -2559,12 +2777,17 @@ msgstr "Рекомендуется включить этот параметр." #: src/Schemas/Productscml/Admin.php:1365 #: src/Schemas/Productscml/Admin.php:1462 #: src/Schemas/Productscml/Admin.php:1476 -#: src/Schemas/Productscml/Admin.php:1557 -#: src/Schemas/Productscml/Admin.php:1573 -#: src/Schemas/Productscml/Admin.php:1581 -#: src/Schemas/Productscml/Admin.php:1742 -#: src/Schemas/Productscml/Admin.php:1809 -#: src/Schemas/Productscml/Admin.php:1823 +#: src/Schemas/Productscml/Admin.php:1520 +#: src/Schemas/Productscml/Admin.php:1534 +#: src/Schemas/Productscml/Admin.php:1554 +#: src/Schemas/Productscml/Admin.php:1574 +#: src/Schemas/Productscml/Admin.php:1594 +#: src/Schemas/Productscml/Admin.php:1645 +#: src/Schemas/Productscml/Admin.php:1661 +#: src/Schemas/Productscml/Admin.php:1669 +#: src/Schemas/Productscml/Admin.php:1830 +#: src/Schemas/Productscml/Admin.php:1897 +#: src/Schemas/Productscml/Admin.php:1911 msgid "Do not update" msgstr "Не обновлять" @@ -2575,8 +2798,8 @@ msgstr "Не обновлять" #: src/Schemas/Productscml/Admin.php:1257 #: src/Schemas/Productscml/Admin.php:1463 #: src/Schemas/Productscml/Admin.php:1478 -#: src/Schemas/Productscml/Admin.php:1810 -#: src/Schemas/Productscml/Admin.php:1825 +#: src/Schemas/Productscml/Admin.php:1898 +#: src/Schemas/Productscml/Admin.php:1913 msgid "Update in any case" msgstr "Обновлять в любом случае" @@ -2585,7 +2808,7 @@ msgstr "Обновлять в любом случае" #: src/Schemas/Productscml/Admin.php:1166 #: src/Schemas/Productscml/Admin.php:1182 #: src/Schemas/Productscml/Admin.php:1259 -#: src/Schemas/Productscml/Admin.php:1811 +#: src/Schemas/Productscml/Admin.php:1899 msgid "Add if not on the site and available in 1C" msgstr "Добавлять если отсутствует на сайте, но присутствует в 1С" @@ -2596,8 +2819,8 @@ msgstr "Добавлять если отсутствует на сайте, но #: src/Schemas/Productscml/Admin.php:1261 #: src/Schemas/Productscml/Admin.php:1465 #: src/Schemas/Productscml/Admin.php:1482 -#: src/Schemas/Productscml/Admin.php:1812 -#: src/Schemas/Productscml/Admin.php:1829 +#: src/Schemas/Productscml/Admin.php:1900 +#: src/Schemas/Productscml/Admin.php:1917 msgid "Update if present on the site and in 1C" msgstr "Обновлять при наличии на сайте и в 1С" @@ -2639,8 +2862,8 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1392 #: src/Schemas/Productscml/Admin.php:1422 #: src/Schemas/Productscml/Admin.php:1484 -#: src/Schemas/Productscml/Admin.php:1587 -#: src/Schemas/Productscml/Admin.php:1831 +#: src/Schemas/Productscml/Admin.php:1675 +#: src/Schemas/Productscml/Admin.php:1919 msgid "The setting works when updating products (goods)." msgstr "Настройка работает при обновлении продуктов (товаров)." @@ -2989,15 +3212,15 @@ msgstr "Заполнение артикула создаваемых проду #: src/Schemas/Productscml/Admin.php:980 msgid "" -"The product SKU will be added according to data from 1C. It is recommended " -"to enable this feature." +"Product SKUs will be filled according to the data from 1C on the selected " +"source for SKUs. It is recommended to enable this feature." msgstr "" -"Артикул товара будет добавлен согласно данным от 1С. Рекомендуется включить " -"эту функцию." +"Артикулы для продуктов будут заполняться по данным 1С исходя из выбранного " +"источника для артикулов. Рекомендуется включить эту функцию." #: src/Schemas/Productscml/Admin.php:981 src/Schemas/Productscml/Admin.php:1378 #: src/Schemas/Productscml/Admin.php:1406 -#: src/Schemas/Productscml/Admin.php:1802 +#: src/Schemas/Productscml/Admin.php:1890 msgid "The setting works when creating products (goods)." msgstr "Настройка работает при создании продуктов (товаров)." @@ -3055,8 +3278,8 @@ msgstr "Из штрих-кода" #: src/Schemas/Productscml/Admin.php:1196 #: src/Schemas/Productscml/Admin.php:1214 #: src/Schemas/Productscml/Admin.php:1282 -#: src/Schemas/Productscml/Admin.php:1839 -#: src/Schemas/Productscml/Admin.php:1852 +#: src/Schemas/Productscml/Admin.php:1927 +#: src/Schemas/Productscml/Admin.php:1940 msgid "From requisite with the specified name" msgstr "Из реквизита с указанным наименованием" @@ -3542,7 +3765,7 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1464 #: src/Schemas/Productscml/Admin.php:1480 -#: src/Schemas/Productscml/Admin.php:1827 +#: src/Schemas/Productscml/Admin.php:1915 msgid "Add if not on the site, but available in 1C" msgstr "Добавлять если нет на сайте, но есть в 1С" @@ -3627,19 +3850,94 @@ msgstr "" "Если указать одно изображение, оно будет загружено как основное без " "добавления остальных в галерею к продуктам (товарам)." -#: src/Schemas/Productscml/Admin.php:1532 +#: src/Schemas/Productscml/Admin.php:1521 +#: src/Schemas/Productscml/Admin.php:1536 +#: src/Schemas/Productscml/Admin.php:1556 +#: src/Schemas/Productscml/Admin.php:1576 +#: src/Schemas/Productscml/Admin.php:1596 +msgid "При создании и обновлении продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1522 +#: src/Schemas/Productscml/Admin.php:1538 +#: src/Schemas/Productscml/Admin.php:1558 +#: src/Schemas/Productscml/Admin.php:1578 +#: src/Schemas/Productscml/Admin.php:1598 +msgid "При создании продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1523 +#: src/Schemas/Productscml/Admin.php:1540 +#: src/Schemas/Productscml/Admin.php:1560 +#: src/Schemas/Productscml/Admin.php:1580 +#: src/Schemas/Productscml/Admin.php:1600 +msgid "При обновлении продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1528 +msgid "Обновление наименования изображений по наименованию продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1535 +#: src/Schemas/Productscml/Admin.php:1555 +#: src/Schemas/Productscml/Admin.php:1575 +#: src/Schemas/Productscml/Admin.php:1595 +msgid "Обновление будет пропущено в любом случае." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1537 +#: src/Schemas/Productscml/Admin.php:1557 +#: src/Schemas/Productscml/Admin.php:1577 +#: src/Schemas/Productscml/Admin.php:1597 +msgid "" +"Обновление произойдет как при создании продукта, так и при его обновлении." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1539 +#: src/Schemas/Productscml/Admin.php:1579 +msgid "Наименование будет обновлено только при создании продуктов." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1541 +#: src/Schemas/Productscml/Admin.php:1581 +msgid "Наименование будет обновлено только при обновлении продуктов." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1548 +msgid "Обновление атрибута ALT изображений по наименованию продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1559 +#: src/Schemas/Productscml/Admin.php:1599 +msgid "Атрибут ALT будет обновлен только при создании продуктов." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1561 +#: src/Schemas/Productscml/Admin.php:1601 +msgid "Атрибут ALT будет обновлен только при обновлении продуктов." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1568 +msgid "Обновление наименования изображений из описания файла" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1588 +msgid "Обновление атрибута ALT у изображений из описания файла" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1620 msgid "Products (goods): other" msgstr "Продукты (товары): прочие" -#: src/Schemas/Productscml/Admin.php:1534 +#: src/Schemas/Productscml/Admin.php:1622 msgid "Regulation of other algorithms for working with products (goods)." msgstr "Регулирование прочих алгоритмов работы с продуктами (товарами)." -#: src/Schemas/Productscml/Admin.php:1542 +#: src/Schemas/Productscml/Admin.php:1630 msgid "Status of the created product" msgstr "Статус создаваемых продуктов" -#: src/Schemas/Productscml/Admin.php:1547 +#: src/Schemas/Productscml/Admin.php:1635 msgid "" "Newly created products will have selected status. It is recommended to " "select the status: Draft." @@ -3647,7 +3945,7 @@ msgstr "" "Вновь созданные продукты будут иметь выбранный статус. Рекомендуется выбрать " "статус: Черновик." -#: src/Schemas/Productscml/Admin.php:1548 +#: src/Schemas/Productscml/Admin.php:1636 msgid "" "The product catalog comes without prices and balances. Publication is best " "done at the stage of filling in this data." @@ -3655,7 +3953,7 @@ msgstr "" "Каталог продукции поставляется без цен и остатков. Публикацию лучше делать " "на этапе заполнения этих данных." -#: src/Schemas/Productscml/Admin.php:1549 +#: src/Schemas/Productscml/Admin.php:1637 msgid "" "If a product is marked for deletion in 1C, it will be placed in the trash, " "regardless of the current setting." @@ -3663,11 +3961,11 @@ msgstr "" "Если товар отмечен на удаление в 1С, он будет помещен в корзину вне " "зависимости от текущей настройки." -#: src/Schemas/Productscml/Admin.php:1564 +#: src/Schemas/Productscml/Admin.php:1652 msgid "Product status update when requesting product updates" msgstr "Обновление статуса продукта при запросе обновлений продуктов" -#: src/Schemas/Productscml/Admin.php:1566 +#: src/Schemas/Productscml/Admin.php:1654 msgid "" "The selected status will be assigned to all upgraded products when " "requesting product upgrades." @@ -3675,45 +3973,45 @@ msgstr "" "Выбранный статус будет присвоен всем обновленным продуктам при запросе " "обновлений продуктов." -#: src/Schemas/Productscml/Admin.php:1574 -#: src/Schemas/Productscml/Admin.php:1583 +#: src/Schemas/Productscml/Admin.php:1662 +#: src/Schemas/Productscml/Admin.php:1671 msgid "Check" msgstr "Отметить" -#: src/Schemas/Productscml/Admin.php:1575 -#: src/Schemas/Productscml/Admin.php:1585 +#: src/Schemas/Productscml/Admin.php:1663 +#: src/Schemas/Productscml/Admin.php:1673 msgid "Uncheck" msgstr "Снять отметку" -#: src/Schemas/Productscml/Admin.php:1582 +#: src/Schemas/Productscml/Admin.php:1670 msgid "The current value of the option will remain." msgstr "Текущее значение опции останется." -#: src/Schemas/Productscml/Admin.php:1584 +#: src/Schemas/Productscml/Admin.php:1672 msgid "The mark will be set." msgstr "Отметка будет установлена." -#: src/Schemas/Productscml/Admin.php:1586 +#: src/Schemas/Productscml/Admin.php:1674 msgid "The mark will be removed." msgstr "Отметка будет удалена." -#: src/Schemas/Productscml/Admin.php:1592 +#: src/Schemas/Productscml/Admin.php:1680 msgid "Featured on create products" msgstr "Рекомендуемый продукт при создании продуктов" -#: src/Schemas/Productscml/Admin.php:1595 +#: src/Schemas/Productscml/Admin.php:1683 msgid "The created product will be marked as featured." msgstr "Созданный продукт будет помечен как рекомендуемый." -#: src/Schemas/Productscml/Admin.php:1601 +#: src/Schemas/Productscml/Admin.php:1689 msgid "Featured on update products" msgstr "Рекомендуемый у обновляемых продуктов" -#: src/Schemas/Productscml/Admin.php:1610 +#: src/Schemas/Productscml/Admin.php:1698 msgid "Individual sale on create products" msgstr "Индивидуальная продажа при создании продуктов" -#: src/Schemas/Productscml/Admin.php:1613 +#: src/Schemas/Productscml/Admin.php:1701 msgid "" "Enable to have the product sold individually in one order. Two units of a " "product in one order will be impossible to order." @@ -3721,49 +4019,49 @@ msgstr "" "Включите продажу продукта по отдельности в одном заказе. Две единицы товара " "в одном заказе заказать будет невозможно." -#: src/Schemas/Productscml/Admin.php:1619 +#: src/Schemas/Productscml/Admin.php:1707 msgid "Individual sale on update products" msgstr "Индивидуальная продажа обновляемых продуктов" -#: src/Schemas/Productscml/Admin.php:1630 +#: src/Schemas/Productscml/Admin.php:1718 msgid "Product visibility on create products" msgstr "Видимость продукта при создании продуктов" -#: src/Schemas/Productscml/Admin.php:1632 -#: src/Schemas/Productscml/Admin.php:1641 +#: src/Schemas/Productscml/Admin.php:1720 +#: src/Schemas/Productscml/Admin.php:1729 msgid "This setting determines which pages products will be displayed on." msgstr "" "Этот параметр определяет, на каких страницах будут отображаться товары." -#: src/Schemas/Productscml/Admin.php:1639 +#: src/Schemas/Productscml/Admin.php:1727 msgid "Product visibility on update products" msgstr "Видимость обновляемых продуктов" -#: src/Schemas/Productscml/Admin.php:1648 +#: src/Schemas/Productscml/Admin.php:1736 msgid "Allow reviews on create products" msgstr "Разрешить отзывы к создаваемым продуктам" -#: src/Schemas/Productscml/Admin.php:1651 +#: src/Schemas/Productscml/Admin.php:1739 msgid "It will be allowed to leave reviews for created products." msgstr "Будет разрешено оставлять отзывы о создаваемых продуктах." -#: src/Schemas/Productscml/Admin.php:1657 +#: src/Schemas/Productscml/Admin.php:1745 msgid "Allow reviews on update products" msgstr "Разрешить отзывы к обновляемым продуктам" -#: src/Schemas/Productscml/Admin.php:1678 +#: src/Schemas/Productscml/Admin.php:1766 msgid "Media library" msgstr "Медиа библиотека" -#: src/Schemas/Productscml/Admin.php:1680 +#: src/Schemas/Productscml/Admin.php:1768 msgid "Regulation of algorithms for working with WordPress media library." msgstr "Регулирование алгоритмов работы с медиатекой WordPress." -#: src/Schemas/Productscml/Admin.php:1685 +#: src/Schemas/Productscml/Admin.php:1773 msgid "Using the media library" msgstr "Использование медиа библиотеки" -#: src/Schemas/Productscml/Admin.php:1688 +#: src/Schemas/Productscml/Admin.php:1776 msgid "" "All file handling capabilities available to the library will be enabled. If " "disabled, no actions will be performed on files in the library through the " @@ -3773,11 +4071,11 @@ msgstr "" "Если этот параметр отключен, никакие действия над файлами в библиотеке через " "схему выполняться не будут." -#: src/Schemas/Productscml/Admin.php:1694 +#: src/Schemas/Productscml/Admin.php:1782 msgid "Images based on Receiver" msgstr "Изображения на основе файлов Получателя" -#: src/Schemas/Productscml/Admin.php:1700 +#: src/Schemas/Productscml/Admin.php:1788 msgid "" "All image files sent to Receiver files will be added to the WordPress media " "library." @@ -3785,13 +4083,13 @@ msgstr "" "Все файлы изображений, отправленные в виде файлов на Получатель, будут " "добавлены в медиа библиотеку WordPress." -#: src/Schemas/Productscml/Admin.php:1701 +#: src/Schemas/Productscml/Admin.php:1789 msgid "These images can later be used to populate product images." msgstr "" "Эти изображения впоследствии можно использовать для заполнения изображений " "продуктов." -#: src/Schemas/Productscml/Admin.php:1702 +#: src/Schemas/Productscml/Admin.php:1790 msgid "" "When adding an image, it will be assigned the identifier of the current " "configuration, as well as the identifier of the scheme and the path of being " @@ -3800,11 +4098,11 @@ msgstr "" "При добавлении изображения, ему будет присвоен идентификатор текущей " "конфигурации, а также идентификатор схемы и путь нахождения в 1С." -#: src/Schemas/Productscml/Admin.php:1721 +#: src/Schemas/Productscml/Admin.php:1809 msgid "Products (goods): inventories" msgstr "Продукты (товары): запасы" -#: src/Schemas/Productscml/Admin.php:1723 +#: src/Schemas/Productscml/Admin.php:1811 msgid "" "Comprehensive settings for updating inventories based on data from the offer " "package." @@ -3812,11 +4110,11 @@ msgstr "" "Комплексные настройки обновления запасов на основе данных из пакета " "предложений." -#: src/Schemas/Productscml/Admin.php:1728 +#: src/Schemas/Productscml/Admin.php:1816 msgid "The stock status of product created" msgstr "Статус запаса создаваемых продуктов" -#: src/Schemas/Productscml/Admin.php:1733 +#: src/Schemas/Productscml/Admin.php:1821 msgid "" "Newly created products will have the selected stock status. It is " "recommended to select the status: Out of stock." @@ -3824,7 +4122,7 @@ msgstr "" "Вновь созданные продукты будут иметь выбранный статус запаса. Рекомендуется " "выбрать статус: Нет в наличии." -#: src/Schemas/Productscml/Admin.php:1734 +#: src/Schemas/Productscml/Admin.php:1822 msgid "" "The product catalog comes without quantities. When creating new products, it " "is better not to expose their availability." @@ -3832,11 +4130,11 @@ msgstr "" "Каталог продукции поставляется без количества. При создании новых продуктов " "лучше не выставлять напоказ их наличие." -#: src/Schemas/Productscml/Admin.php:1749 +#: src/Schemas/Productscml/Admin.php:1837 msgid "Product stock status update when requesting product updates" msgstr "Обновление статуса запасов обновляемых продуктов" -#: src/Schemas/Productscml/Admin.php:1751 +#: src/Schemas/Productscml/Admin.php:1839 msgid "" "Upgradable products will change the balance status to the selected option " "from the list. It is recommended to select the status: Out of stock. " @@ -3847,11 +4145,11 @@ msgstr "" "Рекомендуется выбрать статус: Нет в наличии. Остатки в этом случае будут " "восстановлены с дальнейшей обработкой остатков." -#: src/Schemas/Productscml/Admin.php:1758 +#: src/Schemas/Productscml/Admin.php:1846 msgid "Filling inventories based on quantity from offers" msgstr "Заполнение запасов на основе количества из предложений" -#: src/Schemas/Productscml/Admin.php:1761 +#: src/Schemas/Productscml/Admin.php:1849 msgid "" "It will be allowed to fill in the quantity of product stocks in WooCommerce " "based on the quantity received in 1C offers." @@ -3859,11 +4157,11 @@ msgstr "" "Будет разрешено заполнить количество продуктовых (товарных) запасов в " "WooCommerce исходя из количества, полученного в 1С предложениях." -#: src/Schemas/Productscml/Admin.php:1767 +#: src/Schemas/Productscml/Admin.php:1855 msgid "Minimum quantity for availability on the site" msgstr "Минимальное количество для наличия на сайте" -#: src/Schemas/Productscml/Admin.php:1769 +#: src/Schemas/Productscml/Admin.php:1857 msgid "" "Specify the minimum quantity of goods in 1C to calculate the availability on " "the site. If there are fewer balances in 1C, then the product will be on the " @@ -3873,11 +4171,11 @@ msgstr "" "Если остатков в 1С меньше, то товар будет на сайте с остатком 0, т.е. со " "статусом нет в наличии." -#: src/Schemas/Productscml/Admin.php:1788 +#: src/Schemas/Productscml/Admin.php:1876 msgid "Products (goods): dimensions" msgstr "Продукты (товары): габариты" -#: src/Schemas/Productscml/Admin.php:1790 +#: src/Schemas/Productscml/Admin.php:1878 msgid "" "The main settings for filling in the dimensions of products (goods) " "according to data from 1C. Dimensions include: weight, length, width, height." @@ -3885,11 +4183,11 @@ msgstr "" "Основные настройки заполнения габаритов продуктов (товаров) по данным из 1С. " "К габаритам относятся: вес, длина, ширина, высота." -#: src/Schemas/Productscml/Admin.php:1795 +#: src/Schemas/Productscml/Admin.php:1883 msgid "Filling the dimensions of the created product" msgstr "Заполнение габаритов создаваемых продуктов" -#: src/Schemas/Productscml/Admin.php:1801 +#: src/Schemas/Productscml/Admin.php:1889 msgid "" "The product dimensions will be added according to data from 1C. It is " "recommended to enable this feature." @@ -3897,15 +4195,15 @@ msgstr "" "Габариты продукта будут добавлены согласно данным от 1С. Рекомендуется " "включить эту функцию." -#: src/Schemas/Productscml/Admin.php:1817 +#: src/Schemas/Productscml/Admin.php:1905 msgid "Dimensions update when products updates" msgstr "Обновление габаритов при обновлении продуктов" -#: src/Schemas/Productscml/Admin.php:1824 +#: src/Schemas/Productscml/Admin.php:1912 msgid "Dimensions updates will be skipped in any case." msgstr "Обновление габаритов будет пропущено в любом случае." -#: src/Schemas/Productscml/Admin.php:1826 +#: src/Schemas/Productscml/Admin.php:1914 msgid "" "Dimensions will be updated in any case. The same value will always be on the " "site and in 1C." @@ -3913,7 +4211,7 @@ msgstr "" "Габариты будут обновляться в любом случае. На сайте и в 1С всегда будет одно " "и то же значение." -#: src/Schemas/Productscml/Admin.php:1828 +#: src/Schemas/Productscml/Admin.php:1916 msgid "" "Existing dimensions will not be affected. There will be a filling of those " "missing on the site if they are available in 1C." @@ -3921,7 +4219,7 @@ msgstr "" "Существующие габариты не будут затронуты. Будет добавление отсутствующих на " "сайте при их наличии в 1С." -#: src/Schemas/Productscml/Admin.php:1830 +#: src/Schemas/Productscml/Admin.php:1918 msgid "" "Dimensions will be updated only if they are filled in 1C and on the site at " "the same time." @@ -3929,11 +4227,11 @@ msgstr "" "Габариты будут обновляться только в случае их заполнения в 1С и на сайте " "одновременно." -#: src/Schemas/Productscml/Admin.php:1844 +#: src/Schemas/Productscml/Admin.php:1932 msgid "Source for dimensions" msgstr "Источник для габаритов" -#: src/Schemas/Productscml/Admin.php:1851 +#: src/Schemas/Productscml/Admin.php:1939 msgid "" "Populating the dimensions data from CommerceML data will be skipped. If a " "product is updating, then its current dimensions will not be updated." @@ -3941,7 +4239,7 @@ msgstr "" "Заполнение данных габаритов из данных CommerceML будет пропущено. Если " "продукт обновляется, то его текущие габариты обновляться не будут." -#: src/Schemas/Productscml/Admin.php:1853 +#: src/Schemas/Productscml/Admin.php:1941 msgid "" "The dimensions data will be filled in based on the completed name of the " "requisite of the products (goods)." @@ -3949,11 +4247,11 @@ msgstr "" "Данные габаритов будут заполняться на основании заполненного наименования " "реквизита продуктов (товаров)." -#: src/Schemas/Productscml/Admin.php:1861 +#: src/Schemas/Productscml/Admin.php:1949 msgid "Dimensions based on requisites: weight" msgstr "Габариты по реквизитам: вес" -#: src/Schemas/Productscml/Admin.php:1863 +#: src/Schemas/Productscml/Admin.php:1951 msgid "" "Specify the requisite name of the weight in 1C, which is used for filling to " "WooCommerce as the weight." @@ -3961,15 +4259,15 @@ msgstr "" "Укажите необходимое название реквизита веса в 1С, которое используется для " "заполнения в WooCommerce в качестве веса." -#: src/Schemas/Productscml/Admin.php:1864 +#: src/Schemas/Productscml/Admin.php:1952 msgid "Weight" msgstr "Вес" -#: src/Schemas/Productscml/Admin.php:1870 +#: src/Schemas/Productscml/Admin.php:1958 msgid "Dimensions based on requisites: length" msgstr "Габариты по реквизитам: длина" -#: src/Schemas/Productscml/Admin.php:1872 +#: src/Schemas/Productscml/Admin.php:1960 msgid "" "Specify the requisite name of the length in 1C, which is used for filling to " "WooCommerce as the length." @@ -3977,15 +4275,15 @@ msgstr "" "Укажите необходимое название реквизита длины в 1С, которое используется для " "заполнения в WooCommerce в качестве длины." -#: src/Schemas/Productscml/Admin.php:1873 +#: src/Schemas/Productscml/Admin.php:1961 msgid "Length" msgstr "Длина" -#: src/Schemas/Productscml/Admin.php:1879 +#: src/Schemas/Productscml/Admin.php:1967 msgid "Dimensions based on requisites: width" msgstr "Габариты по реквизитам: ширина" -#: src/Schemas/Productscml/Admin.php:1881 +#: src/Schemas/Productscml/Admin.php:1969 msgid "" "Specify the requisite name of the width in 1C, which is used for filling to " "WooCommerce as the width." @@ -3993,15 +4291,15 @@ msgstr "" "Укажите необходимое название реквизита ширины в 1С, которое используется для " "заполнения в WooCommerce в качестве ширины." -#: src/Schemas/Productscml/Admin.php:1882 +#: src/Schemas/Productscml/Admin.php:1970 msgid "Width" msgstr "Ширина" -#: src/Schemas/Productscml/Admin.php:1888 +#: src/Schemas/Productscml/Admin.php:1976 msgid "Dimensions based on requisites: height" msgstr "Габариты по реквизитам: высота" -#: src/Schemas/Productscml/Admin.php:1890 +#: src/Schemas/Productscml/Admin.php:1978 msgid "" "Specify the requisite name of the height in 1C, which is used for filling to " "WooCommerce as the height." @@ -4009,11 +4307,11 @@ msgstr "" "Укажите необходимое название реквизита высоты в 1С, которое используется для " "заполнения в WooCommerce в качестве высоты." -#: src/Schemas/Productscml/Admin.php:1891 +#: src/Schemas/Productscml/Admin.php:1979 msgid "Height" msgstr "Высота" -#: src/Schemas/Productscml/Admin.php:1935 +#: src/Schemas/Productscml/Admin.php:2023 msgid "" "Log files created daily. This option on the maximum number of stored files. " "By default saved of the logs are for the last 10 days." @@ -4028,110 +4326,130 @@ msgstr "Обмен данными о продуктах через CommerceML" #: src/Schemas/Productscml/Core.php:65 msgid "" -"Creation and updating of products (goods) in WooCommerce according to data " -"from 1C using the CommerceML protocol of various versions." +"Creating and updating products (goods) in WooCommerce according to data from " +"1C using the CommerceML protocol of different versions." msgstr "" "Создание и обновление продуктов (товаров) в WooCommerce по данным из 1С с " "использованием протокола CommerceML различных версий." -#: src/Schemas/Productscml/Core.php:197 +#: src/Schemas/Productscml/Core.php:212 msgid "DecoderCML has been overridden by external algorithms." msgstr "DecoderCML был переопределен внешними алгоритмами." -#: src/Schemas/Productscml/Core.php:215 +#: src/Schemas/Productscml/Core.php:238 msgid "ReaderCML has been overridden by external algorithms." msgstr "ReaderCML был переопределен внешними алгоритмами." -#: src/Schemas/Productscml/Core.php:260 +#: src/Schemas/Productscml/Core.php:283 msgid "Clearing the output buffer." msgstr "Очистка выходного буфера." -#: src/Schemas/Productscml/Core.php:275 +#: src/Schemas/Productscml/Core.php:298 msgid "Cleaned up data." msgstr "Данные очищенны." -#: src/Schemas/Productscml/Core.php:358 -msgid "DecoderCML threw an exception while converting the classifier." -msgstr "DecoderCML выдал исключение при преобразовании классификатора." +#: src/Schemas/Productscml/Core.php:304 +msgid "Clearing the output buffer as completed." +msgstr "Очистка буфера вывода завершена." -#: src/Schemas/Productscml/Core.php:378 +#: src/Schemas/Productscml/Core.php:368 +msgid "Processing a commercial info." +msgstr "Обработка коммерческой информации." + +#: src/Schemas/Productscml/Core.php:389 +msgid "Processing a classifier." +msgstr "Обработка классификатора." + +#: src/Schemas/Productscml/Core.php:403 +msgid "SimpleXMLElement threw an exception when converting the classifier." +msgstr "SimpleXMLElement вызвал исключение при преобразовании классификатора." + +#: src/Schemas/Productscml/Core.php:413 +msgid "DecoderCML threw an exception when converting the classifier." +msgstr "DecoderCML вызвал исключение при преобразовании классификатора." + +#: src/Schemas/Productscml/Core.php:435 msgid "Classifier !instanceof ClassifierDataContract. Processing skipped." msgstr "" "Классификатор не является экземпляром ClassifierDataContract. Обработка " "пропущена." -#: src/Schemas/Productscml/Core.php:415 +#: src/Schemas/Productscml/Core.php:457 +msgid "Processing a classifier an completed." +msgstr "Обработка классификатора завершена." + +#: src/Schemas/Productscml/Core.php:476 msgid "Classifier groups is empty." msgstr "Группы классификатора пусты." -#: src/Schemas/Productscml/Core.php:456 +#: src/Schemas/Productscml/Core.php:517 msgid "Classifier group processing." msgstr "Обработка группы классификатора." -#: src/Schemas/Productscml/Core.php:471 +#: src/Schemas/Productscml/Core.php:532 msgid "Category search by external algorithms." msgstr "Поиск категории по внешним алгоритмам." -#: src/Schemas/Productscml/Core.php:477 +#: src/Schemas/Productscml/Core.php:538 msgid "Category search result by external algorithms." msgstr "Результат поиска категории с помощью внешних алгоритмов." -#: src/Schemas/Productscml/Core.php:486 +#: src/Schemas/Productscml/Core.php:547 msgid "Category search by group ID from 1C." msgstr "Поиск категории по идентификатору группы из 1С." -#: src/Schemas/Productscml/Core.php:492 +#: src/Schemas/Productscml/Core.php:553 msgid "Category search result by group ID from 1C." msgstr "Результат поиска категории по идентификатору группы из 1С." -#: src/Schemas/Productscml/Core.php:509 +#: src/Schemas/Productscml/Core.php:570 msgid "" "More than one category found by ID from 1C. Assigning the first available." msgstr "" "Более одной категории найдено по ID от 1С. Назначение первой доступной." -#: src/Schemas/Productscml/Core.php:517 +#: src/Schemas/Productscml/Core.php:578 msgid "Category not found. Trying to use existing categories." msgstr "Категория не найдена. Попытка использовать существующие категории." -#: src/Schemas/Productscml/Core.php:526 +#: src/Schemas/Productscml/Core.php:587 msgid "No category found for the specified name." msgstr "Для указанного имени категория не найдена." -#: src/Schemas/Productscml/Core.php:546 +#: src/Schemas/Productscml/Core.php:607 msgid "Category found by name without nesting." msgstr "Категория найдена по названию без вложенности." -#: src/Schemas/Productscml/Core.php:558 +#: src/Schemas/Productscml/Core.php:619 msgid "Category search taking into account nesting." msgstr "Поиск по категориям с учетом вложенности." -#: src/Schemas/Productscml/Core.php:565 +#: src/Schemas/Productscml/Core.php:626 msgid "Category found. The parent is absent both in 1C and on the site." msgstr "Категория найдена. Родитель отсутствует как в 1С, так и на сайте." -#: src/Schemas/Productscml/Core.php:598 +#: src/Schemas/Productscml/Core.php:659 msgid "" "Assigning a category identifier according to 1C data for an existing " "category." msgstr "" "Присвоение идентификатора категории по данным 1С для существующей категории." -#: src/Schemas/Productscml/Core.php:606 +#: src/Schemas/Productscml/Core.php:667 msgid "Assigning a parent category ID from 1C to an existing category." msgstr "" "Присвоение идентификатора родительской категории из 1С для существующей " "категории." -#: src/Schemas/Productscml/Core.php:614 +#: src/Schemas/Productscml/Core.php:675 msgid "Saving a category." msgstr "Сохранение категории." -#: src/Schemas/Productscml/Core.php:626 +#: src/Schemas/Productscml/Core.php:687 msgid "The category exists. Started updating the data of an existing category." msgstr "Категория существует. Начато обновление данных существующей категории." -#: src/Schemas/Productscml/Core.php:630 +#: src/Schemas/Productscml/Core.php:691 msgid "" "Category data update is skipped, it is disabled in the configuration " "settings." @@ -4139,7 +4457,7 @@ msgstr "" "Обновление данных категории пропущено. Обновление выключено в настройках " "конфигурации." -#: src/Schemas/Productscml/Core.php:639 +#: src/Schemas/Productscml/Core.php:700 msgid "" "Category update skipped. The category was created from a different " "configuration." @@ -4147,159 +4465,163 @@ msgstr "" "Обновление категории пропущено. Категория была создана из другой " "конфигурации." -#: src/Schemas/Productscml/Core.php:648 +#: src/Schemas/Productscml/Core.php:709 msgid "Category name update." msgstr "Обновление названия категории." -#: src/Schemas/Productscml/Core.php:652 +#: src/Schemas/Productscml/Core.php:713 msgid "The name of the category has not changed, skipping the name update." msgstr "Название категории не изменилось, пропуск обновления названия." -#: src/Schemas/Productscml/Core.php:656 +#: src/Schemas/Productscml/Core.php:717 msgid "A new category name has been set." msgstr "Задано новое название категории." -#: src/Schemas/Productscml/Core.php:677 src/Schemas/Productscml/Core.php:690 +#: src/Schemas/Productscml/Core.php:738 src/Schemas/Productscml/Core.php:751 msgid "" "The image updating for the category is missing. It is not found in the media " "library." msgstr "" "Обновление изображения для категории не произведено. В медиатеке его нет." -#: src/Schemas/Productscml/Core.php:703 +#: src/Schemas/Productscml/Core.php:764 msgid "Category description update." msgstr "Обновление описания категории." -#: src/Schemas/Productscml/Core.php:707 +#: src/Schemas/Productscml/Core.php:768 msgid "" "The description of the category has not changed, skipping the description " "update." msgstr "Описание категории не изменилось, пропуск обновления описания." -#: src/Schemas/Productscml/Core.php:711 +#: src/Schemas/Productscml/Core.php:772 msgid "A new category description has been set." msgstr "Установлено новое описание категории." -#: src/Schemas/Productscml/Core.php:722 +#: src/Schemas/Productscml/Core.php:783 msgid "Update the parent for the category." msgstr "Обновление родителя для категории." -#: src/Schemas/Productscml/Core.php:726 +#: src/Schemas/Productscml/Core.php:787 msgid "The parent is absent in 1C." msgstr "Родитель отсутствует в 1С." -#: src/Schemas/Productscml/Core.php:732 src/Schemas/Productscml/Core.php:786 +#: src/Schemas/Productscml/Core.php:793 src/Schemas/Productscml/Core.php:847 msgid "Search for a parent category by ID from 1C." msgstr "Поиск родительской категории по идентификатору из 1С." -#: src/Schemas/Productscml/Core.php:741 src/Schemas/Productscml/Core.php:795 +#: src/Schemas/Productscml/Core.php:802 src/Schemas/Productscml/Core.php:856 msgid "" "More than one parent category found by ID from 1C. Assigning the first " "available." msgstr "" "Более одной категории найдено по ID от 1С. Назначение первой доступной." -#: src/Schemas/Productscml/Core.php:747 src/Schemas/Productscml/Core.php:801 +#: src/Schemas/Productscml/Core.php:808 src/Schemas/Productscml/Core.php:862 msgid "Assigning parent IDs to a category." msgstr "Назначение родительских идентификаторов для категории." -#: src/Schemas/Productscml/Core.php:757 +#: src/Schemas/Productscml/Core.php:818 msgid "Update data of existing category completed successfully." msgstr "Обновление данных существующей категории успешно завершено." -#: src/Schemas/Productscml/Core.php:766 +#: src/Schemas/Productscml/Core.php:827 msgid "The category does not exist. Category creation started." msgstr "Категория не существует. Начато создание категории." -#: src/Schemas/Productscml/Core.php:818 +#: src/Schemas/Productscml/Core.php:879 msgid "Assign a description to a category." msgstr "Назначение описания для категории." -#: src/Schemas/Productscml/Core.php:825 +#: src/Schemas/Productscml/Core.php:886 msgid "Assign a image to a category." msgstr "Назначение изображения для категории." -#: src/Schemas/Productscml/Core.php:837 src/Schemas/Productscml/Core.php:850 +#: src/Schemas/Productscml/Core.php:898 src/Schemas/Productscml/Core.php:911 msgid "" "The image assignment for the category is missing. It is not found in the " "media library." msgstr "" "Назначение изображения для категории не произведено. В медиатеке его нет." -#: src/Schemas/Productscml/Core.php:860 +#: src/Schemas/Productscml/Core.php:921 msgid "Category creation completed successfully." msgstr "Создание категории успешно завершено." -#: src/Schemas/Productscml/Core.php:867 +#: src/Schemas/Productscml/Core.php:928 msgid "Creating, updating and using categories is disabled." msgstr "Создание, обновление и использование категорий отключено." -#: src/Schemas/Productscml/Core.php:888 +#: src/Schemas/Productscml/Core.php:944 msgid "Classifier properties is empty." msgstr "Свойства классификатора пусты." -#: src/Schemas/Productscml/Core.php:904 +#: src/Schemas/Productscml/Core.php:960 msgid "Creating and updating attributes based on classifier properties." msgstr "Создание и обновление атрибутов на основе свойств классификатора." -#: src/Schemas/Productscml/Core.php:913 +#: src/Schemas/Productscml/Core.php:969 msgid "Classifier properties processing." msgstr "Обработка свойств классификатора." -#: src/Schemas/Productscml/Core.php:926 +#: src/Schemas/Productscml/Core.php:982 msgid "Attribute search by external algorithms for the classifier property." msgstr "Поиск атрибута по внешним алгоритмам для свойства классификатора." -#: src/Schemas/Productscml/Core.php:931 +#: src/Schemas/Productscml/Core.php:987 msgid "An existing attribute was found when searching by external algorithms." msgstr "" "Существующий атрибут был найден при поиске с помощью внешних алгоритмов." -#: src/Schemas/Productscml/Core.php:940 +#: src/Schemas/Productscml/Core.php:996 msgid "Search for an attribute by name for a classifier property." msgstr "Поиск атрибута по имени для свойства классификатора." -#: src/Schemas/Productscml/Core.php:946 +#: src/Schemas/Productscml/Core.php:1002 msgid "An existing attribute was found when searching by name." msgstr "При поиске по имени был найден существующий атрибут." -#: src/Schemas/Productscml/Core.php:957 +#: src/Schemas/Productscml/Core.php:1013 msgid "The attribute was not found. Creating." msgstr "Атрибут не был найден. Создание." -#: src/Schemas/Productscml/Core.php:966 +#: src/Schemas/Productscml/Core.php:1022 +msgid "The attribute was not created. Creating error." +msgstr "Атрибут не был создан. Ошибка создания." + +#: src/Schemas/Productscml/Core.php:1029 msgid "The attribute was not found. Creating disabled." msgstr "Атрибут не был найден. Создание отключено." -#: src/Schemas/Productscml/Core.php:975 +#: src/Schemas/Productscml/Core.php:1038 msgid "" "Values for the attribute were found in the classifier properties. Processing." msgstr "" "Значения для атрибута были найдены в свойствах классификатора. Обработка." -#: src/Schemas/Productscml/Core.php:981 +#: src/Schemas/Productscml/Core.php:1044 msgid "Assigning a value for an attribute." msgstr "Назначение значения для атрибута." -#: src/Schemas/Productscml/Core.php:987 +#: src/Schemas/Productscml/Core.php:1050 msgid "Value for attribute not found. Adding value." msgstr "Значение атрибута не найдено. Добавление значения." -#: src/Schemas/Productscml/Core.php:991 +#: src/Schemas/Productscml/Core.php:1054 msgid "Failed to add value for attribute." msgstr "Не удалось добавить значение для атрибута." -#: src/Schemas/Productscml/Core.php:996 +#: src/Schemas/Productscml/Core.php:1059 msgid "The value for the attribute was added earlier. Skip adding value." msgstr "Значение атрибута было добавлено ранее. Пропуск добавления значения." -#: src/Schemas/Productscml/Core.php:1002 +#: src/Schemas/Productscml/Core.php:1065 msgid "" "Adding values for attributes based on classifier properties is disabled." msgstr "" "Добавление значений для атрибутов на основе свойств классификатора отключено." -#: src/Schemas/Productscml/Core.php:1007 +#: src/Schemas/Productscml/Core.php:1070 msgid "" "The creation and updates of attributes based on the classifier properties " "has been successfully completed." @@ -4307,188 +4629,217 @@ msgstr "" "Создание и обновление атрибутов на основе свойств классификатора успешно " "завершено." -#: src/Schemas/Productscml/Core.php:1011 +#: src/Schemas/Productscml/Core.php:1074 msgid "Creating, updating and using attributes is disabled." msgstr "Создание, обновление и использование атрибутов отключено." -#: src/Schemas/Productscml/Core.php:1024 -msgid "Classifier processing." -msgstr "Обработка классификатора." +#: src/Schemas/Productscml/Core.php:1087 +msgid "Saving classifier data." +msgstr "Сохранение данных классификатора." -#: src/Schemas/Productscml/Core.php:1031 +#: src/Schemas/Productscml/Core.php:1094 msgid "Found existing classifiers. Search in existing ones by ID." msgstr "Найдены существующие классификаторы. Поиск в существующих по ID." -#: src/Schemas/Productscml/Core.php:1040 +#: src/Schemas/Productscml/Core.php:1103 msgid "The processed classifier is found in the existing ones." msgstr "Обрабатываемый классификатор находится в существующих." -#: src/Schemas/Productscml/Core.php:1048 +#: src/Schemas/Productscml/Core.php:1111 msgid "Classifier not found. Adding a classifier to existing ones." msgstr "Классификатор не найден. Добавление классификатора к существующим." -#: src/Schemas/Productscml/Core.php:1067 +#: src/Schemas/Productscml/Core.php:1130 msgid "Updating the data of an existing classifier." msgstr "Обновление данных существующего классификатора." -#: src/Schemas/Productscml/Core.php:1071 +#: src/Schemas/Productscml/Core.php:1134 msgid "Update the properties of an existing classifier." msgstr "Обновление свойств существующего классификатора." -#: src/Schemas/Productscml/Core.php:1078 +#: src/Schemas/Productscml/Core.php:1141 msgid "Update the groups of an existing classifier." msgstr "Обновление групп существующего классификатора." -#: src/Schemas/Productscml/Core.php:1085 +#: src/Schemas/Productscml/Core.php:1148 msgid "Update the units of an existing classifier." msgstr "Обновление единиц измерений существующего классификатора." -#: src/Schemas/Productscml/Core.php:1092 +#: src/Schemas/Productscml/Core.php:1155 msgid "Update the warehouses of an existing classifier." msgstr "Обновление складов существующего классификатора." -#: src/Schemas/Productscml/Core.php:1099 +#: src/Schemas/Productscml/Core.php:1162 msgid "Update the price types of an existing classifier." msgstr "Обновление типов цен существующего классификатора." -#: src/Schemas/Productscml/Core.php:1106 +#: src/Schemas/Productscml/Core.php:1169 msgid "Saving classifier data in its entirety." msgstr "Сохранение данных классификатора целиком." -#: src/Schemas/Productscml/Core.php:1114 +#: src/Schemas/Productscml/Core.php:1177 msgid "Saving classifier data in terms of groups." msgstr "Сохранение данных классификатора по частям: группы." -#: src/Schemas/Productscml/Core.php:1122 +#: src/Schemas/Productscml/Core.php:1185 msgid "Saving classifier data in terms of categories." msgstr "Сохранение данных классификатора по частям: категории." -#: src/Schemas/Productscml/Core.php:1130 +#: src/Schemas/Productscml/Core.php:1193 msgid "Saving classifier data in terms of properties." msgstr "Сохранение данных классификатора по частям: свойства." -#: src/Schemas/Productscml/Core.php:1138 +#: src/Schemas/Productscml/Core.php:1201 msgid "Saving classifier data in terms of price types." msgstr "Сохранение данных классификатора по частям: типы цен." -#: src/Schemas/Productscml/Core.php:1146 +#: src/Schemas/Productscml/Core.php:1209 msgid "Saving classifier data in terms of units." msgstr "Сохранение данных классификатора по частям: единицы измерения." -#: src/Schemas/Productscml/Core.php:1154 +#: src/Schemas/Productscml/Core.php:1217 msgid "Saving classifier data in terms of warehouses." msgstr "Сохранение данных классификатора по частям: склады." -#: src/Schemas/Productscml/Core.php:1182 -msgid "Processing of the product catalog is completed." -msgstr "Обработка каталога продукции завершена." +#: src/Schemas/Productscml/Core.php:1224 +msgid "Saving classifier data as completed." +msgstr "Сохранение данных классификатора завершено." + +#: src/Schemas/Productscml/Core.php:1245 +msgid "" +"The catalog with products contains full data. The time of the last full " +"exchange has been set." +msgstr "" +"Каталог с продуктами содержит полные данные. Установлено время последнего " +"полного обмена." + +#: src/Schemas/Productscml/Core.php:1270 +msgid "Processing a catalog with products as completed." +msgstr "Обработка каталога с продуктами завершена." -#: src/Schemas/Productscml/Core.php:1187 +#: src/Schemas/Productscml/Core.php:1275 msgid "Saving a catalog to meta configuration data." msgstr "Сохранение каталога в метаданные конфигурации." -#: src/Schemas/Productscml/Core.php:1201 +#: src/Schemas/Productscml/Core.php:1287 +msgid "Processing a catalog with products." +msgstr "Обработка каталога с продуктами." + +#: src/Schemas/Productscml/Core.php:1291 msgid "The catalog object has not been previously initialized. Initialization." msgstr "Объект каталога ранее не был инициализирован. Инициализация." -#: src/Schemas/Productscml/Core.php:1217 -#: src/Schemas/Productscml/Receiver.php:130 -msgid "The time of the last full exchange has been set." -msgstr "Установлено время последнего полного обмена." - -#: src/Schemas/Productscml/Core.php:1230 +#: src/Schemas/Productscml/Core.php:1310 msgid "The catalog object has been assigned an ID." msgstr "Объекту каталога присвоен идентификатор." -#: src/Schemas/Productscml/Core.php:1234 +#: src/Schemas/Productscml/Core.php:1314 msgid "The catalog object has been assigned a classifier ID." msgstr "Объекту каталога присвоен идентификатор классификатора." -#: src/Schemas/Productscml/Core.php:1238 +#: src/Schemas/Productscml/Core.php:1318 msgid "A name has been assigned to the catalog object." msgstr "Объекту каталога присвоено имя." -#: src/Schemas/Productscml/Core.php:1243 +#: src/Schemas/Productscml/Core.php:1323 msgid "The catalog object has been assigned an owner." msgstr "Объекту каталога назначен владелец." -#: src/Schemas/Productscml/Core.php:1247 +#: src/Schemas/Productscml/Core.php:1327 msgid "A description has been assigned to the catalog object." msgstr "Объекту каталога присвоено описание." -#: src/Schemas/Productscml/Core.php:1252 +#: src/Schemas/Productscml/Core.php:1332 msgid "A warehouses has been assigned to the catalog object." msgstr "Объекту каталога присвоены склады." -#: src/Schemas/Productscml/Core.php:1266 +#: src/Schemas/Productscml/Core.php:1346 msgid "" "Products creation and updating is disabled. The processing of goods was " "skipped." msgstr "" "Создание и обновление продуктов отключено. Обработка товаров была пропущена." -#: src/Schemas/Productscml/Core.php:1291 +#: src/Schemas/Productscml/Core.php:1358 +msgid "An exception was thrown from SimpleXMLElement." +msgstr "Из SimpleXMLElement было выброшено исключение." + +#: src/Schemas/Productscml/Core.php:1371 +msgid "An exception was thrown while decoding the product." +msgstr "При декодировании продукта возникло исключение." + +#: src/Schemas/Productscml/Core.php:1387 msgid "The product is modified according to external algorithms." msgstr "Продукт изменен по внешним алгоритмам." -#: src/Schemas/Productscml/Core.php:1296 +#: src/Schemas/Productscml/Core.php:1392 msgid "Product !instanceof ProductDataContract. Processing skipped." msgstr "" "Продукт не является экземпляром ProductDataContract. Обработка пропущена." -#: src/Schemas/Productscml/Core.php:1305 src/Schemas/Productscml/Core.php:4514 +#: src/Schemas/Productscml/Core.php:1401 src/Schemas/Productscml/Core.php:4737 msgid "" "The use of products with characteristics is disabled. Processing skipped." msgstr "" "Использование продуктов с характеристиками отключено. Обработка пропущена." -#: src/Schemas/Productscml/Core.php:1349 +#: src/Schemas/Productscml/Core.php:1421 +msgid "An exception was thrown while processing the product." +msgstr "При обработке продукта в цикле, выброшено исключение." + +#: src/Schemas/Productscml/Core.php:1445 msgid "Move on to the next product." msgstr "Переход к следующему продукту." -#: src/Schemas/Productscml/Core.php:1367 +#: src/Schemas/Productscml/Core.php:1463 msgid "Assign a name to the product." msgstr "Назначение наименования для продукта." -#: src/Schemas/Productscml/Core.php:1371 +#: src/Schemas/Productscml/Core.php:1467 msgid "The product is a variation. Name assignment omitted." msgstr "Продукт является вариацией. Назначение наименования пропущено." -#: src/Schemas/Productscml/Core.php:1380 +#: src/Schemas/Productscml/Core.php:1476 msgid "The source for assigning the product name has not been selected." msgstr "Не выбран источник для присвоения наименования продукта." -#: src/Schemas/Productscml/Core.php:1387 +#: src/Schemas/Productscml/Core.php:1483 msgid "Product name update skipped because its disabled in the settings." msgstr "" "Обновление наименования продукта пропущено, так как обновление отключено в " "настройках." -#: src/Schemas/Productscml/Core.php:1429 +#: src/Schemas/Productscml/Core.php:1525 msgid "Assign name of the product has been successfully completed." msgstr "Назначение наименования продукта успешно завершено." -#: src/Schemas/Productscml/Core.php:1433 +#: src/Schemas/Productscml/Core.php:1529 msgid "The name assignment for the product is skipping. Name is not changed." msgstr "Назначение наименования продукта пропущено. Наименование не изменено." -#: src/Schemas/Productscml/Core.php:1497 -msgid "Assign a SKU to a product." +#: src/Schemas/Productscml/Core.php:1593 +msgid "Assigning a SKU to a product." msgstr "Назначение артикула для продукта." -#: src/Schemas/Productscml/Core.php:1501 -msgid "SKU update during product update is disabled in the settings." -msgstr "Обновление артикула при обновлении продукта отключено в настройках." +#: src/Schemas/Productscml/Core.php:1597 +msgid "" +"SKU update during product update is disabled in the configuration settings." +msgstr "" +"Обновление артикула при обновлении продукта отключено в настройках " +"конфигурации." -#: src/Schemas/Productscml/Core.php:1508 -msgid "Adding a SKU when adding a product is disabled in the settings." -msgstr "Добавление артикула при добавлении продукта отключено в настройках." +#: src/Schemas/Productscml/Core.php:1604 +msgid "" +"Adding a SKU when adding a product is disabled in the configuration settings." +msgstr "" +"Добавление артикула при добавлении продукта отключено в настройках " +"конфигурации." -#: src/Schemas/Productscml/Core.php:1517 -msgid "The source for the article is not specified." -msgstr "Источник артикула не указан." +#: src/Schemas/Productscml/Core.php:1613 +msgid "The source of the SKUs is not specified." +msgstr "Источник артикула не указан в настройках конфигурации." -#: src/Schemas/Productscml/Core.php:1559 +#: src/Schemas/Productscml/Core.php:1655 msgid "" "SKU update skipped. The mode of adding SKU is enabled for products that do " "not have them." @@ -4496,7 +4847,7 @@ msgstr "" "Обновление артикула пропущено. Режим добавления SKU включен для продуктов, у " "которых их нет." -#: src/Schemas/Productscml/Core.php:1566 +#: src/Schemas/Productscml/Core.php:1662 msgid "" "SKU update skipped. The mode for adding SKUs is enabled for products that " "have them on the site and in 1C." @@ -4504,19 +4855,24 @@ msgstr "" "Обновление артикула пропущено. Режим добавления артикулов включен для " "продуктов, у которых они есть на сайте и в 1С." -#: src/Schemas/Productscml/Core.php:1575 -msgid "The SKU assignment for the product has been successfully completed." -msgstr "Назначение артикула для продукта успешно выполнено." +#: src/Schemas/Productscml/Core.php:1669 +msgid "SKU update skipped. A new SKU is equal to an already filled SKU." +msgstr "" +"Обновление артикула пропущено. Новый артикул равен уже заполненному артикулу." + +#: src/Schemas/Productscml/Core.php:1676 +msgid "Assigning a SKU to a product as completed." +msgstr "Назначение артикула для продукта завершено." -#: src/Schemas/Productscml/Core.php:1579 +#: src/Schemas/Productscml/Core.php:1682 msgid "Failed to set SKU for product." msgstr "Ошибка установки артикула для продукта." -#: src/Schemas/Productscml/Core.php:1864 +#: src/Schemas/Productscml/Core.php:1967 msgid "Assign a description to the product." msgstr "Назначение описания для продукта." -#: src/Schemas/Productscml/Core.php:1868 +#: src/Schemas/Productscml/Core.php:1971 msgid "" "Assigning a description to the created product is disabled. Assigning " "description skipped." @@ -4524,7 +4880,7 @@ msgstr "" "Назначение описания создаваемым продуктам отключено. Назначение описания " "пропущено." -#: src/Schemas/Productscml/Core.php:1875 +#: src/Schemas/Productscml/Core.php:1978 msgid "" "Assigning a description to the updated product is disabled. Assigning " "description skipped." @@ -4532,7 +4888,7 @@ msgstr "" "Назначение описания обновляемым продуктам отключено. Назначение описания " "пропущено." -#: src/Schemas/Productscml/Core.php:1921 +#: src/Schemas/Productscml/Core.php:2024 msgid "" "When updating products, it is allowed to add descriptions only to products " "without a description on the site if there is a description in 1C. Assigning " @@ -4541,7 +4897,7 @@ msgstr "" "При обновлении продуктов разрешено добавлять описания только к продуктам без " "описания на сайте при наличии описания в 1С. Назначение пропущено." -#: src/Schemas/Productscml/Core.php:1928 +#: src/Schemas/Productscml/Core.php:2031 msgid "" "When updating products, it is allowed to add descriptions only to products " "with a description on the site if there is a description in 1C. Assigning " @@ -4550,21 +4906,21 @@ msgstr "" "При обновлении продуктов разрешено добавлять описания только к продуктам с " "описанием на сайте при наличии описания в 1С. Назначение пропущено." -#: src/Schemas/Productscml/Core.php:1939 +#: src/Schemas/Productscml/Core.php:2042 msgid "Assign description of the product has been successfully completed." msgstr "Назначение описания для продукта успешно выполнено." -#: src/Schemas/Productscml/Core.php:1943 +#: src/Schemas/Productscml/Core.php:2046 msgid "" "The description assignment for the product is skipping. Description is not " "changed." msgstr "Пропуск назначения описания продукта. Описание не изменено." -#: src/Schemas/Productscml/Core.php:1961 +#: src/Schemas/Productscml/Core.php:2064 msgid "Assign a full description to the product." msgstr "Назначение полного описания для продукта." -#: src/Schemas/Productscml/Core.php:1965 +#: src/Schemas/Productscml/Core.php:2068 msgid "" "Assigning a full description to the created product is disabled. Assigning " "description skipped." @@ -4572,7 +4928,7 @@ msgstr "" "Назначение полного описания создаваемым товарам отключено. Назначение " "описания пропущено." -#: src/Schemas/Productscml/Core.php:1972 +#: src/Schemas/Productscml/Core.php:2075 msgid "" "Assigning a full description to the updated product is disabled. Assigning " "description skipped." @@ -4580,7 +4936,7 @@ msgstr "" "Назначение обновляемым продуктам полного описания отключено. Назначение " "описания пропущено." -#: src/Schemas/Productscml/Core.php:2017 +#: src/Schemas/Productscml/Core.php:2120 msgid "" "When updating products, it is allowed to add full descriptions only to " "products without a description on the site if there is a description in 1C. " @@ -4590,7 +4946,7 @@ msgstr "" "продуктам без описания на сайте при наличии описания в 1С. Назначение " "пропущено." -#: src/Schemas/Productscml/Core.php:2024 +#: src/Schemas/Productscml/Core.php:2127 msgid "" "When updating products, it is allowed to add full descriptions only to " "products with a description on the site if there is a description in 1C. " @@ -4600,26 +4956,26 @@ msgstr "" "продуктам с описанием на сайте при наличии описания в 1С. Назначение " "пропущено." -#: src/Schemas/Productscml/Core.php:2035 +#: src/Schemas/Productscml/Core.php:2138 msgid "Assign full description of the product has been successfully completed." msgstr "Назначение полного описания продукта успешно завершено." -#: src/Schemas/Productscml/Core.php:2039 +#: src/Schemas/Productscml/Core.php:2142 msgid "" "The full description assignment for the product is skipping. Description is " "not changed." msgstr "Назначение полного описания продукта пропущено. Описание не изменено." -#: src/Schemas/Productscml/Core.php:2058 +#: src/Schemas/Productscml/Core.php:2161 msgid "Assign categories to a product." -msgstr "Назначение каттегорий для продукта." +msgstr "Назначение категорий для продукта." -#: src/Schemas/Productscml/Core.php:2062 +#: src/Schemas/Productscml/Core.php:2165 msgid "" "Assigning categories when creating products is disabled in the settings." msgstr "Назначение категорий при создании продуктов отключено в настройках." -#: src/Schemas/Productscml/Core.php:2069 +#: src/Schemas/Productscml/Core.php:2172 msgid "" "The assignment of categories when creating products is enabled, but in 1C " "the product does not have groups." @@ -4627,38 +4983,38 @@ msgstr "" "Назначение категорий при создании продуктов включено, но в 1С у продукта нет " "групп." -#: src/Schemas/Productscml/Core.php:2076 +#: src/Schemas/Productscml/Core.php:2179 msgid "Update categories when updating products is disabled in the settings." msgstr "Обновление категорий при обновлении продуктов отключено в настройках." -#: src/Schemas/Productscml/Core.php:2083 +#: src/Schemas/Productscml/Core.php:2186 msgid "Variations cannot be categorized. Skip assigning categories." msgstr "Вариации не могут иметь категории. Пропуск назначения категорий." -#: src/Schemas/Productscml/Core.php:2092 +#: src/Schemas/Productscml/Core.php:2195 msgid "" "The source for assigning categories was not specified. Skip assigning " "categories." msgstr "" "Источник для назначения категорий не указан. Пропуск назначения категорий." -#: src/Schemas/Productscml/Core.php:2106 +#: src/Schemas/Productscml/Core.php:2209 msgid "Filling in product categories based on classifier groups." msgstr "Заполнение категорий продуктов на основе групп классификатора." -#: src/Schemas/Productscml/Core.php:2110 +#: src/Schemas/Productscml/Core.php:2213 msgid "Processing of the classifier group." msgstr "Обработка группы из классификатора." -#: src/Schemas/Productscml/Core.php:2116 +#: src/Schemas/Productscml/Core.php:2219 msgid "The category was found by the external group ID from 1C." msgstr "Категория найдена по идентификатору группы из 1С." -#: src/Schemas/Productscml/Core.php:2122 +#: src/Schemas/Productscml/Core.php:2225 msgid "Category not found by external group ID from 1C." msgstr "Категория не найдена по идентификатору группы из 1С." -#: src/Schemas/Productscml/Core.php:2128 +#: src/Schemas/Productscml/Core.php:2231 msgid "" "Categories update skipped. The mode of adding categories is enabled for " "products that do not have them." @@ -4666,7 +5022,7 @@ msgstr "" "Обновление категорий пропущено. Режим добавления категорий включен для " "продуктов, у которых их нет." -#: src/Schemas/Productscml/Core.php:2135 +#: src/Schemas/Productscml/Core.php:2238 msgid "" "Categories update skipped. The mode for adding categories is enabled for " "products that have them on the site and in 1C." @@ -4674,68 +5030,69 @@ msgstr "" "Обновление категорий пропущено. Режим добавления категорий включен для " "продуктов, у которых они есть на сайте и в 1С." -#: src/Schemas/Productscml/Core.php:2147 +#: src/Schemas/Productscml/Core.php:2250 msgid "Filling parent categories according to the WordPress structure." msgstr "" "Заполнение родительских категорий в соответствии со структурой WordPress." -#: src/Schemas/Productscml/Core.php:2151 +#: src/Schemas/Productscml/Core.php:2254 msgid "Filling result." msgstr "Результат заполнения." -#: src/Schemas/Productscml/Core.php:2156 +#: src/Schemas/Productscml/Core.php:2259 msgid "Category assignment completed successfully." msgstr "Назначение категорий успешно завершено." -#: src/Schemas/Productscml/Core.php:2286 +#: src/Schemas/Productscml/Core.php:2389 msgid "Assigning images to a product by offers." msgstr "Назначение изображений для продукта по пакету предложений." -#: src/Schemas/Productscml/Core.php:2290 +#: src/Schemas/Productscml/Core.php:2393 msgid "" -"Assignment of images based on offer package is only possible for " -"variations.. Assigning skipped" +"Assigning of images based on offer package is only possible for variations. " +"Assignment skipped." msgstr "" "Назначение изображений на основе пакета предложений возможно только для " -"вариаций. Назначение пропущено" +"вариаций. Назначение пропущено." -#: src/Schemas/Productscml/Core.php:2297 src/Schemas/Productscml/Core.php:2421 +#: src/Schemas/Productscml/Core.php:2400 msgid "" "Image assignments for CommerceML data are disabled in the settings. " -"Assigning skipped." +"Assignment skipped." msgstr "" -"Назначение изображений из данных CommerceML отключено в настройках. " +"Назначение изображений для данных CommerceML отключено в настройках. " "Назначение пропущено." -#: src/Schemas/Productscml/Core.php:2304 -msgid "There are no images for the product. Assigning skipped." -msgstr "Изображения продукта отсутствуют. Назначение пропущено." +#: src/Schemas/Productscml/Core.php:2407 +msgid "There are no images for the product. Assignment skipped." +msgstr "Для продукта нет изображений. Назначение пропущено." -#: src/Schemas/Productscml/Core.php:2311 src/Schemas/Productscml/Core.php:2449 +#: src/Schemas/Productscml/Core.php:2414 msgid "" -"Image assignment for the product being updated is disabled. Assigning " +"Image assigning for the product being updated is disabled. Assignment " "skipped." msgstr "" "Назначение изображения для обновляемого продукта отключено. Назначение " "пропущено." -#: src/Schemas/Productscml/Core.php:2322 src/Schemas/Productscml/Core.php:2460 +#: src/Schemas/Productscml/Core.php:2425 msgid "" "The product being updated contains images. Adding images is allowed only if " -"there are none. Assigning skipped." +"there are none. Assignment skipped." msgstr "" -"Обновляемый продукт содержит изображения. Добавление изображений разрешено, " -"только если их нет. Назначение пропущено." +"Обновляемый продукт содержит изображения. Добавление изображений разрешено " +"только в том случае, если их нет. Назначение пропущено." -#: src/Schemas/Productscml/Core.php:2329 src/Schemas/Productscml/Core.php:2467 +#: src/Schemas/Productscml/Core.php:2432 msgid "" "The product being updated does not contain an image. Updating images is " -"allowed only if they are present on the site and in 1C. Assigning skipped." +"allowed only if they are present on the site and in 1C. Assignment skipped." msgstr "" "Обновляемый продукт не содержит изображения. Обновление изображений " -"допускается только при их наличии на сайте и в 1С. Назначение пропущено." +"разрешено только в том случае, если они присутствуют на сайте и в 1С. " +"Назначение пропущено." -#: src/Schemas/Productscml/Core.php:2348 src/Schemas/Productscml/Core.php:2483 +#: src/Schemas/Productscml/Core.php:2451 src/Schemas/Productscml/Core.php:2586 msgid "" "The maximum possible number of images has been processed. The rest of the " "images are skip." @@ -4743,8 +5100,8 @@ msgstr "" "Обработано максимально возможное количество изображений. Остальные " "изображения пропущены." -#: src/Schemas/Productscml/Core.php:2358 src/Schemas/Productscml/Core.php:2371 -#: src/Schemas/Productscml/Core.php:2493 src/Schemas/Productscml/Core.php:2506 +#: src/Schemas/Productscml/Core.php:2461 src/Schemas/Productscml/Core.php:2474 +#: src/Schemas/Productscml/Core.php:2596 src/Schemas/Productscml/Core.php:2609 msgid "" "The image assignment for the product is missing. Image is not found in the " "media library." @@ -4752,95 +5109,131 @@ msgstr "" "Отсутствует назначение изображения для продукта. Изображение не найдено в " "медиатеке." -#: src/Schemas/Productscml/Core.php:2391 +#: src/Schemas/Productscml/Core.php:2494 msgid "Assigning a main image for a product variation." msgstr "Назначение основного изображения для вариации." -#: src/Schemas/Productscml/Core.php:2399 src/Schemas/Productscml/Core.php:2528 -msgid "Product images assign completed successfully." -msgstr "Назначение изображений продукта успешно завершено." +#: src/Schemas/Productscml/Core.php:2502 +msgid "Assigning images to a product by offers as completed." +msgstr "Присвоение изображений продукту по предложениям завершено." -#: src/Schemas/Productscml/Core.php:2417 +#: src/Schemas/Productscml/Core.php:2520 msgid "Assign images to a product." msgstr "Назначение изображений для продукта." -#: src/Schemas/Productscml/Core.php:2428 +#: src/Schemas/Productscml/Core.php:2524 +msgid "" +"Image assignments for CommerceML data are disabled in the settings. " +"Assigning skipped." +msgstr "" +"Назначение изображений из данных CommerceML отключено в настройках. " +"Назначение пропущено." + +#: src/Schemas/Productscml/Core.php:2531 msgid "There are no images for the product being created. Assigning skipped." msgstr "Нет изображений для создаваемого продукта. Назначение пропущено." -#: src/Schemas/Productscml/Core.php:2435 +#: src/Schemas/Productscml/Core.php:2538 msgid "" "Assigning images to a product variation is not possible. Assigning skipped" msgstr "" "Назначение изображений варианту продукта невозможно. Назначение пропущено" -#: src/Schemas/Productscml/Core.php:2442 +#: src/Schemas/Productscml/Core.php:2545 msgid "Assigning images to the created product is disabled. Assigning skipped." msgstr "" "Привязка изображений к созданному товару отключена. Назначение пропущено." -#: src/Schemas/Productscml/Core.php:2517 +#: src/Schemas/Productscml/Core.php:2552 +msgid "" +"Image assignment for the product being updated is disabled. Assigning " +"skipped." +msgstr "" +"Назначение изображения для обновляемого продукта отключено. Назначение " +"пропущено." + +#: src/Schemas/Productscml/Core.php:2563 +msgid "" +"The product being updated contains images. Adding images is allowed only if " +"there are none. Assigning skipped." +msgstr "" +"Обновляемый продукт содержит изображения. Добавление изображений разрешено, " +"только если их нет. Назначение пропущено." + +#: src/Schemas/Productscml/Core.php:2570 +msgid "" +"The product being updated does not contain an image. Updating images is " +"allowed only if they are present on the site and in 1C. Assigning skipped." +msgstr "" +"Обновляемый продукт не содержит изображения. Обновление изображений " +"допускается только при их наличии на сайте и в 1С. Назначение пропущено." + +#: src/Schemas/Productscml/Core.php:2691 msgid "Assigning a main image for a product." msgstr "Назначение основного изображения для продукта." -#: src/Schemas/Productscml/Core.php:2736 +#: src/Schemas/Productscml/Core.php:2702 +msgid "Assign images to a product as completed." +msgstr "Назначение изображений продукту завершено." + +#: src/Schemas/Productscml/Core.php:2910 msgid "Assigning attributes for product." msgstr "Назначение атрибутов для продукта." -#: src/Schemas/Productscml/Core.php:2852 +#: src/Schemas/Productscml/Core.php:3026 msgid "Adding attributes to the product is successfully." msgstr "Добавление атрибутов к продукту выполнено успешно." -#: src/Schemas/Productscml/Core.php:2858 +#: src/Schemas/Productscml/Core.php:3032 msgid "Adding default attributes to the variable product is successfully." msgstr "" "Добавление атрибутов по умолчанию к вариативному продукту выполнено успешно." -#: src/Schemas/Productscml/Core.php:2876 +#: src/Schemas/Productscml/Core.php:3050 msgid "Assigning attributes for variation." msgstr "Назначение атрибутов для вариаии." -#: src/Schemas/Productscml/Core.php:2886 +#: src/Schemas/Productscml/Core.php:3060 msgid "The parent product was not found. Skipped." msgstr "Родительский продукт не был найден. Пропуск." -#: src/Schemas/Productscml/Core.php:2893 +#: src/Schemas/Productscml/Core.php:3067 msgid "The parent product is variation. Skipped." msgstr "Родительский продукт - это вариация. Пропуск." -#: src/Schemas/Productscml/Core.php:2902 +#: src/Schemas/Productscml/Core.php:3076 msgid "The parent product attributes." msgstr "Атрибуты родительского продукта." -#: src/Schemas/Productscml/Core.php:2919 +#: src/Schemas/Productscml/Core.php:3093 msgid "The attribute was not found in the parent product." msgstr "Атрибут не найден в родительском продукте." -#: src/Schemas/Productscml/Core.php:2925 +#: src/Schemas/Productscml/Core.php:3099 msgid "The attribute is not for variations." msgstr "Атрибут не для вариаций." -#: src/Schemas/Productscml/Core.php:2952 +#: src/Schemas/Productscml/Core.php:3126 msgid "Adding attributes to the variation is successfully." msgstr "Добавление атрибутов к вариации выполнено успешно." -#: src/Schemas/Productscml/Core.php:2969 +#: src/Schemas/Productscml/Core.php:3143 msgid "Getting to variation parent attributes." msgstr "Получение родительских атрибутов для вариации." -#: src/Schemas/Productscml/Core.php:2993 +#: src/Schemas/Productscml/Core.php:3167 msgid "The attribute is not for variations. Save required." msgstr "Атрибут не для вариаций. Требуется сохранить." -#: src/Schemas/Productscml/Core.php:3006 +#: src/Schemas/Productscml/Core.php:3180 msgid "Preserve parent attributes for accessibility in variations." msgstr "Сохранение родительских атрибутов для доступности в вариантах." -#: src/Schemas/Productscml/Core.php:3028 +#: src/Schemas/Productscml/Core.php:3202 msgid "Processing of product attributes." msgstr "Обработка атрибутов продукта." -#: src/Schemas/Productscml/Core.php:3032 +#: src/Schemas/Productscml/Core.php:3206 msgid "" "Assigning attributes when creating products is disabled. Attribute " "assignment skipped." @@ -4848,7 +5241,7 @@ msgstr "" "Назначение атрибутов при создании товаров отключено. Назначение атрибута " "пропущено." -#: src/Schemas/Productscml/Core.php:3039 +#: src/Schemas/Productscml/Core.php:3213 msgid "" "Assigning attributes when updating products is disabled. Attribute " "assignment skipped." @@ -4856,33 +5249,33 @@ msgstr "" "Назначение атрибутов при обновлении продуктов отключено. Назначение атрибута " "пропущено." -#: src/Schemas/Productscml/Core.php:3044 +#: src/Schemas/Productscml/Core.php:3218 msgid "" "Assigning attributes to a product based on the properties of the product " "catalog." msgstr "Присвоение атрибутов продукту на основе свойств каталога продуктов." -#: src/Schemas/Productscml/Core.php:3048 +#: src/Schemas/Productscml/Core.php:3222 msgid "Zeroing the characteristics of a variable product." msgstr "Обнуление характеристик вариативного продукта." -#: src/Schemas/Productscml/Core.php:3063 src/Schemas/Productscml/Core.php:3294 +#: src/Schemas/Productscml/Core.php:3237 src/Schemas/Productscml/Core.php:3468 msgid "Processing of product properties." msgstr "Обработка свойств продукта." -#: src/Schemas/Productscml/Core.php:3071 src/Schemas/Productscml/Core.php:3308 +#: src/Schemas/Productscml/Core.php:3245 src/Schemas/Productscml/Core.php:3482 msgid "The attribute has an empty value." msgstr "Атрибут имеет пустое значение." -#: src/Schemas/Productscml/Core.php:3077 src/Schemas/Productscml/Core.php:3314 +#: src/Schemas/Productscml/Core.php:3251 src/Schemas/Productscml/Core.php:3488 msgid "The attribute was not found in the classifier properties." msgstr "Атрибут не был найден в свойствах классификатора." -#: src/Schemas/Productscml/Core.php:3091 src/Schemas/Productscml/Core.php:3328 +#: src/Schemas/Productscml/Core.php:3265 src/Schemas/Productscml/Core.php:3502 msgid "The attribute contains an empty value identifier." msgstr "Атрибут содержит пустой идентификатор значения." -#: src/Schemas/Productscml/Core.php:3114 src/Schemas/Productscml/Core.php:3358 +#: src/Schemas/Productscml/Core.php:3288 src/Schemas/Productscml/Core.php:3532 msgid "" "Adding values from product properties is disabled and the value is missing " "from the classifier properties directory. Adding a value is skipped." @@ -4890,22 +5283,22 @@ msgstr "" "Добавление значений из свойств продукта отключено и значение отсутствует в " "справочнике свойств классификатора. Добавление значения пропущено." -#: src/Schemas/Productscml/Core.php:3141 src/Schemas/Productscml/Core.php:3381 +#: src/Schemas/Productscml/Core.php:3315 src/Schemas/Productscml/Core.php:3555 msgid "Processing of product characteristics." msgstr "Обработка характеристик продукта." -#: src/Schemas/Productscml/Core.php:3165 src/Schemas/Productscml/Core.php:3404 -#: src/Schemas/Productscml/Core.php:3482 +#: src/Schemas/Productscml/Core.php:3339 src/Schemas/Productscml/Core.php:3578 +#: src/Schemas/Productscml/Core.php:3656 msgid "The characteristic has an empty value." msgstr "Характеристика имеет пустое значение." -#: src/Schemas/Productscml/Core.php:3175 src/Schemas/Productscml/Core.php:3414 -#: src/Schemas/Productscml/Core.php:3490 +#: src/Schemas/Productscml/Core.php:3349 src/Schemas/Productscml/Core.php:3588 +#: src/Schemas/Productscml/Core.php:3664 msgid "The attribute was not found. Creating by characteristic." msgstr "Атрибут не найден. Создание по характеристике." -#: src/Schemas/Productscml/Core.php:3199 src/Schemas/Productscml/Core.php:3445 -#: src/Schemas/Productscml/Core.php:3514 +#: src/Schemas/Productscml/Core.php:3373 src/Schemas/Productscml/Core.php:3619 +#: src/Schemas/Productscml/Core.php:3688 msgid "" "Adding values from product characteristics is disabled and the value is " "missing in global attributes. Adding a value is skipped." @@ -4913,17 +5306,17 @@ msgstr "" "Добавление значений из характеристик продукта отключено, и это значение " "отсутствует в глобальных атрибутах. Добавление значения пропущено." -#: src/Schemas/Productscml/Core.php:3243 src/Schemas/Productscml/Core.php:3557 +#: src/Schemas/Productscml/Core.php:3417 src/Schemas/Productscml/Core.php:3731 msgid "Attributes before processing." msgstr "Атрибуты перед обработкой." -#: src/Schemas/Productscml/Core.php:3269 +#: src/Schemas/Productscml/Core.php:3443 msgid "" "Assigning attributes to a product based on the properties of the offers " "package." msgstr "Присвоение атрибутов продукту на основе свойств пакета предложений." -#: src/Schemas/Productscml/Core.php:3273 +#: src/Schemas/Productscml/Core.php:3447 msgid "" "The file type is not an offer package. Skip assigning attributes on offer " "data." @@ -4931,131 +5324,131 @@ msgstr "" "Тип файла не является пакетом предложений. Пропустить присвоение атрибутов " "данным предложения." -#: src/Schemas/Productscml/Core.php:3335 +#: src/Schemas/Productscml/Core.php:3509 msgid "The attribute contains in products characteristics." msgstr "Атрибут содержится в характеристиках товаров." -#: src/Schemas/Productscml/Core.php:3561 +#: src/Schemas/Productscml/Core.php:3735 msgid "Attributes not found. Skipped." msgstr "Атрибуты не найдены. Пропуск." -#: src/Schemas/Productscml/Core.php:3593 +#: src/Schemas/Productscml/Core.php:3767 msgid "Prices processing." msgstr "Обработка цен." -#: src/Schemas/Productscml/Core.php:3597 +#: src/Schemas/Productscml/Core.php:3771 msgid "Prices is not found. Update skipping." msgstr "Цены не найдены. Пропуск обновления." -#: src/Schemas/Productscml/Core.php:3603 +#: src/Schemas/Productscml/Core.php:3777 msgid "Prices before processing." msgstr "Цены до обработки." -#: src/Schemas/Productscml/Core.php:3641 +#: src/Schemas/Productscml/Core.php:3815 msgid "Assign the regular price." msgstr "Назначение обычной цены." -#: src/Schemas/Productscml/Core.php:3674 +#: src/Schemas/Productscml/Core.php:3848 msgid "Assign the sale price." msgstr "Назначение цены распродажи." -#: src/Schemas/Productscml/Core.php:3682 +#: src/Schemas/Productscml/Core.php:3856 msgid "Assign the current price from sale price." msgstr "Назначение текущей цены из цены распродажи." -#: src/Schemas/Productscml/Core.php:3687 +#: src/Schemas/Productscml/Core.php:3861 msgid "Assign the current price from regular price." msgstr "Назначение текущей цены из базовой цены." -#: src/Schemas/Productscml/Core.php:3694 +#: src/Schemas/Productscml/Core.php:3868 msgid "Prices processing is off. Assigning is skip." msgstr "Обработка цен отключена. Назначение пропущено." -#: src/Schemas/Productscml/Core.php:3698 +#: src/Schemas/Productscml/Core.php:3872 msgid "Prices processing is successful." msgstr "Обработка цен прошла успешно." -#: src/Schemas/Productscml/Core.php:3720 +#: src/Schemas/Productscml/Core.php:3894 msgid "Inventories processing." msgstr "Обработка запасов." -#: src/Schemas/Productscml/Core.php:3724 +#: src/Schemas/Productscml/Core.php:3898 msgid "" "Product inventories update by offers quantity is disabled. Update skipping." msgstr "" "Обновление товарных запасов по количеству предложений отключено. Пропуск " "обновления." -#: src/Schemas/Productscml/Core.php:3728 +#: src/Schemas/Productscml/Core.php:3902 msgid "Set inventories by offers quantity: start." msgstr "Установка запасов по количеству предложений: начато." -#: src/Schemas/Productscml/Core.php:3744 +#: src/Schemas/Productscml/Core.php:3918 msgid "" "Product inventories stored in parent product. Update variation skipping." msgstr "" "Запасы продуктов хранятся в родительском продукте. Пропуск обновления " "вариации." -#: src/Schemas/Productscml/Core.php:3778 +#: src/Schemas/Productscml/Core.php:3952 msgid "Set inventories by offers quantity: end." msgstr "Установка запасов по количеству предложений: завершено." -#: src/Schemas/Productscml/Core.php:3804 src/Schemas/Productscml/Core.php:4184 +#: src/Schemas/Productscml/Core.php:3978 src/Schemas/Productscml/Core.php:4376 msgid "Product search by external ID from 1C." msgstr "Поиск продукта по внешнему идентификатору из 1С." -#: src/Schemas/Productscml/Core.php:3814 src/Schemas/Productscml/Core.php:4194 +#: src/Schemas/Productscml/Core.php:3988 src/Schemas/Productscml/Core.php:4386 msgid "Product search result by external ID from 1C." msgstr "Результат поиска продукта по идентификатору из 1С." -#: src/Schemas/Productscml/Core.php:3829 +#: src/Schemas/Productscml/Core.php:4003 msgid "Product search by external algorithms." msgstr "Поиск продукта с помощью внешних алгоритмов." -#: src/Schemas/Productscml/Core.php:3854 +#: src/Schemas/Productscml/Core.php:4028 msgid "Products create is disabled. Product create skipped." msgstr "Создание новых продуктов отключено. Создание продукта пропущено." -#: src/Schemas/Productscml/Core.php:3863 +#: src/Schemas/Productscml/Core.php:4037 msgid "The use of products delete mark is disabled. Product create skipped." msgstr "" "Использование метки удаления продуктов отключено. Создание продукта " "пропущено." -#: src/Schemas/Productscml/Core.php:3876 src/Schemas/Productscml/Core.php:4237 +#: src/Schemas/Productscml/Core.php:4050 src/Schemas/Productscml/Core.php:4429 msgid "The product contains the characteristics." msgstr "Продукт содержит характеристики." -#: src/Schemas/Productscml/Core.php:3885 +#: src/Schemas/Productscml/Core.php:4059 msgid "Parent product search by external ID from 1C." msgstr "Поиск родительского продукта по идентификатору от 1С." -#: src/Schemas/Productscml/Core.php:3891 src/Schemas/Productscml/Core.php:3916 -#: src/Schemas/Productscml/Core.php:4252 +#: src/Schemas/Productscml/Core.php:4065 src/Schemas/Productscml/Core.php:4090 +#: src/Schemas/Productscml/Core.php:4444 msgid "" "Several identical parent products were found. The first one is selected." msgstr "" "Было обнаружено несколько идентичных родительских продуктов. Выбран первый " "из найденных." -#: src/Schemas/Productscml/Core.php:3895 +#: src/Schemas/Productscml/Core.php:4069 msgid "Parent product search result by external ID from 1C." msgstr "Поиска родительского продукта по внешнему идентификатору от 1С." -#: src/Schemas/Productscml/Core.php:3910 +#: src/Schemas/Productscml/Core.php:4084 msgid "Parent product search by external algorithms." msgstr "Поиска родительского продукта по внешним алгоритмам." -#: src/Schemas/Productscml/Core.php:3920 src/Schemas/Productscml/Core.php:4271 +#: src/Schemas/Productscml/Core.php:4094 src/Schemas/Productscml/Core.php:4463 msgid "Parent product search result by external algorithms." msgstr "Результат поиска родительского продукта по внешним алгоритмам." -#: src/Schemas/Productscml/Core.php:3927 src/Schemas/Productscml/Core.php:4278 +#: src/Schemas/Productscml/Core.php:4101 src/Schemas/Productscml/Core.php:4470 msgid "Parent product is not found." msgstr "Родительский продукт не найден." -#: src/Schemas/Productscml/Core.php:3928 +#: src/Schemas/Productscml/Core.php:4102 msgid "" "Creating simple products by characteristics is disabled in the settings. " "Product create skipped." @@ -5063,7 +5456,7 @@ msgstr "" "Создание простых продуктов по характеристикам отключено в настройках. " "Создание продукта пропущено." -#: src/Schemas/Productscml/Core.php:3932 src/Schemas/Productscml/Core.php:4283 +#: src/Schemas/Productscml/Core.php:4106 src/Schemas/Productscml/Core.php:4475 msgid "" "Creating simple products by characteristics is enabled in the settings. " "Parent product is not found. Creating simple product by characteristic." @@ -5071,32 +5464,32 @@ msgstr "" "Создание простых продуктов по характеристикам включено в настройках. " "Родительский продукт не найден. Создание простого продукта по характеристике." -#: src/Schemas/Productscml/Core.php:3943 src/Schemas/Productscml/Core.php:4294 +#: src/Schemas/Productscml/Core.php:4117 src/Schemas/Productscml/Core.php:4486 msgid "Changing the parent product type to variable." msgstr "Изменение типа родительского продукта на вариативный." -#: src/Schemas/Productscml/Core.php:3950 src/Schemas/Productscml/Core.php:4301 +#: src/Schemas/Productscml/Core.php:4124 src/Schemas/Productscml/Core.php:4493 msgid "Variation is not found. Creating." msgstr "Вариация не найдена. Создание." -#: src/Schemas/Productscml/Core.php:3964 src/Schemas/Productscml/Core.php:4315 +#: src/Schemas/Productscml/Core.php:4138 src/Schemas/Productscml/Core.php:4507 msgid "The creation of the variation is completed." msgstr "Создание вариации завершено." -#: src/Schemas/Productscml/Core.php:3969 +#: src/Schemas/Productscml/Core.php:4143 msgid "The product is simple. Creating." msgstr "Продукт простой. Создание." -#: src/Schemas/Productscml/Core.php:4003 +#: src/Schemas/Productscml/Core.php:4177 msgid "" "Assignment of data for the created product according to external algorithms." msgstr "Назначение данных для созданного продукта по внешним алгоритмам." -#: src/Schemas/Productscml/Core.php:4016 +#: src/Schemas/Productscml/Core.php:4190 msgid "The product is created." msgstr "Продукт создан." -#: src/Schemas/Productscml/Core.php:4035 +#: src/Schemas/Productscml/Core.php:4209 msgid "" "Assignment of data for the created product according to external algorithms " "after saving." @@ -5104,41 +5497,46 @@ msgstr "" "Присвоение данных для созданного продукта по внешним алгоритмам после " "сохранения." -#: src/Schemas/Productscml/Core.php:4043 +#: src/Schemas/Productscml/Core.php:4217 msgid "The product has been updated using external algorithms." msgstr "Продукт был обновлен с использованием внешних алгоритмов." -#: src/Schemas/Productscml/Core.php:4054 +#: src/Schemas/Productscml/Core.php:4228 msgid "Product is found. Updating." msgstr "Продукт найден. Обновление." -#: src/Schemas/Productscml/Core.php:4061 +#: src/Schemas/Productscml/Core.php:4235 msgid "Products update is disabled in settings. Product update skipped." msgstr "" "Обновление продуктов отключено в настройках. Обновление продукта пропущено." -#: src/Schemas/Productscml/Core.php:4075 src/Schemas/Productscml/Core.php:4338 +#: src/Schemas/Productscml/Core.php:4249 src/Schemas/Productscml/Core.php:4530 msgid "The product is created from a different configuration. Update skipped." msgstr "Продукт создан на основе другой конфигурации. Обновление пропущено." -#: src/Schemas/Productscml/Core.php:4084 src/Schemas/Productscml/Core.php:4347 +#: src/Schemas/Productscml/Core.php:4258 src/Schemas/Productscml/Core.php:4539 msgid "The product is created from a different schema. Update skipped." msgstr "Продукт создан на основе другой схемы. Обновление пропущено." -#: src/Schemas/Productscml/Core.php:4098 +#: src/Schemas/Productscml/Core.php:4272 msgid "The use of products from trash is disabled. Updating skipped." msgstr "Использование продуктов из корзины отключено. Обновление пропущено." -#: src/Schemas/Productscml/Core.php:4114 +#: src/Schemas/Productscml/Core.php:4288 msgid "" "Assignment of data for the updated product according to external algorithms." msgstr "Назначение данных для обновляемого продукта по внешним алгоритмам." -#: src/Schemas/Productscml/Core.php:4127 -msgid "Product update has been successfully completed." -msgstr "Обновление продукта успешно завершено." +#: src/Schemas/Productscml/Core.php:4311 +msgid "Product is found. Product data is changed. Saving changes is completed." +msgstr "" +"Продукт найден. Данные продукта изменены. Сохранение изменений завершено." -#: src/Schemas/Productscml/Core.php:4146 +#: src/Schemas/Productscml/Core.php:4315 +msgid "Product is found. Product data is not changed. Updating is completed." +msgstr "Продукт найден. Данные продукта не изменены. Обновление завершено." + +#: src/Schemas/Productscml/Core.php:4335 msgid "" "Assignment of data for the updated product according to external algorithms " "after saving." @@ -5146,7 +5544,7 @@ msgstr "" "Назначение данных для обновляемого товара по внешним алгоритмам после " "сохранения." -#: src/Schemas/Productscml/Core.php:4154 +#: src/Schemas/Productscml/Core.php:4345 msgid "" "Product update after assigning data using external algorithms has been " "successfully completed." @@ -5154,23 +5552,23 @@ msgstr "" "Обновление продукта после присвоения данных с помощью внешних алгоритмов " "успешно завершено." -#: src/Schemas/Productscml/Core.php:4174 +#: src/Schemas/Productscml/Core.php:4366 msgid "Processing an offer from a package of offers." msgstr "Обработка предложения из пакета предложений." -#: src/Schemas/Productscml/Core.php:4208 +#: src/Schemas/Productscml/Core.php:4400 msgid "Product not found. Search by external algorithms." msgstr "Продукт не найден. Поиск по внешним алгоритмам." -#: src/Schemas/Productscml/Core.php:4226 +#: src/Schemas/Productscml/Core.php:4418 msgid "Product not found." msgstr "Продукт не найден." -#: src/Schemas/Productscml/Core.php:4248 +#: src/Schemas/Productscml/Core.php:4440 msgid "Parent product search result by external code from 1C." msgstr "Результат поиска родительского продукта по внешнему коду от 1С." -#: src/Schemas/Productscml/Core.php:4279 +#: src/Schemas/Productscml/Core.php:4471 msgid "" "Creating simple products by characteristics is disabled in the settings. " "Processing skipped." @@ -5178,78 +5576,131 @@ msgstr "" "Создание простых продуктов по характеристикам отключено в настройках. " "Обработка пропущена." -#: src/Schemas/Productscml/Core.php:4320 +#: src/Schemas/Productscml/Core.php:4512 msgid "Offer update skipped." msgstr "Обновление предложения пропущено." -#: src/Schemas/Productscml/Core.php:4408 src/Schemas/Productscml/Core.php:4413 +#: src/Schemas/Productscml/Core.php:4589 +msgid "Processing a the offers from offers package as completed." +msgstr "Обработка предложений из пакета предложений завершена." + +#: src/Schemas/Productscml/Core.php:4594 +msgid "Processing a offers package as completed." +msgstr "Обработка пакета предложений завершена." + +#: src/Schemas/Productscml/Core.php:4607 +msgid "Processing a offers package." +msgstr "Обработка пакета предложений." + +#: src/Schemas/Productscml/Core.php:4621 src/Schemas/Productscml/Core.php:4626 msgid "The offer package object contains only the changes." msgstr "Объект пакета предложений содержит только изменения." -#: src/Schemas/Productscml/Core.php:4458 +#: src/Schemas/Productscml/Core.php:4669 +msgid "Processing a the offers from offers package." +msgstr "Обработка предложений из пакета предложений." + +#: src/Schemas/Productscml/Core.php:4673 msgid "Saving the offer package to configuration meta data." msgstr "Сохранение пакета предложений в метаданные конфигурации." -#: src/Schemas/Productscml/Core.php:4484 -msgid "An exception was thrown decode the offer." -msgstr "При декодировании предложения возникло исключение." +#: src/Schemas/Productscml/Core.php:4697 +msgid "SimpleXMLElement threw an exception when converting the offer." +msgstr "" +"При преобразовании предложения в SimpleXMLElement выброшено исключение." + +#: src/Schemas/Productscml/Core.php:4707 +msgid "DecoderCML threw an exception when converting the offer." +msgstr "DecoderCML выбросил исключение при конвертации предложения." -#: src/Schemas/Productscml/Core.php:4500 +#: src/Schemas/Productscml/Core.php:4723 msgid "The offer has been changed according to external algorithms." msgstr "Предложение было изменено в соответствии с внешними алгоритмами." -#: src/Schemas/Productscml/Core.php:4505 +#: src/Schemas/Productscml/Core.php:4728 msgid "Offer !instanceof ProductDataContract. Processing skipped." msgstr "" "Предложение не является экземпляром ProductDataContract. Обработка пропущена." -#: src/Schemas/Productscml/Core.php:4524 +#: src/Schemas/Productscml/Core.php:4754 msgid "An exception was thrown while processing the offer." msgstr "При обработке предложения возникло исключение." +#: src/Schemas/Productscml/Core.php:4778 +msgid "Move on to the next offer." +msgstr "Переход к следующему предложению." + +#: src/Schemas/Productscml/Receiver.php:52 +msgid "Received new request from 1C for Receiver." +msgstr "Получен новый запрос от 1С для Получателя." + +#: src/Schemas/Productscml/Receiver.php:58 +msgid "The resulting query parameters." +msgstr "Полученные параметры запроса." + #: src/Schemas/Productscml/Receiver.php:101 msgid "Action is not found in schema." msgstr "Действие не найдено в схеме." -#: src/Schemas/Productscml/Receiver.php:114 +#: src/Schemas/Productscml/Receiver.php:115 msgid "Sending a successful completion of the exchange in 1C." msgstr "Отправка ответа об успешном завершении обмена в 1С." -#: src/Schemas/Productscml/Receiver.php:414 +#: src/Schemas/Productscml/Receiver.php:127 +msgid "The time of the last full exchange has been set." +msgstr "Установлено время последнего полного обмена." + +#: src/Schemas/Productscml/Receiver.php:320 +msgid "1C authorization has been successfully passed." +msgstr "Авторизация 1С успешно пройдена." + +#: src/Schemas/Productscml/Receiver.php:427 msgid "PHP session none, restart last PHP session." msgstr "Сессия PHP отсутствует, восстановление последней сессии PHP." -#: src/Schemas/Productscml/Receiver.php:457 +#: src/Schemas/Productscml/Receiver.php:449 +msgid "Cleaning the directory for temporary files as completed." +msgstr "Очистка каталога для временных файлов завершена." + +#: src/Schemas/Productscml/Receiver.php:453 +msgid "Cleaning the directory for temporary files as failed." +msgstr "Очистка каталога для временных файлов не удалась." + +#: src/Schemas/Productscml/Receiver.php:472 msgid "Session for receiving requests is changed by external algorithms." msgstr "Сессия для приема запросов изменена внешними алгоритмами." -#: src/Schemas/Productscml/Receiver.php:461 +#: src/Schemas/Productscml/Receiver.php:477 msgid "Check the directory for temporary files." msgstr "Проверка каталога для временных файлов." -#: src/Schemas/Productscml/Receiver.php:467 +#: src/Schemas/Productscml/Receiver.php:483 msgid "Failed to check the temp directory." msgstr "Не удалось проверить временный каталог для файлов." -#: src/Schemas/Productscml/Receiver.php:622 +#: src/Schemas/Productscml/Receiver.php:585 +msgid "Writing data to a file named:" +msgstr "Запись данных в файл с именем:" + +#: src/Schemas/Productscml/Receiver.php:641 msgid "" "The file was not saved to the media library. Adding is disabled in the " "settings." msgstr "Файл не был сохранен в медиатеке. Добавление отключено в настройках." -#: src/Schemas/Productscml/Receiver.php:671 +#: src/Schemas/Productscml/Receiver.php:697 msgid "No name" msgstr "Без имени" -#: src/Schemas/Productscml/Receiver.php:688 +#: src/Schemas/Productscml/Receiver.php:719 msgid "The image has not been added to the media library." msgstr "Изображение не было добавлено в медиатеку." -#: src/Schemas/Productscml/Receiver.php:692 +#: src/Schemas/Productscml/Receiver.php:723 msgid "Image added to media library, id:" msgstr "Изображение добавлено в медиатеку, идентификатор:" -#: src/Schemas/Productscml/Receiver.php:700 +#: src/Schemas/Productscml/Receiver.php:731 msgid "" "The image has not been added to the media library. It was added earlier, id:" msgstr "" @@ -5660,19 +6111,19 @@ msgstr "Получение кода" msgid "The code can be obtained from the plugin website." msgstr "Код можно получить на сайте плагина." -#: views/activation/form.php:34 views/configurations/create_form.php:40 +#: views/activation/form.php:34 views/configurations/create_form.php:39 msgid "Site:" msgstr "Сайт:" -#: views/activation/form.php:38 views/promo/activation.php:61 +#: views/activation/form.php:38 views/promo/activation.php:63 msgid "No financial opportunity?" msgstr "Нет финансовой возможности?" -#: views/activation/form.php:39 views/promo/activation.php:62 +#: views/activation/form.php:39 views/promo/activation.php:64 msgid "Take part in the development of the solution you use." msgstr "Примите участие в разработке решения, которое вы используете." -#: views/activation/form.php:41 views/promo/activation.php:64 +#: views/activation/form.php:41 views/promo/activation.php:66 msgid "" "Information on how to participate is available in the official documentation " "on the official website." @@ -5680,15 +6131,15 @@ msgstr "" "Информация о том, как принять участие, доступна в официальной документации " "на официальном сайте." -#: views/activation/form.php:43 views/promo/activation.php:66 +#: views/activation/form.php:43 views/promo/activation.php:68 msgid "Docs:" msgstr "Документация:" -#: views/activation/form.php:47 views/promo/activation.php:70 +#: views/activation/form.php:47 views/promo/activation.php:72 msgid "Every activation counts!" msgstr "Каждая активация имеет значение!" -#: views/activation/form.php:48 views/promo/activation.php:71 +#: views/activation/form.php:48 views/promo/activation.php:73 msgid "" "By activating your project, you let the WC1C team know that the plugin is in " "active use." @@ -5696,7 +6147,7 @@ msgstr "" "Активируя свой проект, вы сообщаете команде WC1C, что плагин активно " "используется." -#: views/activation/form.php:50 views/promo/activation.php:73 +#: views/activation/form.php:50 views/promo/activation.php:75 msgid "" "Also, you give a financial opportunity to release compatibility updates and " "add new features!" @@ -5721,14 +6172,10 @@ msgid "Create configuration" msgstr "Создать конфигурацию" #: views/configurations/create_form.php:35 -msgid "More schemas for configurations" -msgstr "Больше схем для конфигураций" - -#: views/configurations/create_form.php:36 msgid "Additional schemes are available in extensions on the official website." msgstr "Дополнительные схемы доступны в расширениях на официальном сайте." -#: views/configurations/create_form.php:38 +#: views/configurations/create_form.php:37 msgid "" "Each exchange scheme has a unique algorithm of operation and purpose. You " "need to choose only the scheme you need." @@ -5756,15 +6203,45 @@ msgstr "Ошибка. Удаление недоступно" msgid "Delete" msgstr "Удалить" -#: views/configurations/empty.php:7 +#: views/configurations/empty.php:8 +msgid "" +"To exchange data, at least one configuration must be created and configured." +msgstr "" +"Для обмена данными необходимо создать и настроить хотя бы одну конфигурацию." + +#: views/configurations/empty.php:9 +msgid "" +"The number of settings and method of data exchange in the configuration " +"depends on the scheme selected for exchange during creation." +msgstr "" +"Количество настроек и способ обмена данными в конфигурации зависит от схемы, " +"выбранной для обмена при создании." + +#: views/configurations/empty.php:22 msgid "Configurations by query is not found, query:" msgstr "Конфигурации по запросу не найдены, запрос:" -#: views/configurations/empty.php:11 -msgid "Configurations not found." -msgstr "Конфигурации не найдены." +#: views/configurations/empty.php:26 +msgid "Configurations not found" +msgstr "Конфигурации не найдены" -#: views/configurations/empty.php:16 views/header.php:6 +#: views/configurations/empty.php:36 +msgid "" +"For flexible exchange distribution, an unlimited number of configurations " +"can be created." +msgstr "" +"Для гибкого распределения обмена можно создать неограниченное количество " +"конфигураций." + +#: views/configurations/empty.php:37 +msgid "" +"It is recommended to create at least two configurations: 1. To exchange " +"nomenclature data, 2. To exchange orders data." +msgstr "" +"Рекомендуется создать не менее двух конфигураций: 1. Для обмена " +"номенклатурными данными, 2. Для обмена данными о заказах." + +#: views/configurations/empty.php:40 views/header.php:6 msgid "New configuration" msgstr "Новая конфигурация" @@ -5788,7 +6265,7 @@ msgstr "Сохранить конфигурацию" msgid "Warning" msgstr "Предупреждение" -#: views/configurations/update_schema_error.php:5 +#: views/configurations/update_schema_error.php:6 msgid "Update is not available." msgstr "Обновление не доступно." @@ -5997,11 +6474,11 @@ msgstr "" msgid "Documentation" msgstr "Документация" -#: views/promo/activation.php:6 +#: views/promo/activation.php:8 msgid "Your copy of the free software has not been activated." msgstr "Ваша копия бесплатного программного обеспечения не активирована." -#: views/promo/activation.php:7 +#: views/promo/activation.php:9 msgid "" "We recommend that you activate your copy of the free software for stable " "updates and better performance." @@ -6010,16 +6487,16 @@ msgstr "" "обеспечения для получения стабильных обновлений и повышения " "производительности." -#: views/promo/activation.php:8 +#: views/promo/activation.php:10 msgid "" "After activation, this section will disappear and will no longer be shown." msgstr "После активации этот раздел исчезнет и больше не будет отображаться." -#: views/promo/activation.php:19 +#: views/promo/activation.php:22 msgid "How to activate?" msgstr "Как активировать?" -#: views/promo/activation.php:21 +#: views/promo/activation.php:24 msgid "" "Get an activation code in any available way. For example, on the official " "website." @@ -6027,15 +6504,15 @@ msgstr "" "Получить код активации любым доступным способом. Например, на официальном " "сайте." -#: views/promo/activation.php:22 +#: views/promo/activation.php:25 msgid "Enter the activation code in the plugin settings." msgstr "Ввести полученный код активации в настройках плагина." -#: views/promo/activation.php:27 +#: views/promo/activation.php:30 msgid "Why is activation required?" msgstr "Зачем нужна активация?" -#: views/promo/activation.php:29 +#: views/promo/activation.php:32 msgid "" "You received a copy of the software completely free of charge and you can " "use it as is without any activation." @@ -6043,7 +6520,7 @@ msgstr "" "Вы получили копию программного обеспечения совершенно бесплатно и можете " "использовать плагин как есть без какой-либо активации." -#: views/promo/activation.php:30 +#: views/promo/activation.php:33 msgid "" "However, in order to receive timely, as well as necessary updates and " "improvements, it is necessary to activate the current environment." @@ -6051,7 +6528,7 @@ msgstr "" "Однако для получения своевременных, а также необходимых обновлений и " "улучшений необходимо активировать текущую среду." -#: views/promo/activation.php:33 +#: views/promo/activation.php:36 msgid "" "Activation is vital for the performance of the plugin and its further active " "development. Dont ignore activation." @@ -6059,13 +6536,13 @@ msgstr "" "Активация необходима для работоспособности плагина и его дальнейшего " "активного развития. Не игнорируйте активацию." -#: views/promo/activation.php:34 +#: views/promo/activation.php:37 msgid "Each activation triggers a mechanism to improve the software you use." msgstr "" "Каждая активация запускает механизм улучшения используемого вами " "программного обеспечения." -#: views/promo/activation.php:37 +#: views/promo/activation.php:40 msgid "" "In addition to supporting the software you use, additional features will be " "added." @@ -6073,11 +6550,11 @@ msgstr "" "Помимо поддержки используемого вами программного обеспечения, будут " "добавлены дополнительные функции." -#: views/promo/activation.php:40 +#: views/promo/activation.php:43 msgid "ATTENTION! Activation does not add the possibility of extensions." msgstr "ВНИМАНИЕ! Активация не добавляет возможности расширений." -#: views/promo/activation.php:42 +#: views/promo/activation.php:45 msgid "" "Additional features are implemented in extensions! After activation, " "features from extensions are not activated." @@ -6085,7 +6562,7 @@ msgstr "" "Дополнительные возможности реализованы в расширениях! После активации " "функции из расширений не активируются." -#: views/promo/activation.php:43 +#: views/promo/activation.php:46 msgid "" "To add features, you need to install extensions. They are supplied by " "separate plugins, after activation of which the necessary features are added." @@ -6094,15 +6571,15 @@ msgstr "" "отдельными плагинами, после активации которых добавляются необходимые " "функции." -#: views/promo/activation.php:54 +#: views/promo/activation.php:56 msgid "Do not wait until something breaks!" msgstr "Не ждите, пока что-нибудь сломается!" -#: views/promo/activation.php:55 +#: views/promo/activation.php:57 msgid "Activate your current copy of the software." msgstr "Активируйте вашу текущую копию программного обеспечения." -#: views/promo/activation.php:57 +#: views/promo/activation.php:59 msgid "Buy code:" msgstr "Купить код:" @@ -6146,6 +6623,10 @@ msgstr "Инструменты не найдены." msgid "As soon as the tools are installed, they will appear in this section." msgstr "Как только инструменты будут установлены, они появятся в этом разделе." +#: views/tools/item.php:14 +msgid "Open tool" +msgstr "Открыть инструмент" + #: views/wizards/error.php:3 msgid "Error. Step not found or unavailable." msgstr "Ошибка. Шаг не найден или не доступен." @@ -6238,11 +6719,11 @@ msgstr "https://wordpress.org/plugins/wc1c-main/" #. Description of the plugin/theme msgid "" -"Implementation of a mechanism for flexible exchange of various data between " -"1C products and the WooCommerce plugin." +"Implementing a flexible mechanism for exchanging various data between 1C " +"Company products and the WooCommerce plugin." msgstr "" -"Реализация механизма гибкого обмена различными данными между продуктами 1С и " -"плагином WooCommerce." +"Реализация гибкого механизма обмена различными данными между продуктами " +"фирмы 1С и плагином WooCommerce." #. Author of the plugin/theme msgid "WC1C team" @@ -6252,6 +6733,70 @@ msgstr "Команда WC1C" msgid "https://wc1c.info" msgstr "https://wc1c.info" +#~ msgid "Product update has been successfully completed." +#~ msgstr "Обновление продукта успешно завершено." + +#~ msgid "Classifier processing." +#~ msgstr "Обработка классификатора." + +#~ msgid "" +#~ "All events of the selected level will be recorded the Receiver events in " +#~ "the log file. The higher the level, the less data is recorded." +#~ msgstr "" +#~ "Все события выбранного уровня будут записаны как события приемника в файл " +#~ "журнала. Чем выше уровень, тем меньше данных записывается." + +#~ msgid "" +#~ "It is convenient to use for debugging missing requests from 1C to the " +#~ "site in case need to understand on which side there is a problem with the " +#~ "connection." +#~ msgstr "" +#~ "Его удобно использовать для отладки пропавших запросов от 1С к сайту в " +#~ "случае, если нужно понять, на какой стороне есть проблема с соединением." + +#~ msgid "More schemas for configurations" +#~ msgstr "Больше схем для конфигураций" + +#~ msgid "The SKU assignment for the product has been successfully completed." +#~ msgstr "Назначение артикула для продукта успешно выполнено." + +#~ msgid "An exception was thrown decode the offer." +#~ msgstr "При декодировании предложения возникло исключение." + +#~ msgid "Product images assign completed successfully." +#~ msgstr "Назначение изображений продукта успешно завершено." + +#~ msgid "Create configuration error. Name exists." +#~ msgstr "Ошибка создания конфигурации. Наименование существует." + +#~ msgid "Deleting error. Please retry again." +#~ msgstr "Ошибка при удалении. Пожалуйста, попробуйте еще раз." + +#~ msgid "Deleting error. Please retry." +#~ msgstr "Ошибка удаления. Пожалуйста повторите." + +#~ msgid "Login" +#~ msgstr "Логин" + +#~ msgid "Save success." +#~ msgstr "Успешное сохранение." + +#~ msgid "Timer is not loaded." +#~ msgstr "Таймер не загружен." + +#~ msgid "Init extension exception:" +#~ msgstr "Исключение инициализации расширения:" + +#~ msgid "" +#~ "All events of the selected level will be recorded the schemas events in " +#~ "the log file. The higher the level, the less data is recorded." +#~ msgstr "" +#~ "Все события выбранного уровня будут записаны как события схемам в файл " +#~ "журнала. Чем выше уровень, тем меньше данных записывается." + +#~ msgid "in" +#~ msgstr "в" + #~ msgid "" #~ "The extended state is required for users, while this token is used for " #~ "technical purposes." diff --git a/assets/languages/wc1c-main.pot b/assets/languages/wc1c-main.pot index 92e77caf..8cf1d230 100644 --- a/assets/languages/wc1c-main.pot +++ b/assets/languages/wc1c-main.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "Project-Id-Version: WC1C\n" -"POT-Creation-Date: 2023-08-14 12:47+0300\n" +"POT-Creation-Date: 2024-04-18 05:40+0300\n" "PO-Revision-Date: 2022-12-16 23:34+0300\n" "Last-Translator: \n" "Language-Team: \n" @@ -29,8 +29,8 @@ msgstr "" #: src/Activation.php:28 msgid "" -"The basic plugin setup has not been done yet, so you can proceed to the " -"setup, which takes no more than 5 minutes." +"The basic plugin setup has not been done yet, so can proceed to the setup, " +"which takes no more than 5 minutes." msgstr "" #: src/Activation.php:30 @@ -41,16 +41,16 @@ msgstr "" msgid "Integration with 1C" msgstr "" -#: src/Admin.php:121 src/Admin/Settings/LogsForm.php:133 +#: src/Admin.php:121 src/Admin/Settings/LogsForm.php:152 #: src/Admin/Settings/MainForm.php:43 msgid "Configurations" msgstr "" -#: src/Admin.php:128 src/Admin/Settings/LogsForm.php:99 +#: src/Admin.php:128 src/Admin/Settings/LogsForm.php:108 msgid "Tools" msgstr "" -#: src/Admin.php:137 +#: src/Admin.php:137 src/Admin/Configurations/Update.php:35 msgid "Settings" msgstr "" @@ -83,7 +83,7 @@ msgid "not activated" msgstr "" #: src/Admin/Columns/WooCommerce/Categories.php:38 -#: src/Admin/Columns/WooCommerce/Orders.php:38 +#: src/Admin/Columns/WooCommerce/Orders.php:40 #: src/Admin/Columns/WooCommerce/Products.php:38 #: src/Admin/Columns/WordPress/MediaLibrary.php:38 msgid "1C information" @@ -98,19 +98,20 @@ msgid "Configuration ID: " msgstr "" #: src/Admin/Columns/WooCommerce/Categories.php:90 -#: src/Admin/Columns/WooCommerce/Orders.php:63 +#: src/Admin/Columns/WooCommerce/Orders.php:67 +#: src/Admin/Columns/WooCommerce/Orders.php:93 #: src/Admin/Columns/WooCommerce/Products.php:63 #: src/Admin/Columns/WordPress/MediaLibrary.php:63 msgid "Not found" msgstr "" -#: src/Admin/Columns/WooCommerce/Orders.php:85 +#: src/Admin/Columns/WooCommerce/Orders.php:115 #: src/Admin/Columns/WooCommerce/Products.php:85 #: src/Admin/Columns/WordPress/MediaLibrary.php:85 msgid "Activity:" msgstr "" -#: src/Admin/Columns/WooCommerce/Orders.php:86 +#: src/Admin/Columns/WooCommerce/Orders.php:116 #: src/Admin/Columns/WooCommerce/Products.php:86 #: src/Admin/Columns/WordPress/MediaLibrary.php:86 #, php-format @@ -118,14 +119,14 @@ msgctxt "%s = human-readable time difference" msgid "%s ago." msgstr "" -#: src/Admin/Columns/WooCommerce/Orders.php:92 +#: src/Admin/Columns/WooCommerce/Orders.php:122 #: src/Admin/Columns/WooCommerce/Products.php:92 #: src/Admin/Columns/WordPress/MediaLibrary.php:92 -#: src/Admin/Configurations/MainUpdate.php:144 +#: src/Admin/Configurations/MainUpdate.php:146 msgid "Schema ID:" msgstr "" -#: src/Admin/Columns/WooCommerce/Orders.php:97 +#: src/Admin/Columns/WooCommerce/Orders.php:127 #: src/Admin/Columns/WooCommerce/Products.php:97 #: src/Admin/Columns/WordPress/MediaLibrary.php:97 msgid "Configuration ID:" @@ -146,7 +147,7 @@ msgid "No activity" msgstr "" #: src/Admin/Configurations/AllTable.php:144 -msgid "An initial setup is required." +msgid "An initial configuration setup is required." msgstr "" #: src/Admin/Configurations/AllTable.php:149 @@ -154,25 +155,32 @@ msgid "All configuration algorithms are active." msgstr "" #: src/Admin/Configurations/AllTable.php:154 -msgid "All configuration algorithms are disabled." +msgid "" +"All configuration algorithms are disabled. Configuration is switched off in " +"the settings." msgstr "" #: src/Admin/Configurations/AllTable.php:159 -msgid "Data is being exchanged. Changing settings is not recommended." +msgid "" +"Data is being exchanged. Changing configuration settings is not recommended." msgstr "" #: src/Admin/Configurations/AllTable.php:164 msgid "" -"An error has occurred. You need to look at the event logs, they contain " -"detailed information." +"An error has occurred. Should review the event logs for the configuration, " +"they contain detailed information about the error." msgstr "" #: src/Admin/Configurations/AllTable.php:169 -msgid "Awaiting final removal. All algorithms are disabled." +msgid "Awaiting final configuration removal. All algorithms are disabled." +msgstr "" + +#: src/Admin/Configurations/AllTable.php:172 +msgid "Status description" msgstr "" -#: src/Admin/Configurations/AllTable.php:195 views/tools/item.php:14 -msgid "Open" +#: src/Admin/Configurations/AllTable.php:195 +msgid "Open configuration" msgstr "" #: src/Admin/Configurations/AllTable.php:196 @@ -184,12 +192,12 @@ msgid "Remove forever" msgstr "" #: src/Admin/Configurations/AllTable.php:214 -msgid "User: " +#: src/Admin/Configurations/AllTable.php:218 +msgid "User:" msgstr "" #: src/Admin/Configurations/AllTable.php:218 -#: src/Admin/Configurations/MainUpdate.php:160 -msgid "User is not exists." +msgid "user is not exists." msgstr "" #: src/Admin/Configurations/AllTable.php:224 @@ -209,7 +217,7 @@ msgid "%s ago" msgstr "" #: src/Admin/Configurations/AllTable.php:240 -msgid "in" +msgid "at" msgstr "" #: src/Admin/Configurations/AllTable.php:250 @@ -229,7 +237,7 @@ msgid "Base information" msgstr "" #: src/Admin/Configurations/AllTable.php:311 -#: src/Admin/Configurations/MainUpdate.php:148 +#: src/Admin/Configurations/MainUpdate.php:150 #: src/Admin/Configurations/UpdateForm.php:42 #: src/Admin/Settings/ActivationForm.php:159 msgid "Status" @@ -252,88 +260,100 @@ msgid "Search" msgstr "" #: src/Admin/Configurations/CreateForm.php:42 -#: src/Admin/Configurations/Update.php:136 -msgid "Configuration name" +msgid "Name of the configuration" msgstr "" -#: src/Admin/Configurations/CreateForm.php:44 +#: src/Admin/Configurations/CreateForm.php:47 msgid "Enter any data up to 255 characters." msgstr "" -#: src/Admin/Configurations/CreateForm.php:72 +#: src/Admin/Configurations/CreateForm.php:48 +msgid "" +"The name is used to quickly distinguish between multiple configurations that " +"have been created." +msgstr "" + +#: src/Admin/Configurations/CreateForm.php:49 +msgid "" +"Some examples: 1. Exchange data on products, 2. Exchange data on orders, 3. " +"Update prices and stocks, etc." +msgstr "" + +#: src/Admin/Configurations/CreateForm.php:78 msgid "Configuration schema" msgstr "" -#: src/Admin/Configurations/CreateForm.php:137 +#: src/Admin/Configurations/CreateForm.php:143 msgid "Identifier:" msgstr "" #: src/Admin/Configurations/CreateForm.php:187 -msgid "Configuration create error. Please retry." +msgid "Configuration creating error. Please retry." msgstr "" -#: src/Admin/Configurations/CreateForm.php:227 -msgid "Configuration create error. Name is required." +#: src/Admin/Configurations/CreateForm.php:235 +msgid "Configuration creating error. Name is required." msgstr "" -#: src/Admin/Configurations/CreateForm.php:240 -msgid "Configuration create error. Schema is required." +#: src/Admin/Configurations/CreateForm.php:252 +msgid "Configuration creating error. Schema select is required." msgstr "" -#: src/Admin/Configurations/CreateForm.php:257 -msgid "Configuration create error. Name is exists." +#: src/Admin/Configurations/CreateForm.php:273 +msgid "Configuration creating error. Name is exists." msgstr "" -#: src/Admin/Configurations/CreateForm.php:274 -msgid "Configuration create success. Configuration id: " +#: src/Admin/Configurations/CreateForm.php:294 +msgid "Configuration creating is complete. Configuration ID:" msgstr "" -#: src/Admin/Configurations/CreateForm.php:275 +#: src/Admin/Configurations/CreateForm.php:300 msgid "edit configuration" msgstr "" -#: src/Admin/Configurations/CreateForm.php:287 -msgid "Configuration create error. Please retry saving or change fields." +#: src/Admin/Configurations/CreateForm.php:310 +msgid "Configuration creating error. Please try saving again or change fields." msgstr "" -#: src/Admin/Configurations/Delete.php:55 +#: src/Admin/Configurations/Delete.php:56 msgid "Error. The configuration to be deleted is active and cannot be deleted." msgstr "" -#: src/Admin/Configurations/Delete.php:108 +#: src/Admin/Configurations/Delete.php:109 msgid "The configuration has been marked as deleted." msgstr "" -#: src/Admin/Configurations/Delete.php:118 +#: src/Admin/Configurations/Delete.php:119 msgid "The configuration has been successfully deleted." msgstr "" -#: src/Admin/Configurations/Delete.php:125 -msgid "Deleting error. Please retry again." +#: src/Admin/Configurations/Delete.php:126 +msgid "Configuration deleting error. Please retry again." msgstr "" -#: src/Admin/Configurations/DeleteForm.php:38 +#: src/Admin/Configurations/DeleteForm.php:37 msgid "Delete confirmation" msgstr "" -#: src/Admin/Configurations/DeleteForm.php:42 +#: src/Admin/Configurations/DeleteForm.php:41 msgid "" "I confirm that Configuration will be permanently and irrevocably deleted " "from WooCommerce." msgstr "" -#: src/Admin/Configurations/DeleteForm.php:43 +#: src/Admin/Configurations/DeleteForm.php:42 msgid "" "The directory with files for configuration from the FILE system will be " "completely removed." msgstr "" -#: src/Admin/Configurations/DeleteForm.php:84 -msgid "Delete error. Please retry." +#: src/Admin/Configurations/DeleteForm.php:77 +msgid "Configuration deleting error. Please retry." msgstr "" -#: src/Admin/Configurations/DeleteForm.php:126 -msgid "Delete error. Confirmation of final deletion is required." +#: src/Admin/Configurations/DeleteForm.php:125 +msgid "" +"Configuration deleting error. Confirmation of final deletion is required." msgstr "" #: src/Admin/Configurations/MainUpdate.php:74 @@ -344,108 +364,112 @@ msgstr "" msgid "Configuration update error. Please retry saving or change fields." msgstr "" -#: src/Admin/Configurations/MainUpdate.php:110 +#: src/Admin/Configurations/MainUpdate.php:112 msgid "Debug is enabled!" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:112 +#: src/Admin/Configurations/MainUpdate.php:114 msgid "" "The current configuration has debug mode enabled. You must disable this mode " "after debugging is complete." msgstr "" -#: src/Admin/Configurations/MainUpdate.php:121 +#: src/Admin/Configurations/MainUpdate.php:123 msgid "Info is enabled!" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:123 +#: src/Admin/Configurations/MainUpdate.php:125 msgid "" "The extended information recording mode is enabled for the current " "configuration. It is recommended to disable this mode after debugging is " "complete." msgstr "" -#: src/Admin/Configurations/MainUpdate.php:135 +#: src/Admin/Configurations/MainUpdate.php:137 msgid "About configuration" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:141 views/extensions/item.php:20 +#: src/Admin/Configurations/MainUpdate.php:143 views/extensions/item.php:20 msgid "ID:" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:156 +#: src/Admin/Configurations/MainUpdate.php:158 msgid "Owner:" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:165 +#: src/Admin/Configurations/MainUpdate.php:162 +msgid "User is not exists." +msgstr "" + +#: src/Admin/Configurations/MainUpdate.php:167 msgid "Date active:" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:169 -#: src/Admin/Configurations/MainUpdate.php:179 -#: src/Admin/Configurations/MainUpdate.php:188 +#: src/Admin/Configurations/MainUpdate.php:171 +#: src/Admin/Configurations/MainUpdate.php:181 +#: src/Admin/Configurations/MainUpdate.php:190 #, php-format msgctxt "%s = human-readable time difference" msgid " (%s ago)." msgstr "" -#: src/Admin/Configurations/MainUpdate.php:175 +#: src/Admin/Configurations/MainUpdate.php:177 msgid "Date create:" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:184 +#: src/Admin/Configurations/MainUpdate.php:186 msgid "Date modify:" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:194 +#: src/Admin/Configurations/MainUpdate.php:196 msgid "Directory:" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:206 +#: src/Admin/Configurations/MainUpdate.php:208 msgid "Directory size:" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:218 +#: src/Admin/Configurations/MainUpdate.php:220 msgid "Logs directory size:" msgstr "" -#: src/Admin/Configurations/MainUpdate.php:233 +#: src/Admin/Configurations/MainUpdate.php:235 msgid "About schema" msgstr "" -#: src/Admin/Configurations/Update.php:35 src/Admin/Settings.php:48 -msgid "Main" -msgstr "" - #: src/Admin/Configurations/Update.php:42 msgid "Logs" msgstr "" #: src/Admin/Configurations/Update.php:93 msgid "" -"The exchange scheme on the basis of which created configuration is " -"unavailable ." +"The exchange schema based on which the configuration was created is not " +"available." msgstr "" #: src/Admin/Configurations/Update.php:95 msgid "" "Install the missing schema to work this configuration, change the status and " -"name, or delete the configuration." +"name or delete the configuration." +msgstr "" + +#: src/Admin/Configurations/Update.php:136 +msgid "Configuration name" msgstr "" #: src/Admin/Configurations/Update.php:138 msgid "Used for convenient distribution of multiple configurations." msgstr "" -#: src/Admin/Configurations/Update.php:141 +#: src/Admin/Configurations/Update.php:142 msgid "Rename" msgstr "" -#: src/Admin/Configurations/Update.php:170 +#: src/Admin/Configurations/Update.php:171 msgid "Configuration name update success." msgstr "" -#: src/Admin/Configurations/Update.php:180 +#: src/Admin/Configurations/Update.php:181 msgid "Configuration name update error. Please retry saving or change fields." msgstr "" @@ -480,8 +504,12 @@ msgstr "" msgid "Not a feature?" msgstr "" +#: src/Admin/Settings.php:48 +msgid "Main" +msgstr "" + #: src/Admin/Settings.php:62 src/Schemas/Productscleanercml/Admin.php:291 -#: src/Schemas/Productscml/Admin.php:1909 +#: src/Schemas/Productscml/Admin.php:1997 msgid "Event logs" msgstr "" @@ -493,7 +521,7 @@ msgstr "" msgid "Connection to the WC1C" msgstr "" -#: src/Admin/Settings/ActivationForm.php:50 src/Admin/Settings/Form.php:75 +#: src/Admin/Settings/ActivationForm.php:50 msgid "Save error. Please retry." msgstr "" @@ -541,57 +569,67 @@ msgstr "" msgid "Activate" msgstr "" -#: src/Admin/Settings/ConnectionForm.php:106 +#: src/Admin/Settings/ConnectionForm.php:107 #, php-format msgid "" "The user with the login %s on the site %s successfully connected to the " "current site." msgstr "" -#: src/Admin/Settings/ConnectionForm.php:128 +#: src/Admin/Settings/ConnectionForm.php:129 #, php-format msgid "" "Error connecting user with login %s on site %s to the current site. Please " "try again later." msgstr "" -#: src/Admin/Settings/ConnectionForm.php:160 +#: src/Admin/Settings/ConnectionForm.php:161 msgid "Connection error. Please retry." msgstr "" -#: src/Admin/Settings/ConnectionForm.php:182 +#: src/Admin/Settings/ConnectionForm.php:183 msgid "Disconnect successful. Reconnect is available" msgstr "" -#: src/Admin/Settings/ConnectionForm.php:208 +#: src/Admin/Settings/ConnectionForm.php:209 msgid "Site is connected to WC1C" msgstr "" -#: src/Admin/Settings/ConnectionForm.php:210 +#: src/Admin/Settings/ConnectionForm.php:211 msgid "To create a new connection, need to disconnect the current connection." msgstr "" -#: src/Admin/Settings/ConnectionForm.php:215 -msgid "Login" +#: src/Admin/Settings/ConnectionForm.php:216 +#: src/Schemas/Productscleanercml/Admin.php:95 +#: src/Schemas/Productscml/Admin.php:98 +msgid "Username" msgstr "" -#: src/Admin/Settings/ConnectionForm.php:217 +#: src/Admin/Settings/ConnectionForm.php:218 msgid "Connected login from the WC1C website." msgstr "" -#: src/Admin/Settings/ConnectionForm.php:225 +#: src/Admin/Settings/ConnectionForm.php:226 msgid "App token" msgstr "" -#: src/Admin/Settings/ConnectionForm.php:227 +#: src/Admin/Settings/ConnectionForm.php:228 msgid "" "The current application token for the user. This token can be revoked in " "your personal account on the WC1C website, as well as by clicking the " "Disconnect button." msgstr "" -#: src/Admin/Settings/Form.php:130 -msgid "Save success." +#: src/Admin/Settings/Form.php:69 +msgid "Saving settings." +msgstr "" + +#: src/Admin/Settings/Form.php:71 +msgid "The settings have not been saved." +msgstr "" + +#: src/Admin/Settings/Form.php:138 +msgid "The settings have been successfully saved." msgstr "" #: src/Admin/Settings/InterfaceForm.php:40 @@ -693,72 +731,115 @@ msgstr "" msgid "Level for main events" msgstr "" -#: src/Admin/Settings/LogsForm.php:43 -#: src/Schemas/Productscleanercml/Admin.php:300 -#: src/Schemas/Productscml/Admin.php:1918 +#: src/Admin/Settings/LogsForm.php:46 msgid "" -"All events of the selected level will be recorded in the log file. The " -"higher the level, the less data is recorded." +"Events of the selected level will be recorded in the log file. The bigger " +"the level (numbers), the less data is recorded." +msgstr "" + +#: src/Admin/Settings/LogsForm.php:47 +msgid "" +"If the plugin is stable, you will need to use at least the NOTICE level " +"(250), otherwise the event logs will become very large." msgstr "" -#: src/Admin/Settings/LogsForm.php:47 src/Admin/Settings/LogsForm.php:89 -#: src/Admin/Settings/LogsForm.php:106 src/Admin/Settings/LogsForm.php:123 -#: src/Admin/Settings/LogsForm.php:140 +#: src/Admin/Settings/LogsForm.php:48 src/Admin/Settings/LogsForm.php:63 +#: src/Admin/Settings/LogsForm.php:120 src/Admin/Settings/LogsForm.php:142 +#: src/Admin/Settings/LogsForm.php:164 #: src/Schemas/Productscleanercml/Admin.php:305 -#: src/Schemas/Productscml/Admin.php:1923 +#: src/Schemas/Productscml/Admin.php:2011 msgid "DEBUG (100)" msgstr "" -#: src/Admin/Settings/LogsForm.php:48 src/Admin/Settings/LogsForm.php:90 -#: src/Admin/Settings/LogsForm.php:107 src/Admin/Settings/LogsForm.php:124 -#: src/Admin/Settings/LogsForm.php:141 +#: src/Admin/Settings/LogsForm.php:49 +msgid "" +"Data from the algorithm development process with debugging information. It " +"is used by administrators in case of some unclear errors in the process of " +"plugin operation." +msgstr "" + +#: src/Admin/Settings/LogsForm.php:50 src/Admin/Settings/LogsForm.php:64 +#: src/Admin/Settings/LogsForm.php:121 src/Admin/Settings/LogsForm.php:143 +#: src/Admin/Settings/LogsForm.php:165 #: src/Schemas/Productscleanercml/Admin.php:306 -#: src/Schemas/Productscml/Admin.php:1924 +#: src/Schemas/Productscml/Admin.php:2012 msgid "INFO (200)" msgstr "" -#: src/Admin/Settings/LogsForm.php:49 src/Admin/Settings/LogsForm.php:91 -#: src/Admin/Settings/LogsForm.php:108 src/Admin/Settings/LogsForm.php:125 -#: src/Admin/Settings/LogsForm.php:142 +#: src/Admin/Settings/LogsForm.php:51 +msgid "" +"Data from the algorithm development process, but without debugging " +"information. In this mode, less data is written than in debugging mode, but " +"still a lot." +msgstr "" + +#: src/Admin/Settings/LogsForm.php:52 src/Admin/Settings/LogsForm.php:65 +#: src/Admin/Settings/LogsForm.php:122 src/Admin/Settings/LogsForm.php:144 +#: src/Admin/Settings/LogsForm.php:166 #: src/Schemas/Productscleanercml/Admin.php:307 -#: src/Schemas/Productscml/Admin.php:1925 +#: src/Schemas/Productscml/Admin.php:2013 msgid "NOTICE (250)" msgstr "" -#: src/Admin/Settings/LogsForm.php:50 src/Admin/Settings/LogsForm.php:92 -#: src/Admin/Settings/LogsForm.php:109 src/Admin/Settings/LogsForm.php:126 -#: src/Admin/Settings/LogsForm.php:143 +#: src/Admin/Settings/LogsForm.php:53 +msgid "" +"This mode records events that notify of situations that you need to be aware " +"of. For example, when changing settings or renaming a product during data " +"exchange." +msgstr "" + +#: src/Admin/Settings/LogsForm.php:54 src/Admin/Settings/LogsForm.php:66 +#: src/Admin/Settings/LogsForm.php:123 src/Admin/Settings/LogsForm.php:145 +#: src/Admin/Settings/LogsForm.php:167 #: src/Schemas/Productscleanercml/Admin.php:308 -#: src/Schemas/Productscml/Admin.php:1926 +#: src/Schemas/Productscml/Admin.php:2014 msgid "WARNING (300)" msgstr "" -#: src/Admin/Settings/LogsForm.php:51 src/Admin/Settings/LogsForm.php:93 -#: src/Admin/Settings/LogsForm.php:110 src/Admin/Settings/LogsForm.php:127 -#: src/Admin/Settings/LogsForm.php:144 +#: src/Admin/Settings/LogsForm.php:55 +msgid "" +"Recording warnings that occur during operation. Warnings are worth " +"investigating and taking into account, but they are not errors." +msgstr "" + +#: src/Admin/Settings/LogsForm.php:56 src/Admin/Settings/LogsForm.php:67 +#: src/Admin/Settings/LogsForm.php:124 src/Admin/Settings/LogsForm.php:146 +#: src/Admin/Settings/LogsForm.php:168 #: src/Schemas/Productscleanercml/Admin.php:309 -#: src/Schemas/Productscml/Admin.php:1927 +#: src/Schemas/Productscml/Admin.php:2015 msgid "ERROR (400)" msgstr "" #: src/Admin/Settings/LogsForm.php:57 +msgid "" +"Will be recorded only data on errors occurring during the processing of " +"plugin algorithms." +msgstr "" + +#: src/Admin/Settings/LogsForm.php:58 +msgid "" +"Event logs always record data about critical errors in the code, regardless " +"of the level configured." +msgstr "" + +#: src/Admin/Settings/LogsForm.php:73 #: src/Schemas/Productscleanercml/Admin.php:315 -#: src/Schemas/Productscml/Admin.php:1933 +#: src/Schemas/Productscml/Admin.php:2021 msgid "Maximum files" msgstr "" -#: src/Admin/Settings/LogsForm.php:59 +#: src/Admin/Settings/LogsForm.php:75 #: src/Schemas/Productscleanercml/Admin.php:317 msgid "" "Log files created daily. This option on the maximum number of stored files. " "By default saved of the logs are for the last 30 days." msgstr "" -#: src/Admin/Settings/LogsForm.php:66 +#: src/Admin/Settings/LogsForm.php:82 msgid "Output on display" msgstr "" -#: src/Admin/Settings/LogsForm.php:68 +#: src/Admin/Settings/LogsForm.php:84 #: src/Schemas/Productscleanercml/Admin.php:170 #: src/Schemas/Productscml/Admin.php:173 src/Schemas/Productscml/Admin.php:210 #: src/Schemas/Productscml/Admin.php:291 src/Schemas/Productscml/Admin.php:305 @@ -778,57 +859,76 @@ msgstr "" msgid "Check the box if you want to enable this feature. Disabled by default." msgstr "" -#: src/Admin/Settings/LogsForm.php:69 -msgid "All entries in the event logs will be displayed." +#: src/Admin/Settings/LogsForm.php:88 +msgid "All entries event logs will be displayed on the screen." msgstr "" -#: src/Admin/Settings/LogsForm.php:75 +#: src/Admin/Settings/LogsForm.php:89 +msgid "" +"It is used only by developers. If enable this setting just for fun, 1C will " +"not be able to connect to the site." +msgstr "" + +#: src/Admin/Settings/LogsForm.php:96 msgid "Levels by context" msgstr "" -#: src/Admin/Settings/LogsForm.php:77 +#: src/Admin/Settings/LogsForm.php:101 msgid "Event log settings based on context." msgstr "" -#: src/Admin/Settings/LogsForm.php:82 src/Admin/Settings/MainForm.php:140 -msgid "Receiver" +#: src/Admin/Settings/LogsForm.php:102 +msgid "Logical distribution of event logs into contexts for flexible analysis." msgstr "" -#: src/Admin/Settings/LogsForm.php:84 +#: src/Admin/Settings/LogsForm.php:113 +msgid "" +"All events of the selected level are recorded in the tools events log file. " +"The higher the level, the less data is logged." +msgstr "" + +#: src/Admin/Settings/LogsForm.php:114 msgid "" -"All events of the selected level will be recorded the Receiver events in the " -"log file. The higher the level, the less data is recorded." +"In this context, events are recorded when users work with tools, both global " +"and for a specific configuration." msgstr "" -#: src/Admin/Settings/LogsForm.php:88 src/Admin/Settings/LogsForm.php:105 -#: src/Admin/Settings/LogsForm.php:122 src/Admin/Settings/LogsForm.php:139 +#: src/Admin/Settings/LogsForm.php:119 src/Admin/Settings/LogsForm.php:141 +#: src/Admin/Settings/LogsForm.php:163 #: src/Schemas/Productscleanercml/Admin.php:304 -#: src/Schemas/Productscml/Admin.php:1922 +#: src/Schemas/Productscml/Admin.php:2010 msgid "Use level for main events" msgstr "" -#: src/Admin/Settings/LogsForm.php:101 -msgid "" -"All events of the selected level will be recorded the tools events in the " -"log file. The higher the level, the less data is recorded." +#: src/Admin/Settings/LogsForm.php:130 +msgid "Schemas" msgstr "" -#: src/Admin/Settings/LogsForm.php:116 -msgid "Schemas" +#: src/Admin/Settings/LogsForm.php:135 +msgid "" +"All events of the selected level are recorded in the events log files for " +"schemas. The higher the level, the less data is logged." msgstr "" -#: src/Admin/Settings/LogsForm.php:118 +#: src/Admin/Settings/LogsForm.php:136 msgid "" -"All events of the selected level will be recorded the schemas events in the " -"log file. The higher the level, the less data is recorded." +"Only events that are processed in the schema algorithms are recorded. If the " +"events are related to the user configuration, they are not written to schema " +"events." msgstr "" -#: src/Admin/Settings/LogsForm.php:135 +#: src/Admin/Settings/LogsForm.php:157 msgid "" "All events of the selected level will be recorded the configurations events " "in the log file. The higher the level, the less data is recorded." msgstr "" +#: src/Admin/Settings/LogsForm.php:158 +msgid "" +"A personalized event log level can be set on the level of each " +"configuration. The current value is taken for creating new configurations." +msgstr "" + #: src/Admin/Settings/MainForm.php:45 msgid "Some settings for the configurations." msgstr "" @@ -916,6 +1016,10 @@ msgid "" "server limit." msgstr "" +#: src/Admin/Settings/MainForm.php:140 +msgid "Receiver" +msgstr "" + #: src/Admin/Settings/MainForm.php:142 msgid "Enable data Receiver: background requests?" msgstr "" @@ -947,11 +1051,13 @@ msgid "Completing" msgstr "" #: src/Core.php:81 -msgid "Timer is not loaded." +msgid "" +"Timer is not loaded. Further execution of algorithms without a timer is " +"impossible." msgstr "" #: src/Core.php:91 -msgid "Extensions is not loaded." +msgid "Extensions is not loaded. Execution continued, but without all plugins." msgstr "" #: src/Core.php:100 @@ -974,103 +1080,115 @@ msgstr "" msgid "Receiver is not loaded." msgstr "" -#: src/Core.php:406 +#: src/Core.php:417 msgid "This activation code is active." msgstr "" -#: src/Core.php:407 +#: src/Core.php:418 msgid "Error: This activation code has expired." msgstr "" -#: src/Core.php:408 +#: src/Core.php:419 msgid "Activation code republished. Awaiting reactivation." msgstr "" -#: src/Core.php:409 +#: src/Core.php:420 msgid "Error: This activation code has been suspended." msgstr "" -#: src/Core.php:410 +#: src/Core.php:421 msgid "This activation code is not found." msgstr "" -#: src/Core.php:411 +#: src/Core.php:422 msgid "This activation code is active (localhost)." msgstr "" -#: src/Core.php:412 +#: src/Core.php:423 msgid "Error: This activation code is pending review." msgstr "" -#: src/Core.php:413 +#: src/Core.php:424 msgid "" "Error: This version of the software was released after your download access " "expired. Please downgrade software or contact support for more information." msgstr "" -#: src/Core.php:414 +#: src/Core.php:425 msgid "Error: The activation code variable is empty." msgstr "" -#: src/Core.php:415 +#: src/Core.php:426 msgid "Error: I could not obtain a new local code." msgstr "" -#: src/Core.php:416 +#: src/Core.php:427 msgid "Error: The maximum local code delay period has expired." msgstr "" -#: src/Core.php:417 +#: src/Core.php:428 msgid "Error: The local key has been tampered with or is invalid." msgstr "" -#: src/Core.php:418 +#: src/Core.php:429 msgid "Error: The local code is invalid for this location." msgstr "" -#: src/Core.php:419 +#: src/Core.php:430 msgid "" "Error: Please create the following file (and directories if they dont exist " "already): " msgstr "" -#: src/Core.php:420 +#: src/Core.php:431 msgid "Error: Please make the following path writable: " msgstr "" -#: src/Core.php:421 +#: src/Core.php:432 msgid "Error: I could not determine the local key storage on clear." msgstr "" -#: src/Core.php:422 +#: src/Core.php:433 msgid "Error: I could not save the local key." msgstr "" -#: src/Core.php:423 +#: src/Core.php:434 msgid "Error: The local code is invalid for this activation code." msgstr "" -#: src/Core.php:424 +#: src/Core.php:435 msgid "Error: This activation code has been deleted." msgstr "" -#: src/Core.php:425 +#: src/Core.php:436 msgid "Error: This activation code has draft." msgstr "" -#: src/Core.php:426 +#: src/Core.php:437 msgid "Error: This activation code has available." msgstr "" -#: src/Core.php:427 +#: src/Core.php:438 msgid "Error: This activation code has been blocked." msgstr "" -#: src/Core.php:474 +#: src/Core.php:479 +msgid "Receiver loading." +msgstr "" + +#: src/Core.php:487 msgid "Receiver loading: class is not exists, use is default." msgstr "" -#: src/Core.php:501 +#: src/Core.php:498 +msgid "Receiver loading is completed." +msgstr "" + +#: src/Core.php:506 +msgid "Localization loading." +msgstr "" + +#: src/Core.php:518 msgid "Localization loaded." msgstr "" @@ -1082,32 +1200,68 @@ msgstr "" msgid "Meta value by name is not available." msgstr "" -#: src/Extensions/Core.php:55 -msgid "Extension not found by id." +#: src/Extensions/Core.php:52 src/Extensions/Core.php:84 +msgid "Initialization of the extension by identifier" +msgstr "" + +#: src/Extensions/Core.php:56 +msgid "Extension not found by identifier." msgstr "" -#: src/Extensions/Core.php:60 -msgid "Extension is not implementation ExtensionContract. Skipped init." +#: src/Extensions/Core.php:62 +msgid "" +"Extension is not implementation ExtensionContract. Initialization skipped." msgstr "" -#: src/Extensions/Core.php:75 -msgid "Init extension exception:" +#: src/Extensions/Core.php:68 +msgid "" +"The extension has already been initialized previously. Re-initialization is " +"skipped." msgstr "" -#: src/Extensions/Core.php:116 +#: src/Extensions/Core.php:79 +msgid "The extension threw an exception on initialization" +msgstr "" + +#: src/Extensions/Core.php:84 +msgid "is completed." +msgstr "" + +#: src/Extensions/Core.php:89 +msgid "Initialization of available extensions." +msgstr "" + +#: src/Extensions/Core.php:106 +msgid "Initialization of available extensions is completed." +msgstr "" + +#: src/Extensions/Core.php:126 msgid "Get extension by id is unavailable." msgstr "" #: src/Extensions/Core.php:140 -msgid "Extensions load error:" +msgid "Extensions loading." msgstr "" #: src/Extensions/Core.php:144 +msgid "" +"Extension loading is turned off in global settings. Extension loading is " +"skipped." +msgstr "" + +#: src/Extensions/Core.php:158 +msgid "Extensions load error:" +msgstr "" + +#: src/Extensions/Core.php:162 msgid "Extensions load exception:" msgstr "" +#: src/Extensions/Core.php:168 +msgid "Extensions loading is completed." +msgstr "" + #: src/Receiver.php:46 src/Schemas/Productscleanercml/Receiver.php:64 -#: src/Schemas/Productscml/Receiver.php:52 msgid "Received new request for Receiver." msgstr "" @@ -1131,80 +1285,104 @@ msgstr "" msgid "Schema for configuration is not initialized." msgstr "" -#: src/Receiver.php:81 src/Receiver.php:115 +#: src/Receiver.php:84 msgid "" "The request was successfully submitted for processing in the schema for the " "selected configuration." msgstr "" -#: src/Receiver.php:90 src/Receiver.php:91 +#: src/Receiver.php:93 src/Receiver.php:94 msgid "Selected configuration is offline." msgstr "" -#: src/Receiver.php:102 src/Schemas/Productscleanercml/Core.php:127 -#: src/Schemas/Productscml/Core.php:299 +#: src/Receiver.php:105 src/Schemas/Productscleanercml/Core.php:127 +#: src/Schemas/Productscml/Core.php:324 msgid "Error saving configuration." msgstr "" -#: src/Receiver.php:123 +#: src/Receiver.php:121 +msgid "" +"The request for processing actions for the selected configuration has been " +"successfully submitted." +msgstr "" + +#: src/Receiver.php:134 msgid "" "Receiver request is very bad! Action not found in selected configuration." msgstr "" -#: src/Receiver.php:124 src/Schemas/Productscleanercml/Core.php:148 -#: src/Schemas/Productscml/Core.php:320 +#: src/Receiver.php:135 src/Schemas/Productscleanercml/Core.php:148 +#: src/Schemas/Productscml/Core.php:345 msgid "Receiver request is very bad! Action not found." msgstr "" -#: src/Schemas/Core.php:51 +#: src/Schemas/Core.php:49 +msgid "Initializing the schema for configuration." +msgstr "" + +#: src/Schemas/Core.php:53 msgid "$configuration is false" msgstr "" -#: src/Schemas/Core.php:61 +#: src/Schemas/Core.php:63 msgid "$configuration is not exists" msgstr "" -#: src/Schemas/Core.php:69 +#: src/Schemas/Core.php:71 msgid "$configuration is not instanceof Configuration" msgstr "" -#: src/Schemas/Core.php:76 +#: src/Schemas/Core.php:78 msgid "$schemas is not array." msgstr "" -#: src/Schemas/Core.php:83 +#: src/Schemas/Core.php:85 msgid "Schema not found by id:" msgstr "" -#: src/Schemas/Core.php:88 +#: src/Schemas/Core.php:90 msgid "$schemas[$schema_id] is not object" msgstr "" -#: src/Schemas/Core.php:95 +#: src/Schemas/Core.php:97 msgid "Old initialized, $schema_id:" msgstr "" -#: src/Schemas/Core.php:100 +#: src/Schemas/Core.php:102 msgid "Method init not found in schema, $schema_id:" msgstr "" -#: src/Schemas/Core.php:120 +#: src/Schemas/Core.php:122 msgid "Schema is not initialized." msgstr "" -#: src/Schemas/Core.php:147 +#: src/Schemas/Core.php:127 +msgid "Initializing the schema for configuration is completed." +msgstr "" + +#: src/Schemas/Core.php:151 msgid "Schema by ID is unavailable." msgstr "" -#: src/Schemas/Core.php:170 -msgid "Schemas loaded." +#: src/Schemas/Core.php:164 +msgid "Schemas loading." msgstr "" -#: src/Schemas/Core.php:197 +#: src/Schemas/Core.php:177 +msgid "" +"Loading of external schemes is disabled through the settings. Only standard " +"schemas are loaded." +msgstr "" + +#: src/Schemas/Core.php:180 +msgid "Schemas loading is completed." +msgstr "" + +#: src/Schemas/Core.php:207 msgid "Schema ProductsCML is not loaded." msgstr "" -#: src/Schemas/Core.php:221 +#: src/Schemas/Core.php:231 msgid "Schema ProductsCleanerCML is not loaded." msgstr "" @@ -1239,11 +1417,6 @@ msgid "" "present." msgstr "" -#: src/Schemas/Productscleanercml/Admin.php:95 -#: src/Schemas/Productscml/Admin.php:98 -msgid "Username" -msgstr "" - #: src/Schemas/Productscleanercml/Admin.php:99 #: src/Schemas/Productscml/Admin.php:102 msgid "" @@ -1351,8 +1524,8 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1193 #: src/Schemas/Productscml/Admin.php:1208 #: src/Schemas/Productscml/Admin.php:1276 -#: src/Schemas/Productscml/Admin.php:1838 -#: src/Schemas/Productscml/Admin.php:1850 +#: src/Schemas/Productscml/Admin.php:1926 +#: src/Schemas/Productscml/Admin.php:1938 msgid "Do not use" msgstr "" @@ -1434,11 +1607,11 @@ msgstr "" #: src/Schemas/Productscleanercml/Admin.php:272 #: src/Schemas/Productscml/Admin.php:663 src/Schemas/Productscml/Admin.php:1151 #: src/Schemas/Productscml/Admin.php:1236 -#: src/Schemas/Productscml/Admin.php:1594 -#: src/Schemas/Productscml/Admin.php:1612 -#: src/Schemas/Productscml/Admin.php:1650 -#: src/Schemas/Productscml/Admin.php:1687 -#: src/Schemas/Productscml/Admin.php:1760 +#: src/Schemas/Productscml/Admin.php:1682 +#: src/Schemas/Productscml/Admin.php:1700 +#: src/Schemas/Productscml/Admin.php:1738 +#: src/Schemas/Productscml/Admin.php:1775 +#: src/Schemas/Productscml/Admin.php:1848 msgid "Check the box to enable this feature. Disabled by default." msgstr "" @@ -1459,17 +1632,24 @@ msgid "" msgstr "" #: src/Schemas/Productscleanercml/Admin.php:293 -#: src/Schemas/Productscml/Admin.php:1911 +#: src/Schemas/Productscml/Admin.php:1999 msgid "" "Maintaining event logs for the current configuration. You can view the logs " "through the extension or via FTP." msgstr "" #: src/Schemas/Productscleanercml/Admin.php:298 -#: src/Schemas/Productscml/Admin.php:1916 +#: src/Schemas/Productscml/Admin.php:2004 msgid "Level for events" msgstr "" +#: src/Schemas/Productscleanercml/Admin.php:300 +#: src/Schemas/Productscml/Admin.php:2006 +msgid "" +"All events of the selected level will be recorded in the log file. The " +"higher the level, the less data is recorded." +msgstr "" + #: src/Schemas/Productscleanercml/Core.php:45 msgid "Cleaning of products via CommerceML" msgstr "" @@ -1481,32 +1661,32 @@ msgid "" msgstr "" #: src/Schemas/Productscleanercml/Core.php:114 -#: src/Schemas/Productscml/Core.php:284 +#: src/Schemas/Productscml/Core.php:309 msgid "Configuration is offline." msgstr "" #: src/Schemas/Productscleanercml/Core.php:186 -#: src/Schemas/Productscml/Core.php:191 +#: src/Schemas/Productscml/Core.php:198 msgid "The file cannot be processed. DecoderCML threw an exception." msgstr "" #: src/Schemas/Productscleanercml/Core.php:201 -#: src/Schemas/Productscml/Core.php:207 +#: src/Schemas/Productscml/Core.php:222 msgid "The file cannot be processed. ReaderCML threw an exception." msgstr "" #: src/Schemas/Productscleanercml/Core.php:205 -#: src/Schemas/Productscml/Core.php:211 +#: src/Schemas/Productscml/Core.php:226 msgid "Filetype:" msgstr "" #: src/Schemas/Productscleanercml/Core.php:220 -#: src/Schemas/Productscml/Core.php:227 +#: src/Schemas/Productscml/Core.php:250 msgid "Import file processing not completed. ReaderCML threw an exception." msgstr "" #: src/Schemas/Productscleanercml/Core.php:240 -#: src/Schemas/Productscml/Core.php:247 +#: src/Schemas/Productscml/Core.php:270 msgid "There was not enough time to load all the data." msgstr "" @@ -1515,7 +1695,7 @@ msgid "Classifier !instanceof ClassifierDataContract. Skip processing." msgstr "" #: src/Schemas/Productscleanercml/Core.php:291 -#: src/Schemas/Productscml/Core.php:390 +#: src/Schemas/Productscml/Core.php:454 msgid "An exception was thrown while saving the classifier." msgstr "" @@ -1524,12 +1704,11 @@ msgid "Product !instanceof ProductDataContract. Skip processing." msgstr "" #: src/Schemas/Productscleanercml/Core.php:382 -#: src/Schemas/Productscml/Core.php:1325 msgid "An exception was thrown while saving the product." msgstr "" #: src/Schemas/Productscleanercml/Core.php:400 -#: src/Schemas/Productscml/Core.php:3794 +#: src/Schemas/Productscml/Core.php:3968 msgid "Processing a product from a catalog of products." msgstr "" @@ -1542,23 +1721,22 @@ msgid "Product search result by external code from 1C." msgstr "" #: src/Schemas/Productscleanercml/Core.php:422 -#: src/Schemas/Productscml/Core.php:3810 src/Schemas/Productscml/Core.php:3835 -#: src/Schemas/Productscml/Core.php:4190 src/Schemas/Productscml/Core.php:4214 +#: src/Schemas/Productscml/Core.php:3984 src/Schemas/Productscml/Core.php:4009 +#: src/Schemas/Productscml/Core.php:4382 src/Schemas/Productscml/Core.php:4406 msgid "Several identical products were found. The first one is selected." msgstr "" #: src/Schemas/Productscleanercml/Core.php:440 -#: src/Schemas/Productscml/Core.php:3839 src/Schemas/Productscml/Core.php:4218 +#: src/Schemas/Productscml/Core.php:4013 src/Schemas/Productscml/Core.php:4410 msgid "Product search result by external algorithms." msgstr "" #: src/Schemas/Productscleanercml/Core.php:448 -#: src/Schemas/Productscml/Core.php:3847 +#: src/Schemas/Productscml/Core.php:4021 msgid "Product is not found." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:102 -#: src/Schemas/Productscml/Receiver.php:58 msgid "Received request params." msgstr "" @@ -1572,17 +1750,17 @@ msgid "Schema: action not found." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:184 -#: src/Schemas/Productscml/Receiver.php:175 +#: src/Schemas/Productscml/Receiver.php:197 msgid "In 1C was send a response of the type:" msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:194 -#: src/Schemas/Productscml/Receiver.php:185 +#: src/Schemas/Productscml/Receiver.php:189 msgid "Headers for response." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:246 -#: src/Schemas/Productscml/Receiver.php:239 +#: src/Schemas/Productscml/Receiver.php:243 msgid "" "Server in CGI mode. Not detected the presence of an entry in the root ." "htaccess file on the subject of the contents of the lines." @@ -1594,53 +1772,52 @@ msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:288 #: src/Schemas/Productscleanercml/Receiver.php:289 -#: src/Schemas/Productscml/Receiver.php:282 +#: src/Schemas/Productscml/Receiver.php:286 msgid "Not a valid username." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:294 #: src/Schemas/Productscleanercml/Receiver.php:295 -#: src/Schemas/Productscml/Receiver.php:290 +#: src/Schemas/Productscml/Receiver.php:295 msgid "Not a valid user password." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:305 -#: src/Schemas/Productscml/Receiver.php:303 +#: src/Schemas/Productscml/Receiver.php:309 msgid "PHP session none, start new PHP session." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:315 -#: src/Schemas/Productscml/Receiver.php:313 msgid "Request authorization from 1C successfully completed." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:329 #: src/Schemas/Productscleanercml/Receiver.php:490 -#: src/Schemas/Productscml/Receiver.php:327 -#: src/Schemas/Productscml/Receiver.php:513 +#: src/Schemas/Productscml/Receiver.php:334 +#: src/Schemas/Productscml/Receiver.php:530 msgid "Print lines for 1C." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:354 -#: src/Schemas/Productscml/Receiver.php:352 +#: src/Schemas/Productscml/Receiver.php:365 msgid "" "Authorization key verification failed. 1C did not send the name of the lazy " "signature." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:370 -#: src/Schemas/Productscml/Receiver.php:368 +#: src/Schemas/Productscml/Receiver.php:381 msgid "" "Authorization key verification failed. 1C sent an incorrect lazy signature." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:385 -#: src/Schemas/Productscml/Receiver.php:383 +#: src/Schemas/Productscml/Receiver.php:396 msgid "Authorization key verification failed. 1C sent an empty session name." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:400 -#: src/Schemas/Productscml/Receiver.php:398 +#: src/Schemas/Productscml/Receiver.php:411 msgid "Authorization check failed - session id differs from the original." msgstr "" @@ -1649,23 +1826,21 @@ msgid "PHP session none, restart PHP session." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:432 -#: src/Schemas/Productscml/Receiver.php:430 +#: src/Schemas/Productscml/Receiver.php:443 msgid "Cleaning the directory for temporary files." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:438 -#: src/Schemas/Productscml/Receiver.php:436 msgid "" "The directory for temporary files was successfully cleared of old files." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:442 -#: src/Schemas/Productscml/Receiver.php:440 msgid "Failed to clear the temp directory of old files." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:454 -#: src/Schemas/Productscml/Receiver.php:452 +#: src/Schemas/Productscml/Receiver.php:466 msgid "Initialization of receiving requests from 1C." msgstr "" @@ -1674,91 +1849,90 @@ msgid "Session for receiving requests." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:469 -#: src/Schemas/Productscml/Receiver.php:492 +#: src/Schemas/Productscml/Receiver.php:509 msgid "The maximum size of accepted files from 1C is assigned:" msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:474 -#: src/Schemas/Productscml/Receiver.php:497 +#: src/Schemas/Productscml/Receiver.php:514 msgid "" "Based on the global settings of WC1C, the size of received files has been " "reduced from 1C to:" msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:480 -#: src/Schemas/Productscml/Receiver.php:503 +#: src/Schemas/Productscml/Receiver.php:520 msgid "" "Based on the configuration settings of WC1C, the size of received files has " "been reduced from 1C to:" msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:519 -#: src/Schemas/Productscml/Receiver.php:543 +#: src/Schemas/Productscml/Receiver.php:560 msgid "Directory is unavailable:" msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:534 -#: src/Schemas/Productscml/Receiver.php:558 +#: src/Schemas/Productscml/Receiver.php:576 msgid "Filename is empty." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:542 -#: src/Schemas/Productscml/Receiver.php:566 msgid "Saving data to a file named:" msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:551 -#: src/Schemas/Productscml/Receiver.php:575 +#: src/Schemas/Productscml/Receiver.php:594 msgid "Directory is unavailable for write." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:565 -#: src/Schemas/Productscml/Receiver.php:589 +#: src/Schemas/Productscml/Receiver.php:608 msgid "The request contains no data to write to the file. Retry the upload." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:573 -#: src/Schemas/Productscml/Receiver.php:597 +#: src/Schemas/Productscml/Receiver.php:616 msgid "The file exists. Write a data to the end of an existing file." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:586 -#: src/Schemas/Productscml/Receiver.php:613 +#: src/Schemas/Productscml/Receiver.php:632 msgid "The data is successfully written to a file. Recorded data size:" msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:593 -#: src/Schemas/Productscml/Receiver.php:711 +#: src/Schemas/Productscml/Receiver.php:743 msgid "Failed to write data to file." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:604 -#: src/Schemas/Productscml/Receiver.php:722 +#: src/Schemas/Productscml/Receiver.php:756 msgid "On request from 1C - started importing data from a file." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:610 -#: src/Schemas/Productscml/Receiver.php:728 +#: src/Schemas/Productscml/Receiver.php:760 msgid "1C sent an empty file name for data import." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:620 -#: src/Schemas/Productscml/Receiver.php:738 +#: src/Schemas/Productscml/Receiver.php:770 msgid "File for import is not exists." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:632 -#: src/Schemas/Productscml/Receiver.php:750 +#: src/Schemas/Productscml/Receiver.php:782 msgid "Import of data from file completed successfully." msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:640 -#: src/Schemas/Productscml/Receiver.php:758 +#: src/Schemas/Productscml/Receiver.php:790 msgid "Importing data from a file ended with an error:" msgstr "" #: src/Schemas/Productscleanercml/Receiver.php:646 -#: src/Schemas/Productscml/Receiver.php:764 +#: src/Schemas/Productscml/Receiver.php:797 msgid "Importing data from a file ended with an error." msgstr "" @@ -2233,7 +2407,7 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1105 #: src/Schemas/Productscml/Admin.php:1207 #: src/Schemas/Productscml/Admin.php:1275 -#: src/Schemas/Productscml/Admin.php:1849 +#: src/Schemas/Productscml/Admin.php:1937 msgid "The setting works when creating and updating products (goods)." msgstr "" @@ -2265,8 +2439,8 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1323 #: src/Schemas/Productscml/Admin.php:1451 #: src/Schemas/Productscml/Admin.php:1493 -#: src/Schemas/Productscml/Admin.php:1696 -#: src/Schemas/Productscml/Admin.php:1797 +#: src/Schemas/Productscml/Admin.php:1784 +#: src/Schemas/Productscml/Admin.php:1885 msgid "Check the box to enable this feature. Enabled by default." msgstr "" @@ -2305,12 +2479,17 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1365 #: src/Schemas/Productscml/Admin.php:1462 #: src/Schemas/Productscml/Admin.php:1476 -#: src/Schemas/Productscml/Admin.php:1557 -#: src/Schemas/Productscml/Admin.php:1573 -#: src/Schemas/Productscml/Admin.php:1581 -#: src/Schemas/Productscml/Admin.php:1742 -#: src/Schemas/Productscml/Admin.php:1809 -#: src/Schemas/Productscml/Admin.php:1823 +#: src/Schemas/Productscml/Admin.php:1520 +#: src/Schemas/Productscml/Admin.php:1534 +#: src/Schemas/Productscml/Admin.php:1554 +#: src/Schemas/Productscml/Admin.php:1574 +#: src/Schemas/Productscml/Admin.php:1594 +#: src/Schemas/Productscml/Admin.php:1645 +#: src/Schemas/Productscml/Admin.php:1661 +#: src/Schemas/Productscml/Admin.php:1669 +#: src/Schemas/Productscml/Admin.php:1830 +#: src/Schemas/Productscml/Admin.php:1897 +#: src/Schemas/Productscml/Admin.php:1911 msgid "Do not update" msgstr "" @@ -2321,8 +2500,8 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1257 #: src/Schemas/Productscml/Admin.php:1463 #: src/Schemas/Productscml/Admin.php:1478 -#: src/Schemas/Productscml/Admin.php:1810 -#: src/Schemas/Productscml/Admin.php:1825 +#: src/Schemas/Productscml/Admin.php:1898 +#: src/Schemas/Productscml/Admin.php:1913 msgid "Update in any case" msgstr "" @@ -2331,7 +2510,7 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1166 #: src/Schemas/Productscml/Admin.php:1182 #: src/Schemas/Productscml/Admin.php:1259 -#: src/Schemas/Productscml/Admin.php:1811 +#: src/Schemas/Productscml/Admin.php:1899 msgid "Add if not on the site and available in 1C" msgstr "" @@ -2342,8 +2521,8 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1261 #: src/Schemas/Productscml/Admin.php:1465 #: src/Schemas/Productscml/Admin.php:1482 -#: src/Schemas/Productscml/Admin.php:1812 -#: src/Schemas/Productscml/Admin.php:1829 +#: src/Schemas/Productscml/Admin.php:1900 +#: src/Schemas/Productscml/Admin.php:1917 msgid "Update if present on the site and in 1C" msgstr "" @@ -2379,8 +2558,8 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1392 #: src/Schemas/Productscml/Admin.php:1422 #: src/Schemas/Productscml/Admin.php:1484 -#: src/Schemas/Productscml/Admin.php:1587 -#: src/Schemas/Productscml/Admin.php:1831 +#: src/Schemas/Productscml/Admin.php:1675 +#: src/Schemas/Productscml/Admin.php:1919 msgid "The setting works when updating products (goods)." msgstr "" @@ -2663,13 +2842,13 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:980 msgid "" -"The product SKU will be added according to data from 1C. It is recommended " -"to enable this feature." +"Product SKUs will be filled according to the data from 1C on the selected " +"source for SKUs. It is recommended to enable this feature." msgstr "" #: src/Schemas/Productscml/Admin.php:981 src/Schemas/Productscml/Admin.php:1378 #: src/Schemas/Productscml/Admin.php:1406 -#: src/Schemas/Productscml/Admin.php:1802 +#: src/Schemas/Productscml/Admin.php:1890 msgid "The setting works when creating products (goods)." msgstr "" @@ -2721,8 +2900,8 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1196 #: src/Schemas/Productscml/Admin.php:1214 #: src/Schemas/Productscml/Admin.php:1282 -#: src/Schemas/Productscml/Admin.php:1839 -#: src/Schemas/Productscml/Admin.php:1852 +#: src/Schemas/Productscml/Admin.php:1927 +#: src/Schemas/Productscml/Admin.php:1940 msgid "From requisite with the specified name" msgstr "" @@ -3132,7 +3311,7 @@ msgstr "" #: src/Schemas/Productscml/Admin.php:1464 #: src/Schemas/Productscml/Admin.php:1480 -#: src/Schemas/Productscml/Admin.php:1827 +#: src/Schemas/Productscml/Admin.php:1915 msgid "Add if not on the site, but available in 1C" msgstr "" @@ -3200,190 +3379,265 @@ msgid "" "the rest to the product gallery." msgstr "" -#: src/Schemas/Productscml/Admin.php:1532 +#: src/Schemas/Productscml/Admin.php:1521 +#: src/Schemas/Productscml/Admin.php:1536 +#: src/Schemas/Productscml/Admin.php:1556 +#: src/Schemas/Productscml/Admin.php:1576 +#: src/Schemas/Productscml/Admin.php:1596 +msgid "При создании и обновлении продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1522 +#: src/Schemas/Productscml/Admin.php:1538 +#: src/Schemas/Productscml/Admin.php:1558 +#: src/Schemas/Productscml/Admin.php:1578 +#: src/Schemas/Productscml/Admin.php:1598 +msgid "При создании продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1523 +#: src/Schemas/Productscml/Admin.php:1540 +#: src/Schemas/Productscml/Admin.php:1560 +#: src/Schemas/Productscml/Admin.php:1580 +#: src/Schemas/Productscml/Admin.php:1600 +msgid "При обновлении продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1528 +msgid "Обновление наименования изображений по наименованию продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1535 +#: src/Schemas/Productscml/Admin.php:1555 +#: src/Schemas/Productscml/Admin.php:1575 +#: src/Schemas/Productscml/Admin.php:1595 +msgid "Обновление будет пропущено в любом случае." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1537 +#: src/Schemas/Productscml/Admin.php:1557 +#: src/Schemas/Productscml/Admin.php:1577 +#: src/Schemas/Productscml/Admin.php:1597 +msgid "" +"Обновление произойдет как при создании продукта, так и при его обновлении." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1539 +#: src/Schemas/Productscml/Admin.php:1579 +msgid "Наименование будет обновлено только при создании продуктов." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1541 +#: src/Schemas/Productscml/Admin.php:1581 +msgid "Наименование будет обновлено только при обновлении продуктов." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1548 +msgid "Обновление атрибута ALT изображений по наименованию продуктов" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1559 +#: src/Schemas/Productscml/Admin.php:1599 +msgid "Атрибут ALT будет обновлен только при создании продуктов." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1561 +#: src/Schemas/Productscml/Admin.php:1601 +msgid "Атрибут ALT будет обновлен только при обновлении продуктов." +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1568 +msgid "Обновление наименования изображений из описания файла" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1588 +msgid "Обновление атрибута ALT у изображений из описания файла" +msgstr "" + +#: src/Schemas/Productscml/Admin.php:1620 msgid "Products (goods): other" msgstr "" -#: src/Schemas/Productscml/Admin.php:1534 +#: src/Schemas/Productscml/Admin.php:1622 msgid "Regulation of other algorithms for working with products (goods)." msgstr "" -#: src/Schemas/Productscml/Admin.php:1542 +#: src/Schemas/Productscml/Admin.php:1630 msgid "Status of the created product" msgstr "" -#: src/Schemas/Productscml/Admin.php:1547 +#: src/Schemas/Productscml/Admin.php:1635 msgid "" "Newly created products will have selected status. It is recommended to " "select the status: Draft." msgstr "" -#: src/Schemas/Productscml/Admin.php:1548 +#: src/Schemas/Productscml/Admin.php:1636 msgid "" "The product catalog comes without prices and balances. Publication is best " "done at the stage of filling in this data." msgstr "" -#: src/Schemas/Productscml/Admin.php:1549 +#: src/Schemas/Productscml/Admin.php:1637 msgid "" "If a product is marked for deletion in 1C, it will be placed in the trash, " "regardless of the current setting." msgstr "" -#: src/Schemas/Productscml/Admin.php:1564 +#: src/Schemas/Productscml/Admin.php:1652 msgid "Product status update when requesting product updates" msgstr "" -#: src/Schemas/Productscml/Admin.php:1566 +#: src/Schemas/Productscml/Admin.php:1654 msgid "" "The selected status will be assigned to all upgraded products when " "requesting product upgrades." msgstr "" -#: src/Schemas/Productscml/Admin.php:1574 -#: src/Schemas/Productscml/Admin.php:1583 +#: src/Schemas/Productscml/Admin.php:1662 +#: src/Schemas/Productscml/Admin.php:1671 msgid "Check" msgstr "" -#: src/Schemas/Productscml/Admin.php:1575 -#: src/Schemas/Productscml/Admin.php:1585 +#: src/Schemas/Productscml/Admin.php:1663 +#: src/Schemas/Productscml/Admin.php:1673 msgid "Uncheck" msgstr "" -#: src/Schemas/Productscml/Admin.php:1582 +#: src/Schemas/Productscml/Admin.php:1670 msgid "The current value of the option will remain." msgstr "" -#: src/Schemas/Productscml/Admin.php:1584 +#: src/Schemas/Productscml/Admin.php:1672 msgid "The mark will be set." msgstr "" -#: src/Schemas/Productscml/Admin.php:1586 +#: src/Schemas/Productscml/Admin.php:1674 msgid "The mark will be removed." msgstr "" -#: src/Schemas/Productscml/Admin.php:1592 +#: src/Schemas/Productscml/Admin.php:1680 msgid "Featured on create products" msgstr "" -#: src/Schemas/Productscml/Admin.php:1595 +#: src/Schemas/Productscml/Admin.php:1683 msgid "The created product will be marked as featured." msgstr "" -#: src/Schemas/Productscml/Admin.php:1601 +#: src/Schemas/Productscml/Admin.php:1689 msgid "Featured on update products" msgstr "" -#: src/Schemas/Productscml/Admin.php:1610 +#: src/Schemas/Productscml/Admin.php:1698 msgid "Individual sale on create products" msgstr "" -#: src/Schemas/Productscml/Admin.php:1613 +#: src/Schemas/Productscml/Admin.php:1701 msgid "" "Enable to have the product sold individually in one order. Two units of a " "product in one order will be impossible to order." msgstr "" -#: src/Schemas/Productscml/Admin.php:1619 +#: src/Schemas/Productscml/Admin.php:1707 msgid "Individual sale on update products" msgstr "" -#: src/Schemas/Productscml/Admin.php:1630 +#: src/Schemas/Productscml/Admin.php:1718 msgid "Product visibility on create products" msgstr "" -#: src/Schemas/Productscml/Admin.php:1632 -#: src/Schemas/Productscml/Admin.php:1641 +#: src/Schemas/Productscml/Admin.php:1720 +#: src/Schemas/Productscml/Admin.php:1729 msgid "This setting determines which pages products will be displayed on." msgstr "" -#: src/Schemas/Productscml/Admin.php:1639 +#: src/Schemas/Productscml/Admin.php:1727 msgid "Product visibility on update products" msgstr "" -#: src/Schemas/Productscml/Admin.php:1648 +#: src/Schemas/Productscml/Admin.php:1736 msgid "Allow reviews on create products" msgstr "" -#: src/Schemas/Productscml/Admin.php:1651 +#: src/Schemas/Productscml/Admin.php:1739 msgid "It will be allowed to leave reviews for created products." msgstr "" -#: src/Schemas/Productscml/Admin.php:1657 +#: src/Schemas/Productscml/Admin.php:1745 msgid "Allow reviews on update products" msgstr "" -#: src/Schemas/Productscml/Admin.php:1678 +#: src/Schemas/Productscml/Admin.php:1766 msgid "Media library" msgstr "" -#: src/Schemas/Productscml/Admin.php:1680 +#: src/Schemas/Productscml/Admin.php:1768 msgid "Regulation of algorithms for working with WordPress media library." msgstr "" -#: src/Schemas/Productscml/Admin.php:1685 +#: src/Schemas/Productscml/Admin.php:1773 msgid "Using the media library" msgstr "" -#: src/Schemas/Productscml/Admin.php:1688 +#: src/Schemas/Productscml/Admin.php:1776 msgid "" "All file handling capabilities available to the library will be enabled. If " "disabled, no actions will be performed on files in the library through the " "schema." msgstr "" -#: src/Schemas/Productscml/Admin.php:1694 +#: src/Schemas/Productscml/Admin.php:1782 msgid "Images based on Receiver" msgstr "" -#: src/Schemas/Productscml/Admin.php:1700 +#: src/Schemas/Productscml/Admin.php:1788 msgid "" "All image files sent to Receiver files will be added to the WordPress media " "library." msgstr "" -#: src/Schemas/Productscml/Admin.php:1701 +#: src/Schemas/Productscml/Admin.php:1789 msgid "These images can later be used to populate product images." msgstr "" -#: src/Schemas/Productscml/Admin.php:1702 +#: src/Schemas/Productscml/Admin.php:1790 msgid "" "When adding an image, it will be assigned the identifier of the current " "configuration, as well as the identifier of the scheme and the path of being " "in 1C." msgstr "" -#: src/Schemas/Productscml/Admin.php:1721 +#: src/Schemas/Productscml/Admin.php:1809 msgid "Products (goods): inventories" msgstr "" -#: src/Schemas/Productscml/Admin.php:1723 +#: src/Schemas/Productscml/Admin.php:1811 msgid "" "Comprehensive settings for updating inventories based on data from the offer " "package." msgstr "" -#: src/Schemas/Productscml/Admin.php:1728 +#: src/Schemas/Productscml/Admin.php:1816 msgid "The stock status of product created" msgstr "" -#: src/Schemas/Productscml/Admin.php:1733 +#: src/Schemas/Productscml/Admin.php:1821 msgid "" "Newly created products will have the selected stock status. It is " "recommended to select the status: Out of stock." msgstr "" -#: src/Schemas/Productscml/Admin.php:1734 +#: src/Schemas/Productscml/Admin.php:1822 msgid "" "The product catalog comes without quantities. When creating new products, it " "is better not to expose their availability." msgstr "" -#: src/Schemas/Productscml/Admin.php:1749 +#: src/Schemas/Productscml/Admin.php:1837 msgid "Product stock status update when requesting product updates" msgstr "" -#: src/Schemas/Productscml/Admin.php:1751 +#: src/Schemas/Productscml/Admin.php:1839 msgid "" "Upgradable products will change the balance status to the selected option " "from the list. It is recommended to select the status: Out of stock. " @@ -3391,146 +3645,146 @@ msgid "" "residues." msgstr "" -#: src/Schemas/Productscml/Admin.php:1758 +#: src/Schemas/Productscml/Admin.php:1846 msgid "Filling inventories based on quantity from offers" msgstr "" -#: src/Schemas/Productscml/Admin.php:1761 +#: src/Schemas/Productscml/Admin.php:1849 msgid "" "It will be allowed to fill in the quantity of product stocks in WooCommerce " "based on the quantity received in 1C offers." msgstr "" -#: src/Schemas/Productscml/Admin.php:1767 +#: src/Schemas/Productscml/Admin.php:1855 msgid "Minimum quantity for availability on the site" msgstr "" -#: src/Schemas/Productscml/Admin.php:1769 +#: src/Schemas/Productscml/Admin.php:1857 msgid "" "Specify the minimum quantity of goods in 1C to calculate the availability on " "the site. If there are fewer balances in 1C, then the product will be on the " "site with a balance of 0, i.e. with the status not available." msgstr "" -#: src/Schemas/Productscml/Admin.php:1788 +#: src/Schemas/Productscml/Admin.php:1876 msgid "Products (goods): dimensions" msgstr "" -#: src/Schemas/Productscml/Admin.php:1790 +#: src/Schemas/Productscml/Admin.php:1878 msgid "" "The main settings for filling in the dimensions of products (goods) " "according to data from 1C. Dimensions include: weight, length, width, height." msgstr "" -#: src/Schemas/Productscml/Admin.php:1795 +#: src/Schemas/Productscml/Admin.php:1883 msgid "Filling the dimensions of the created product" msgstr "" -#: src/Schemas/Productscml/Admin.php:1801 +#: src/Schemas/Productscml/Admin.php:1889 msgid "" "The product dimensions will be added according to data from 1C. It is " "recommended to enable this feature." msgstr "" -#: src/Schemas/Productscml/Admin.php:1817 +#: src/Schemas/Productscml/Admin.php:1905 msgid "Dimensions update when products updates" msgstr "" -#: src/Schemas/Productscml/Admin.php:1824 +#: src/Schemas/Productscml/Admin.php:1912 msgid "Dimensions updates will be skipped in any case." msgstr "" -#: src/Schemas/Productscml/Admin.php:1826 +#: src/Schemas/Productscml/Admin.php:1914 msgid "" "Dimensions will be updated in any case. The same value will always be on the " "site and in 1C." msgstr "" -#: src/Schemas/Productscml/Admin.php:1828 +#: src/Schemas/Productscml/Admin.php:1916 msgid "" "Existing dimensions will not be affected. There will be a filling of those " "missing on the site if they are available in 1C." msgstr "" -#: src/Schemas/Productscml/Admin.php:1830 +#: src/Schemas/Productscml/Admin.php:1918 msgid "" "Dimensions will be updated only if they are filled in 1C and on the site at " "the same time." msgstr "" -#: src/Schemas/Productscml/Admin.php:1844 +#: src/Schemas/Productscml/Admin.php:1932 msgid "Source for dimensions" msgstr "" -#: src/Schemas/Productscml/Admin.php:1851 +#: src/Schemas/Productscml/Admin.php:1939 msgid "" "Populating the dimensions data from CommerceML data will be skipped. If a " "product is updating, then its current dimensions will not be updated." msgstr "" -#: src/Schemas/Productscml/Admin.php:1853 +#: src/Schemas/Productscml/Admin.php:1941 msgid "" "The dimensions data will be filled in based on the completed name of the " "requisite of the products (goods)." msgstr "" -#: src/Schemas/Productscml/Admin.php:1861 +#: src/Schemas/Productscml/Admin.php:1949 msgid "Dimensions based on requisites: weight" msgstr "" -#: src/Schemas/Productscml/Admin.php:1863 +#: src/Schemas/Productscml/Admin.php:1951 msgid "" "Specify the requisite name of the weight in 1C, which is used for filling to " "WooCommerce as the weight." msgstr "" -#: src/Schemas/Productscml/Admin.php:1864 +#: src/Schemas/Productscml/Admin.php:1952 msgid "Weight" msgstr "" -#: src/Schemas/Productscml/Admin.php:1870 +#: src/Schemas/Productscml/Admin.php:1958 msgid "Dimensions based on requisites: length" msgstr "" -#: src/Schemas/Productscml/Admin.php:1872 +#: src/Schemas/Productscml/Admin.php:1960 msgid "" "Specify the requisite name of the length in 1C, which is used for filling to " "WooCommerce as the length." msgstr "" -#: src/Schemas/Productscml/Admin.php:1873 +#: src/Schemas/Productscml/Admin.php:1961 msgid "Length" msgstr "" -#: src/Schemas/Productscml/Admin.php:1879 +#: src/Schemas/Productscml/Admin.php:1967 msgid "Dimensions based on requisites: width" msgstr "" -#: src/Schemas/Productscml/Admin.php:1881 +#: src/Schemas/Productscml/Admin.php:1969 msgid "" "Specify the requisite name of the width in 1C, which is used for filling to " "WooCommerce as the width." msgstr "" -#: src/Schemas/Productscml/Admin.php:1882 +#: src/Schemas/Productscml/Admin.php:1970 msgid "Width" msgstr "" -#: src/Schemas/Productscml/Admin.php:1888 +#: src/Schemas/Productscml/Admin.php:1976 msgid "Dimensions based on requisites: height" msgstr "" -#: src/Schemas/Productscml/Admin.php:1890 +#: src/Schemas/Productscml/Admin.php:1978 msgid "" "Specify the requisite name of the height in 1C, which is used for filling to " "WooCommerce as the height." msgstr "" -#: src/Schemas/Productscml/Admin.php:1891 +#: src/Schemas/Productscml/Admin.php:1979 msgid "Height" msgstr "" -#: src/Schemas/Productscml/Admin.php:1935 +#: src/Schemas/Productscml/Admin.php:2023 msgid "" "Log files created daily. This option on the maximum number of stored files. " "By default saved of the logs are for the last 10 days." @@ -3542,1124 +3796,1259 @@ msgstr "" #: src/Schemas/Productscml/Core.php:65 msgid "" -"Creation and updating of products (goods) in WooCommerce according to data " -"from 1C using the CommerceML protocol of various versions." +"Creating and updating products (goods) in WooCommerce according to data from " +"1C using the CommerceML protocol of different versions." msgstr "" -#: src/Schemas/Productscml/Core.php:197 +#: src/Schemas/Productscml/Core.php:212 msgid "DecoderCML has been overridden by external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:215 +#: src/Schemas/Productscml/Core.php:238 msgid "ReaderCML has been overridden by external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:260 +#: src/Schemas/Productscml/Core.php:283 msgid "Clearing the output buffer." msgstr "" -#: src/Schemas/Productscml/Core.php:275 +#: src/Schemas/Productscml/Core.php:298 msgid "Cleaned up data." msgstr "" -#: src/Schemas/Productscml/Core.php:358 -msgid "DecoderCML threw an exception while converting the classifier." +#: src/Schemas/Productscml/Core.php:304 +msgid "Clearing the output buffer as completed." msgstr "" -#: src/Schemas/Productscml/Core.php:378 +#: src/Schemas/Productscml/Core.php:368 +msgid "Processing a commercial info." +msgstr "" + +#: src/Schemas/Productscml/Core.php:389 +msgid "Processing a classifier." +msgstr "" + +#: src/Schemas/Productscml/Core.php:403 +msgid "SimpleXMLElement threw an exception when converting the classifier." +msgstr "" + +#: src/Schemas/Productscml/Core.php:413 +msgid "DecoderCML threw an exception when converting the classifier." +msgstr "" + +#: src/Schemas/Productscml/Core.php:435 msgid "Classifier !instanceof ClassifierDataContract. Processing skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:415 +#: src/Schemas/Productscml/Core.php:457 +msgid "Processing a classifier an completed." +msgstr "" + +#: src/Schemas/Productscml/Core.php:476 msgid "Classifier groups is empty." msgstr "" -#: src/Schemas/Productscml/Core.php:456 +#: src/Schemas/Productscml/Core.php:517 msgid "Classifier group processing." msgstr "" -#: src/Schemas/Productscml/Core.php:471 +#: src/Schemas/Productscml/Core.php:532 msgid "Category search by external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:477 +#: src/Schemas/Productscml/Core.php:538 msgid "Category search result by external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:486 +#: src/Schemas/Productscml/Core.php:547 msgid "Category search by group ID from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:492 +#: src/Schemas/Productscml/Core.php:553 msgid "Category search result by group ID from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:509 +#: src/Schemas/Productscml/Core.php:570 msgid "" "More than one category found by ID from 1C. Assigning the first available." msgstr "" -#: src/Schemas/Productscml/Core.php:517 +#: src/Schemas/Productscml/Core.php:578 msgid "Category not found. Trying to use existing categories." msgstr "" -#: src/Schemas/Productscml/Core.php:526 +#: src/Schemas/Productscml/Core.php:587 msgid "No category found for the specified name." msgstr "" -#: src/Schemas/Productscml/Core.php:546 +#: src/Schemas/Productscml/Core.php:607 msgid "Category found by name without nesting." msgstr "" -#: src/Schemas/Productscml/Core.php:558 +#: src/Schemas/Productscml/Core.php:619 msgid "Category search taking into account nesting." msgstr "" -#: src/Schemas/Productscml/Core.php:565 +#: src/Schemas/Productscml/Core.php:626 msgid "Category found. The parent is absent both in 1C and on the site." msgstr "" -#: src/Schemas/Productscml/Core.php:598 +#: src/Schemas/Productscml/Core.php:659 msgid "" "Assigning a category identifier according to 1C data for an existing " "category." msgstr "" -#: src/Schemas/Productscml/Core.php:606 +#: src/Schemas/Productscml/Core.php:667 msgid "Assigning a parent category ID from 1C to an existing category." msgstr "" -#: src/Schemas/Productscml/Core.php:614 +#: src/Schemas/Productscml/Core.php:675 msgid "Saving a category." msgstr "" -#: src/Schemas/Productscml/Core.php:626 +#: src/Schemas/Productscml/Core.php:687 msgid "The category exists. Started updating the data of an existing category." msgstr "" -#: src/Schemas/Productscml/Core.php:630 +#: src/Schemas/Productscml/Core.php:691 msgid "" "Category data update is skipped, it is disabled in the configuration " "settings." msgstr "" -#: src/Schemas/Productscml/Core.php:639 +#: src/Schemas/Productscml/Core.php:700 msgid "" "Category update skipped. The category was created from a different " "configuration." msgstr "" -#: src/Schemas/Productscml/Core.php:648 +#: src/Schemas/Productscml/Core.php:709 msgid "Category name update." msgstr "" -#: src/Schemas/Productscml/Core.php:652 +#: src/Schemas/Productscml/Core.php:713 msgid "The name of the category has not changed, skipping the name update." msgstr "" -#: src/Schemas/Productscml/Core.php:656 +#: src/Schemas/Productscml/Core.php:717 msgid "A new category name has been set." msgstr "" -#: src/Schemas/Productscml/Core.php:677 src/Schemas/Productscml/Core.php:690 +#: src/Schemas/Productscml/Core.php:738 src/Schemas/Productscml/Core.php:751 msgid "" "The image updating for the category is missing. It is not found in the media " "library." msgstr "" -#: src/Schemas/Productscml/Core.php:703 +#: src/Schemas/Productscml/Core.php:764 msgid "Category description update." msgstr "" -#: src/Schemas/Productscml/Core.php:707 +#: src/Schemas/Productscml/Core.php:768 msgid "" "The description of the category has not changed, skipping the description " "update." msgstr "" -#: src/Schemas/Productscml/Core.php:711 +#: src/Schemas/Productscml/Core.php:772 msgid "A new category description has been set." msgstr "" -#: src/Schemas/Productscml/Core.php:722 +#: src/Schemas/Productscml/Core.php:783 msgid "Update the parent for the category." msgstr "" -#: src/Schemas/Productscml/Core.php:726 +#: src/Schemas/Productscml/Core.php:787 msgid "The parent is absent in 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:732 src/Schemas/Productscml/Core.php:786 +#: src/Schemas/Productscml/Core.php:793 src/Schemas/Productscml/Core.php:847 msgid "Search for a parent category by ID from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:741 src/Schemas/Productscml/Core.php:795 +#: src/Schemas/Productscml/Core.php:802 src/Schemas/Productscml/Core.php:856 msgid "" "More than one parent category found by ID from 1C. Assigning the first " "available." msgstr "" -#: src/Schemas/Productscml/Core.php:747 src/Schemas/Productscml/Core.php:801 +#: src/Schemas/Productscml/Core.php:808 src/Schemas/Productscml/Core.php:862 msgid "Assigning parent IDs to a category." msgstr "" -#: src/Schemas/Productscml/Core.php:757 +#: src/Schemas/Productscml/Core.php:818 msgid "Update data of existing category completed successfully." msgstr "" -#: src/Schemas/Productscml/Core.php:766 +#: src/Schemas/Productscml/Core.php:827 msgid "The category does not exist. Category creation started." msgstr "" -#: src/Schemas/Productscml/Core.php:818 +#: src/Schemas/Productscml/Core.php:879 msgid "Assign a description to a category." msgstr "" -#: src/Schemas/Productscml/Core.php:825 +#: src/Schemas/Productscml/Core.php:886 msgid "Assign a image to a category." msgstr "" -#: src/Schemas/Productscml/Core.php:837 src/Schemas/Productscml/Core.php:850 +#: src/Schemas/Productscml/Core.php:898 src/Schemas/Productscml/Core.php:911 msgid "" "The image assignment for the category is missing. It is not found in the " "media library." msgstr "" -#: src/Schemas/Productscml/Core.php:860 +#: src/Schemas/Productscml/Core.php:921 msgid "Category creation completed successfully." msgstr "" -#: src/Schemas/Productscml/Core.php:867 +#: src/Schemas/Productscml/Core.php:928 msgid "Creating, updating and using categories is disabled." msgstr "" -#: src/Schemas/Productscml/Core.php:888 +#: src/Schemas/Productscml/Core.php:944 msgid "Classifier properties is empty." msgstr "" -#: src/Schemas/Productscml/Core.php:904 +#: src/Schemas/Productscml/Core.php:960 msgid "Creating and updating attributes based on classifier properties." msgstr "" -#: src/Schemas/Productscml/Core.php:913 +#: src/Schemas/Productscml/Core.php:969 msgid "Classifier properties processing." msgstr "" -#: src/Schemas/Productscml/Core.php:926 +#: src/Schemas/Productscml/Core.php:982 msgid "Attribute search by external algorithms for the classifier property." msgstr "" -#: src/Schemas/Productscml/Core.php:931 +#: src/Schemas/Productscml/Core.php:987 msgid "An existing attribute was found when searching by external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:940 +#: src/Schemas/Productscml/Core.php:996 msgid "Search for an attribute by name for a classifier property." msgstr "" -#: src/Schemas/Productscml/Core.php:946 +#: src/Schemas/Productscml/Core.php:1002 msgid "An existing attribute was found when searching by name." msgstr "" -#: src/Schemas/Productscml/Core.php:957 +#: src/Schemas/Productscml/Core.php:1013 msgid "The attribute was not found. Creating." msgstr "" -#: src/Schemas/Productscml/Core.php:966 +#: src/Schemas/Productscml/Core.php:1022 +msgid "The attribute was not created. Creating error." +msgstr "" + +#: src/Schemas/Productscml/Core.php:1029 msgid "The attribute was not found. Creating disabled." msgstr "" -#: src/Schemas/Productscml/Core.php:975 +#: src/Schemas/Productscml/Core.php:1038 msgid "" "Values for the attribute were found in the classifier properties. Processing." msgstr "" -#: src/Schemas/Productscml/Core.php:981 +#: src/Schemas/Productscml/Core.php:1044 msgid "Assigning a value for an attribute." msgstr "" -#: src/Schemas/Productscml/Core.php:987 +#: src/Schemas/Productscml/Core.php:1050 msgid "Value for attribute not found. Adding value." msgstr "" -#: src/Schemas/Productscml/Core.php:991 +#: src/Schemas/Productscml/Core.php:1054 msgid "Failed to add value for attribute." msgstr "" -#: src/Schemas/Productscml/Core.php:996 +#: src/Schemas/Productscml/Core.php:1059 msgid "The value for the attribute was added earlier. Skip adding value." msgstr "" -#: src/Schemas/Productscml/Core.php:1002 +#: src/Schemas/Productscml/Core.php:1065 msgid "" "Adding values for attributes based on classifier properties is disabled." msgstr "" -#: src/Schemas/Productscml/Core.php:1007 +#: src/Schemas/Productscml/Core.php:1070 msgid "" "The creation and updates of attributes based on the classifier properties " "has been successfully completed." msgstr "" -#: src/Schemas/Productscml/Core.php:1011 +#: src/Schemas/Productscml/Core.php:1074 msgid "Creating, updating and using attributes is disabled." msgstr "" -#: src/Schemas/Productscml/Core.php:1024 -msgid "Classifier processing." +#: src/Schemas/Productscml/Core.php:1087 +msgid "Saving classifier data." msgstr "" -#: src/Schemas/Productscml/Core.php:1031 +#: src/Schemas/Productscml/Core.php:1094 msgid "Found existing classifiers. Search in existing ones by ID." msgstr "" -#: src/Schemas/Productscml/Core.php:1040 +#: src/Schemas/Productscml/Core.php:1103 msgid "The processed classifier is found in the existing ones." msgstr "" -#: src/Schemas/Productscml/Core.php:1048 +#: src/Schemas/Productscml/Core.php:1111 msgid "Classifier not found. Adding a classifier to existing ones." msgstr "" -#: src/Schemas/Productscml/Core.php:1067 +#: src/Schemas/Productscml/Core.php:1130 msgid "Updating the data of an existing classifier." msgstr "" -#: src/Schemas/Productscml/Core.php:1071 +#: src/Schemas/Productscml/Core.php:1134 msgid "Update the properties of an existing classifier." msgstr "" -#: src/Schemas/Productscml/Core.php:1078 +#: src/Schemas/Productscml/Core.php:1141 msgid "Update the groups of an existing classifier." msgstr "" -#: src/Schemas/Productscml/Core.php:1085 +#: src/Schemas/Productscml/Core.php:1148 msgid "Update the units of an existing classifier." msgstr "" -#: src/Schemas/Productscml/Core.php:1092 +#: src/Schemas/Productscml/Core.php:1155 msgid "Update the warehouses of an existing classifier." msgstr "" -#: src/Schemas/Productscml/Core.php:1099 +#: src/Schemas/Productscml/Core.php:1162 msgid "Update the price types of an existing classifier." msgstr "" -#: src/Schemas/Productscml/Core.php:1106 +#: src/Schemas/Productscml/Core.php:1169 msgid "Saving classifier data in its entirety." msgstr "" -#: src/Schemas/Productscml/Core.php:1114 +#: src/Schemas/Productscml/Core.php:1177 msgid "Saving classifier data in terms of groups." msgstr "" -#: src/Schemas/Productscml/Core.php:1122 +#: src/Schemas/Productscml/Core.php:1185 msgid "Saving classifier data in terms of categories." msgstr "" -#: src/Schemas/Productscml/Core.php:1130 +#: src/Schemas/Productscml/Core.php:1193 msgid "Saving classifier data in terms of properties." msgstr "" -#: src/Schemas/Productscml/Core.php:1138 +#: src/Schemas/Productscml/Core.php:1201 msgid "Saving classifier data in terms of price types." msgstr "" -#: src/Schemas/Productscml/Core.php:1146 +#: src/Schemas/Productscml/Core.php:1209 msgid "Saving classifier data in terms of units." msgstr "" -#: src/Schemas/Productscml/Core.php:1154 +#: src/Schemas/Productscml/Core.php:1217 msgid "Saving classifier data in terms of warehouses." msgstr "" -#: src/Schemas/Productscml/Core.php:1182 -msgid "Processing of the product catalog is completed." +#: src/Schemas/Productscml/Core.php:1224 +msgid "Saving classifier data as completed." +msgstr "" + +#: src/Schemas/Productscml/Core.php:1245 +msgid "" +"The catalog with products contains full data. The time of the last full " +"exchange has been set." +msgstr "" + +#: src/Schemas/Productscml/Core.php:1270 +msgid "Processing a catalog with products as completed." msgstr "" -#: src/Schemas/Productscml/Core.php:1187 +#: src/Schemas/Productscml/Core.php:1275 msgid "Saving a catalog to meta configuration data." msgstr "" -#: src/Schemas/Productscml/Core.php:1201 -msgid "The catalog object has not been previously initialized. Initialization." +#: src/Schemas/Productscml/Core.php:1287 +msgid "Processing a catalog with products." msgstr "" -#: src/Schemas/Productscml/Core.php:1217 -#: src/Schemas/Productscml/Receiver.php:130 -msgid "The time of the last full exchange has been set." +#: src/Schemas/Productscml/Core.php:1291 +msgid "The catalog object has not been previously initialized. Initialization." msgstr "" -#: src/Schemas/Productscml/Core.php:1230 +#: src/Schemas/Productscml/Core.php:1310 msgid "The catalog object has been assigned an ID." msgstr "" -#: src/Schemas/Productscml/Core.php:1234 +#: src/Schemas/Productscml/Core.php:1314 msgid "The catalog object has been assigned a classifier ID." msgstr "" -#: src/Schemas/Productscml/Core.php:1238 +#: src/Schemas/Productscml/Core.php:1318 msgid "A name has been assigned to the catalog object." msgstr "" -#: src/Schemas/Productscml/Core.php:1243 +#: src/Schemas/Productscml/Core.php:1323 msgid "The catalog object has been assigned an owner." msgstr "" -#: src/Schemas/Productscml/Core.php:1247 +#: src/Schemas/Productscml/Core.php:1327 msgid "A description has been assigned to the catalog object." msgstr "" -#: src/Schemas/Productscml/Core.php:1252 +#: src/Schemas/Productscml/Core.php:1332 msgid "A warehouses has been assigned to the catalog object." msgstr "" -#: src/Schemas/Productscml/Core.php:1266 +#: src/Schemas/Productscml/Core.php:1346 msgid "" "Products creation and updating is disabled. The processing of goods was " "skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:1291 +#: src/Schemas/Productscml/Core.php:1358 +msgid "An exception was thrown from SimpleXMLElement." +msgstr "" + +#: src/Schemas/Productscml/Core.php:1371 +msgid "An exception was thrown while decoding the product." +msgstr "" + +#: src/Schemas/Productscml/Core.php:1387 msgid "The product is modified according to external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:1296 +#: src/Schemas/Productscml/Core.php:1392 msgid "Product !instanceof ProductDataContract. Processing skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:1305 src/Schemas/Productscml/Core.php:4514 +#: src/Schemas/Productscml/Core.php:1401 src/Schemas/Productscml/Core.php:4737 msgid "" "The use of products with characteristics is disabled. Processing skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:1349 +#: src/Schemas/Productscml/Core.php:1421 +msgid "An exception was thrown while processing the product." +msgstr "" + +#: src/Schemas/Productscml/Core.php:1445 msgid "Move on to the next product." msgstr "" -#: src/Schemas/Productscml/Core.php:1367 +#: src/Schemas/Productscml/Core.php:1463 msgid "Assign a name to the product." msgstr "" -#: src/Schemas/Productscml/Core.php:1371 +#: src/Schemas/Productscml/Core.php:1467 msgid "The product is a variation. Name assignment omitted." msgstr "" -#: src/Schemas/Productscml/Core.php:1380 +#: src/Schemas/Productscml/Core.php:1476 msgid "The source for assigning the product name has not been selected." msgstr "" -#: src/Schemas/Productscml/Core.php:1387 +#: src/Schemas/Productscml/Core.php:1483 msgid "Product name update skipped because its disabled in the settings." msgstr "" -#: src/Schemas/Productscml/Core.php:1429 +#: src/Schemas/Productscml/Core.php:1525 msgid "Assign name of the product has been successfully completed." msgstr "" -#: src/Schemas/Productscml/Core.php:1433 +#: src/Schemas/Productscml/Core.php:1529 msgid "The name assignment for the product is skipping. Name is not changed." msgstr "" -#: src/Schemas/Productscml/Core.php:1497 -msgid "Assign a SKU to a product." +#: src/Schemas/Productscml/Core.php:1593 +msgid "Assigning a SKU to a product." msgstr "" -#: src/Schemas/Productscml/Core.php:1501 -msgid "SKU update during product update is disabled in the settings." +#: src/Schemas/Productscml/Core.php:1597 +msgid "" +"SKU update during product update is disabled in the configuration settings." msgstr "" -#: src/Schemas/Productscml/Core.php:1508 -msgid "Adding a SKU when adding a product is disabled in the settings." +#: src/Schemas/Productscml/Core.php:1604 +msgid "" +"Adding a SKU when adding a product is disabled in the configuration settings." msgstr "" -#: src/Schemas/Productscml/Core.php:1517 -msgid "The source for the article is not specified." +#: src/Schemas/Productscml/Core.php:1613 +msgid "The source of the SKUs is not specified." msgstr "" -#: src/Schemas/Productscml/Core.php:1559 +#: src/Schemas/Productscml/Core.php:1655 msgid "" "SKU update skipped. The mode of adding SKU is enabled for products that do " "not have them." msgstr "" -#: src/Schemas/Productscml/Core.php:1566 +#: src/Schemas/Productscml/Core.php:1662 msgid "" "SKU update skipped. The mode for adding SKUs is enabled for products that " "have them on the site and in 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:1575 -msgid "The SKU assignment for the product has been successfully completed." +#: src/Schemas/Productscml/Core.php:1669 +msgid "SKU update skipped. A new SKU is equal to an already filled SKU." +msgstr "" + +#: src/Schemas/Productscml/Core.php:1676 +msgid "Assigning a SKU to a product as completed." msgstr "" -#: src/Schemas/Productscml/Core.php:1579 +#: src/Schemas/Productscml/Core.php:1682 msgid "Failed to set SKU for product." msgstr "" -#: src/Schemas/Productscml/Core.php:1864 +#: src/Schemas/Productscml/Core.php:1967 msgid "Assign a description to the product." msgstr "" -#: src/Schemas/Productscml/Core.php:1868 +#: src/Schemas/Productscml/Core.php:1971 msgid "" "Assigning a description to the created product is disabled. Assigning " "description skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:1875 +#: src/Schemas/Productscml/Core.php:1978 msgid "" "Assigning a description to the updated product is disabled. Assigning " "description skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:1921 +#: src/Schemas/Productscml/Core.php:2024 msgid "" "When updating products, it is allowed to add descriptions only to products " "without a description on the site if there is a description in 1C. Assigning " "skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:1928 +#: src/Schemas/Productscml/Core.php:2031 msgid "" "When updating products, it is allowed to add descriptions only to products " "with a description on the site if there is a description in 1C. Assigning " "skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:1939 +#: src/Schemas/Productscml/Core.php:2042 msgid "Assign description of the product has been successfully completed." msgstr "" -#: src/Schemas/Productscml/Core.php:1943 +#: src/Schemas/Productscml/Core.php:2046 msgid "" "The description assignment for the product is skipping. Description is not " "changed." msgstr "" -#: src/Schemas/Productscml/Core.php:1961 +#: src/Schemas/Productscml/Core.php:2064 msgid "Assign a full description to the product." msgstr "" -#: src/Schemas/Productscml/Core.php:1965 +#: src/Schemas/Productscml/Core.php:2068 msgid "" "Assigning a full description to the created product is disabled. Assigning " "description skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:1972 +#: src/Schemas/Productscml/Core.php:2075 msgid "" "Assigning a full description to the updated product is disabled. Assigning " "description skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2017 +#: src/Schemas/Productscml/Core.php:2120 msgid "" "When updating products, it is allowed to add full descriptions only to " "products without a description on the site if there is a description in 1C. " "Assigning skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2024 +#: src/Schemas/Productscml/Core.php:2127 msgid "" "When updating products, it is allowed to add full descriptions only to " "products with a description on the site if there is a description in 1C. " "Assigning skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2035 +#: src/Schemas/Productscml/Core.php:2138 msgid "Assign full description of the product has been successfully completed." msgstr "" -#: src/Schemas/Productscml/Core.php:2039 +#: src/Schemas/Productscml/Core.php:2142 msgid "" "The full description assignment for the product is skipping. Description is " "not changed." msgstr "" -#: src/Schemas/Productscml/Core.php:2058 +#: src/Schemas/Productscml/Core.php:2161 msgid "Assign categories to a product." msgstr "" -#: src/Schemas/Productscml/Core.php:2062 +#: src/Schemas/Productscml/Core.php:2165 msgid "" "Assigning categories when creating products is disabled in the settings." msgstr "" -#: src/Schemas/Productscml/Core.php:2069 +#: src/Schemas/Productscml/Core.php:2172 msgid "" "The assignment of categories when creating products is enabled, but in 1C " "the product does not have groups." msgstr "" -#: src/Schemas/Productscml/Core.php:2076 +#: src/Schemas/Productscml/Core.php:2179 msgid "Update categories when updating products is disabled in the settings." msgstr "" -#: src/Schemas/Productscml/Core.php:2083 +#: src/Schemas/Productscml/Core.php:2186 msgid "Variations cannot be categorized. Skip assigning categories." msgstr "" -#: src/Schemas/Productscml/Core.php:2092 +#: src/Schemas/Productscml/Core.php:2195 msgid "" "The source for assigning categories was not specified. Skip assigning " "categories." msgstr "" -#: src/Schemas/Productscml/Core.php:2106 +#: src/Schemas/Productscml/Core.php:2209 msgid "Filling in product categories based on classifier groups." msgstr "" -#: src/Schemas/Productscml/Core.php:2110 +#: src/Schemas/Productscml/Core.php:2213 msgid "Processing of the classifier group." msgstr "" -#: src/Schemas/Productscml/Core.php:2116 +#: src/Schemas/Productscml/Core.php:2219 msgid "The category was found by the external group ID from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:2122 +#: src/Schemas/Productscml/Core.php:2225 msgid "Category not found by external group ID from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:2128 +#: src/Schemas/Productscml/Core.php:2231 msgid "" "Categories update skipped. The mode of adding categories is enabled for " "products that do not have them." msgstr "" -#: src/Schemas/Productscml/Core.php:2135 +#: src/Schemas/Productscml/Core.php:2238 msgid "" "Categories update skipped. The mode for adding categories is enabled for " "products that have them on the site and in 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:2147 +#: src/Schemas/Productscml/Core.php:2250 msgid "Filling parent categories according to the WordPress structure." msgstr "" -#: src/Schemas/Productscml/Core.php:2151 +#: src/Schemas/Productscml/Core.php:2254 msgid "Filling result." msgstr "" -#: src/Schemas/Productscml/Core.php:2156 +#: src/Schemas/Productscml/Core.php:2259 msgid "Category assignment completed successfully." msgstr "" -#: src/Schemas/Productscml/Core.php:2286 +#: src/Schemas/Productscml/Core.php:2389 msgid "Assigning images to a product by offers." msgstr "" -#: src/Schemas/Productscml/Core.php:2290 +#: src/Schemas/Productscml/Core.php:2393 msgid "" -"Assignment of images based on offer package is only possible for " -"variations.. Assigning skipped" +"Assigning of images based on offer package is only possible for variations. " +"Assignment skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2297 src/Schemas/Productscml/Core.php:2421 +#: src/Schemas/Productscml/Core.php:2400 msgid "" "Image assignments for CommerceML data are disabled in the settings. " -"Assigning skipped." +"Assignment skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2304 -msgid "There are no images for the product. Assigning skipped." +#: src/Schemas/Productscml/Core.php:2407 +msgid "There are no images for the product. Assignment skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2311 src/Schemas/Productscml/Core.php:2449 +#: src/Schemas/Productscml/Core.php:2414 msgid "" -"Image assignment for the product being updated is disabled. Assigning " +"Image assigning for the product being updated is disabled. Assignment " "skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2322 src/Schemas/Productscml/Core.php:2460 +#: src/Schemas/Productscml/Core.php:2425 msgid "" "The product being updated contains images. Adding images is allowed only if " -"there are none. Assigning skipped." +"there are none. Assignment skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2329 src/Schemas/Productscml/Core.php:2467 +#: src/Schemas/Productscml/Core.php:2432 msgid "" "The product being updated does not contain an image. Updating images is " -"allowed only if they are present on the site and in 1C. Assigning skipped." +"allowed only if they are present on the site and in 1C. Assignment skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2348 src/Schemas/Productscml/Core.php:2483 +#: src/Schemas/Productscml/Core.php:2451 src/Schemas/Productscml/Core.php:2586 msgid "" "The maximum possible number of images has been processed. The rest of the " "images are skip." msgstr "" -#: src/Schemas/Productscml/Core.php:2358 src/Schemas/Productscml/Core.php:2371 -#: src/Schemas/Productscml/Core.php:2493 src/Schemas/Productscml/Core.php:2506 +#: src/Schemas/Productscml/Core.php:2461 src/Schemas/Productscml/Core.php:2474 +#: src/Schemas/Productscml/Core.php:2596 src/Schemas/Productscml/Core.php:2609 msgid "" "The image assignment for the product is missing. Image is not found in the " "media library." msgstr "" -#: src/Schemas/Productscml/Core.php:2391 +#: src/Schemas/Productscml/Core.php:2494 msgid "Assigning a main image for a product variation." msgstr "" -#: src/Schemas/Productscml/Core.php:2399 src/Schemas/Productscml/Core.php:2528 -msgid "Product images assign completed successfully." +#: src/Schemas/Productscml/Core.php:2502 +msgid "Assigning images to a product by offers as completed." msgstr "" -#: src/Schemas/Productscml/Core.php:2417 +#: src/Schemas/Productscml/Core.php:2520 msgid "Assign images to a product." msgstr "" -#: src/Schemas/Productscml/Core.php:2428 +#: src/Schemas/Productscml/Core.php:2524 +msgid "" +"Image assignments for CommerceML data are disabled in the settings. " +"Assigning skipped." +msgstr "" + +#: src/Schemas/Productscml/Core.php:2531 msgid "There are no images for the product being created. Assigning skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2435 +#: src/Schemas/Productscml/Core.php:2538 msgid "" "Assigning images to a product variation is not possible. Assigning skipped" msgstr "" -#: src/Schemas/Productscml/Core.php:2442 +#: src/Schemas/Productscml/Core.php:2545 msgid "Assigning images to the created product is disabled. Assigning skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2517 +#: src/Schemas/Productscml/Core.php:2552 +msgid "" +"Image assignment for the product being updated is disabled. Assigning " +"skipped." +msgstr "" + +#: src/Schemas/Productscml/Core.php:2563 +msgid "" +"The product being updated contains images. Adding images is allowed only if " +"there are none. Assigning skipped." +msgstr "" + +#: src/Schemas/Productscml/Core.php:2570 +msgid "" +"The product being updated does not contain an image. Updating images is " +"allowed only if they are present on the site and in 1C. Assigning skipped." +msgstr "" + +#: src/Schemas/Productscml/Core.php:2691 msgid "Assigning a main image for a product." msgstr "" -#: src/Schemas/Productscml/Core.php:2736 +#: src/Schemas/Productscml/Core.php:2702 +msgid "Assign images to a product as completed." +msgstr "" + +#: src/Schemas/Productscml/Core.php:2910 msgid "Assigning attributes for product." msgstr "" -#: src/Schemas/Productscml/Core.php:2852 +#: src/Schemas/Productscml/Core.php:3026 msgid "Adding attributes to the product is successfully." msgstr "" -#: src/Schemas/Productscml/Core.php:2858 +#: src/Schemas/Productscml/Core.php:3032 msgid "Adding default attributes to the variable product is successfully." msgstr "" -#: src/Schemas/Productscml/Core.php:2876 +#: src/Schemas/Productscml/Core.php:3050 msgid "Assigning attributes for variation." msgstr "" -#: src/Schemas/Productscml/Core.php:2886 +#: src/Schemas/Productscml/Core.php:3060 msgid "The parent product was not found. Skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2893 +#: src/Schemas/Productscml/Core.php:3067 msgid "The parent product is variation. Skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:2902 +#: src/Schemas/Productscml/Core.php:3076 msgid "The parent product attributes." msgstr "" -#: src/Schemas/Productscml/Core.php:2919 +#: src/Schemas/Productscml/Core.php:3093 msgid "The attribute was not found in the parent product." msgstr "" -#: src/Schemas/Productscml/Core.php:2925 +#: src/Schemas/Productscml/Core.php:3099 msgid "The attribute is not for variations." msgstr "" -#: src/Schemas/Productscml/Core.php:2952 +#: src/Schemas/Productscml/Core.php:3126 msgid "Adding attributes to the variation is successfully." msgstr "" -#: src/Schemas/Productscml/Core.php:2969 +#: src/Schemas/Productscml/Core.php:3143 msgid "Getting to variation parent attributes." msgstr "" -#: src/Schemas/Productscml/Core.php:2993 +#: src/Schemas/Productscml/Core.php:3167 msgid "The attribute is not for variations. Save required." msgstr "" -#: src/Schemas/Productscml/Core.php:3006 +#: src/Schemas/Productscml/Core.php:3180 msgid "Preserve parent attributes for accessibility in variations." msgstr "" -#: src/Schemas/Productscml/Core.php:3028 +#: src/Schemas/Productscml/Core.php:3202 msgid "Processing of product attributes." msgstr "" -#: src/Schemas/Productscml/Core.php:3032 +#: src/Schemas/Productscml/Core.php:3206 msgid "" "Assigning attributes when creating products is disabled. Attribute " "assignment skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:3039 +#: src/Schemas/Productscml/Core.php:3213 msgid "" "Assigning attributes when updating products is disabled. Attribute " "assignment skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:3044 +#: src/Schemas/Productscml/Core.php:3218 msgid "" "Assigning attributes to a product based on the properties of the product " "catalog." msgstr "" -#: src/Schemas/Productscml/Core.php:3048 +#: src/Schemas/Productscml/Core.php:3222 msgid "Zeroing the characteristics of a variable product." msgstr "" -#: src/Schemas/Productscml/Core.php:3063 src/Schemas/Productscml/Core.php:3294 +#: src/Schemas/Productscml/Core.php:3237 src/Schemas/Productscml/Core.php:3468 msgid "Processing of product properties." msgstr "" -#: src/Schemas/Productscml/Core.php:3071 src/Schemas/Productscml/Core.php:3308 +#: src/Schemas/Productscml/Core.php:3245 src/Schemas/Productscml/Core.php:3482 msgid "The attribute has an empty value." msgstr "" -#: src/Schemas/Productscml/Core.php:3077 src/Schemas/Productscml/Core.php:3314 +#: src/Schemas/Productscml/Core.php:3251 src/Schemas/Productscml/Core.php:3488 msgid "The attribute was not found in the classifier properties." msgstr "" -#: src/Schemas/Productscml/Core.php:3091 src/Schemas/Productscml/Core.php:3328 +#: src/Schemas/Productscml/Core.php:3265 src/Schemas/Productscml/Core.php:3502 msgid "The attribute contains an empty value identifier." msgstr "" -#: src/Schemas/Productscml/Core.php:3114 src/Schemas/Productscml/Core.php:3358 +#: src/Schemas/Productscml/Core.php:3288 src/Schemas/Productscml/Core.php:3532 msgid "" "Adding values from product properties is disabled and the value is missing " "from the classifier properties directory. Adding a value is skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:3141 src/Schemas/Productscml/Core.php:3381 +#: src/Schemas/Productscml/Core.php:3315 src/Schemas/Productscml/Core.php:3555 msgid "Processing of product characteristics." msgstr "" -#: src/Schemas/Productscml/Core.php:3165 src/Schemas/Productscml/Core.php:3404 -#: src/Schemas/Productscml/Core.php:3482 +#: src/Schemas/Productscml/Core.php:3339 src/Schemas/Productscml/Core.php:3578 +#: src/Schemas/Productscml/Core.php:3656 msgid "The characteristic has an empty value." msgstr "" -#: src/Schemas/Productscml/Core.php:3175 src/Schemas/Productscml/Core.php:3414 -#: src/Schemas/Productscml/Core.php:3490 +#: src/Schemas/Productscml/Core.php:3349 src/Schemas/Productscml/Core.php:3588 +#: src/Schemas/Productscml/Core.php:3664 msgid "The attribute was not found. Creating by characteristic." msgstr "" -#: src/Schemas/Productscml/Core.php:3199 src/Schemas/Productscml/Core.php:3445 -#: src/Schemas/Productscml/Core.php:3514 +#: src/Schemas/Productscml/Core.php:3373 src/Schemas/Productscml/Core.php:3619 +#: src/Schemas/Productscml/Core.php:3688 msgid "" "Adding values from product characteristics is disabled and the value is " "missing in global attributes. Adding a value is skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:3243 src/Schemas/Productscml/Core.php:3557 +#: src/Schemas/Productscml/Core.php:3417 src/Schemas/Productscml/Core.php:3731 msgid "Attributes before processing." msgstr "" -#: src/Schemas/Productscml/Core.php:3269 +#: src/Schemas/Productscml/Core.php:3443 msgid "" "Assigning attributes to a product based on the properties of the offers " "package." msgstr "" -#: src/Schemas/Productscml/Core.php:3273 +#: src/Schemas/Productscml/Core.php:3447 msgid "" "The file type is not an offer package. Skip assigning attributes on offer " "data." msgstr "" -#: src/Schemas/Productscml/Core.php:3335 +#: src/Schemas/Productscml/Core.php:3509 msgid "The attribute contains in products characteristics." msgstr "" -#: src/Schemas/Productscml/Core.php:3561 +#: src/Schemas/Productscml/Core.php:3735 msgid "Attributes not found. Skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:3593 +#: src/Schemas/Productscml/Core.php:3767 msgid "Prices processing." msgstr "" -#: src/Schemas/Productscml/Core.php:3597 +#: src/Schemas/Productscml/Core.php:3771 msgid "Prices is not found. Update skipping." msgstr "" -#: src/Schemas/Productscml/Core.php:3603 +#: src/Schemas/Productscml/Core.php:3777 msgid "Prices before processing." msgstr "" -#: src/Schemas/Productscml/Core.php:3641 +#: src/Schemas/Productscml/Core.php:3815 msgid "Assign the regular price." msgstr "" -#: src/Schemas/Productscml/Core.php:3674 +#: src/Schemas/Productscml/Core.php:3848 msgid "Assign the sale price." msgstr "" -#: src/Schemas/Productscml/Core.php:3682 +#: src/Schemas/Productscml/Core.php:3856 msgid "Assign the current price from sale price." msgstr "" -#: src/Schemas/Productscml/Core.php:3687 +#: src/Schemas/Productscml/Core.php:3861 msgid "Assign the current price from regular price." msgstr "" -#: src/Schemas/Productscml/Core.php:3694 +#: src/Schemas/Productscml/Core.php:3868 msgid "Prices processing is off. Assigning is skip." msgstr "" -#: src/Schemas/Productscml/Core.php:3698 +#: src/Schemas/Productscml/Core.php:3872 msgid "Prices processing is successful." msgstr "" -#: src/Schemas/Productscml/Core.php:3720 +#: src/Schemas/Productscml/Core.php:3894 msgid "Inventories processing." msgstr "" -#: src/Schemas/Productscml/Core.php:3724 +#: src/Schemas/Productscml/Core.php:3898 msgid "" "Product inventories update by offers quantity is disabled. Update skipping." msgstr "" -#: src/Schemas/Productscml/Core.php:3728 +#: src/Schemas/Productscml/Core.php:3902 msgid "Set inventories by offers quantity: start." msgstr "" -#: src/Schemas/Productscml/Core.php:3744 +#: src/Schemas/Productscml/Core.php:3918 msgid "" "Product inventories stored in parent product. Update variation skipping." msgstr "" -#: src/Schemas/Productscml/Core.php:3778 +#: src/Schemas/Productscml/Core.php:3952 msgid "Set inventories by offers quantity: end." msgstr "" -#: src/Schemas/Productscml/Core.php:3804 src/Schemas/Productscml/Core.php:4184 +#: src/Schemas/Productscml/Core.php:3978 src/Schemas/Productscml/Core.php:4376 msgid "Product search by external ID from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:3814 src/Schemas/Productscml/Core.php:4194 +#: src/Schemas/Productscml/Core.php:3988 src/Schemas/Productscml/Core.php:4386 msgid "Product search result by external ID from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:3829 +#: src/Schemas/Productscml/Core.php:4003 msgid "Product search by external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:3854 +#: src/Schemas/Productscml/Core.php:4028 msgid "Products create is disabled. Product create skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:3863 +#: src/Schemas/Productscml/Core.php:4037 msgid "The use of products delete mark is disabled. Product create skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:3876 src/Schemas/Productscml/Core.php:4237 +#: src/Schemas/Productscml/Core.php:4050 src/Schemas/Productscml/Core.php:4429 msgid "The product contains the characteristics." msgstr "" -#: src/Schemas/Productscml/Core.php:3885 +#: src/Schemas/Productscml/Core.php:4059 msgid "Parent product search by external ID from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:3891 src/Schemas/Productscml/Core.php:3916 -#: src/Schemas/Productscml/Core.php:4252 +#: src/Schemas/Productscml/Core.php:4065 src/Schemas/Productscml/Core.php:4090 +#: src/Schemas/Productscml/Core.php:4444 msgid "" "Several identical parent products were found. The first one is selected." msgstr "" -#: src/Schemas/Productscml/Core.php:3895 +#: src/Schemas/Productscml/Core.php:4069 msgid "Parent product search result by external ID from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:3910 +#: src/Schemas/Productscml/Core.php:4084 msgid "Parent product search by external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:3920 src/Schemas/Productscml/Core.php:4271 +#: src/Schemas/Productscml/Core.php:4094 src/Schemas/Productscml/Core.php:4463 msgid "Parent product search result by external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:3927 src/Schemas/Productscml/Core.php:4278 +#: src/Schemas/Productscml/Core.php:4101 src/Schemas/Productscml/Core.php:4470 msgid "Parent product is not found." msgstr "" -#: src/Schemas/Productscml/Core.php:3928 +#: src/Schemas/Productscml/Core.php:4102 msgid "" "Creating simple products by characteristics is disabled in the settings. " "Product create skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:3932 src/Schemas/Productscml/Core.php:4283 +#: src/Schemas/Productscml/Core.php:4106 src/Schemas/Productscml/Core.php:4475 msgid "" "Creating simple products by characteristics is enabled in the settings. " "Parent product is not found. Creating simple product by characteristic." msgstr "" -#: src/Schemas/Productscml/Core.php:3943 src/Schemas/Productscml/Core.php:4294 +#: src/Schemas/Productscml/Core.php:4117 src/Schemas/Productscml/Core.php:4486 msgid "Changing the parent product type to variable." msgstr "" -#: src/Schemas/Productscml/Core.php:3950 src/Schemas/Productscml/Core.php:4301 +#: src/Schemas/Productscml/Core.php:4124 src/Schemas/Productscml/Core.php:4493 msgid "Variation is not found. Creating." msgstr "" -#: src/Schemas/Productscml/Core.php:3964 src/Schemas/Productscml/Core.php:4315 +#: src/Schemas/Productscml/Core.php:4138 src/Schemas/Productscml/Core.php:4507 msgid "The creation of the variation is completed." msgstr "" -#: src/Schemas/Productscml/Core.php:3969 +#: src/Schemas/Productscml/Core.php:4143 msgid "The product is simple. Creating." msgstr "" -#: src/Schemas/Productscml/Core.php:4003 +#: src/Schemas/Productscml/Core.php:4177 msgid "" "Assignment of data for the created product according to external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:4016 +#: src/Schemas/Productscml/Core.php:4190 msgid "The product is created." msgstr "" -#: src/Schemas/Productscml/Core.php:4035 +#: src/Schemas/Productscml/Core.php:4209 msgid "" "Assignment of data for the created product according to external algorithms " "after saving." msgstr "" -#: src/Schemas/Productscml/Core.php:4043 +#: src/Schemas/Productscml/Core.php:4217 msgid "The product has been updated using external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:4054 +#: src/Schemas/Productscml/Core.php:4228 msgid "Product is found. Updating." msgstr "" -#: src/Schemas/Productscml/Core.php:4061 +#: src/Schemas/Productscml/Core.php:4235 msgid "Products update is disabled in settings. Product update skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:4075 src/Schemas/Productscml/Core.php:4338 +#: src/Schemas/Productscml/Core.php:4249 src/Schemas/Productscml/Core.php:4530 msgid "The product is created from a different configuration. Update skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:4084 src/Schemas/Productscml/Core.php:4347 +#: src/Schemas/Productscml/Core.php:4258 src/Schemas/Productscml/Core.php:4539 msgid "The product is created from a different schema. Update skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:4098 +#: src/Schemas/Productscml/Core.php:4272 msgid "The use of products from trash is disabled. Updating skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:4114 +#: src/Schemas/Productscml/Core.php:4288 msgid "" "Assignment of data for the updated product according to external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:4127 -msgid "Product update has been successfully completed." +#: src/Schemas/Productscml/Core.php:4311 +msgid "Product is found. Product data is changed. Saving changes is completed." +msgstr "" + +#: src/Schemas/Productscml/Core.php:4315 +msgid "Product is found. Product data is not changed. Updating is completed." msgstr "" -#: src/Schemas/Productscml/Core.php:4146 +#: src/Schemas/Productscml/Core.php:4335 msgid "" "Assignment of data for the updated product according to external algorithms " "after saving." msgstr "" -#: src/Schemas/Productscml/Core.php:4154 +#: src/Schemas/Productscml/Core.php:4345 msgid "" "Product update after assigning data using external algorithms has been " "successfully completed." msgstr "" -#: src/Schemas/Productscml/Core.php:4174 +#: src/Schemas/Productscml/Core.php:4366 msgid "Processing an offer from a package of offers." msgstr "" -#: src/Schemas/Productscml/Core.php:4208 +#: src/Schemas/Productscml/Core.php:4400 msgid "Product not found. Search by external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:4226 +#: src/Schemas/Productscml/Core.php:4418 msgid "Product not found." msgstr "" -#: src/Schemas/Productscml/Core.php:4248 +#: src/Schemas/Productscml/Core.php:4440 msgid "Parent product search result by external code from 1C." msgstr "" -#: src/Schemas/Productscml/Core.php:4279 +#: src/Schemas/Productscml/Core.php:4471 msgid "" "Creating simple products by characteristics is disabled in the settings. " "Processing skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:4320 +#: src/Schemas/Productscml/Core.php:4512 msgid "Offer update skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:4408 src/Schemas/Productscml/Core.php:4413 +#: src/Schemas/Productscml/Core.php:4589 +msgid "Processing a the offers from offers package as completed." +msgstr "" + +#: src/Schemas/Productscml/Core.php:4594 +msgid "Processing a offers package as completed." +msgstr "" + +#: src/Schemas/Productscml/Core.php:4607 +msgid "Processing a offers package." +msgstr "" + +#: src/Schemas/Productscml/Core.php:4621 src/Schemas/Productscml/Core.php:4626 msgid "The offer package object contains only the changes." msgstr "" -#: src/Schemas/Productscml/Core.php:4458 +#: src/Schemas/Productscml/Core.php:4669 +msgid "Processing a the offers from offers package." +msgstr "" + +#: src/Schemas/Productscml/Core.php:4673 msgid "Saving the offer package to configuration meta data." msgstr "" -#: src/Schemas/Productscml/Core.php:4484 -msgid "An exception was thrown decode the offer." +#: src/Schemas/Productscml/Core.php:4697 +msgid "SimpleXMLElement threw an exception when converting the offer." +msgstr "" + +#: src/Schemas/Productscml/Core.php:4707 +msgid "DecoderCML threw an exception when converting the offer." msgstr "" -#: src/Schemas/Productscml/Core.php:4500 +#: src/Schemas/Productscml/Core.php:4723 msgid "The offer has been changed according to external algorithms." msgstr "" -#: src/Schemas/Productscml/Core.php:4505 +#: src/Schemas/Productscml/Core.php:4728 msgid "Offer !instanceof ProductDataContract. Processing skipped." msgstr "" -#: src/Schemas/Productscml/Core.php:4524 +#: src/Schemas/Productscml/Core.php:4754 msgid "An exception was thrown while processing the offer." msgstr "" +#: src/Schemas/Productscml/Core.php:4778 +msgid "Move on to the next offer." +msgstr "" + +#: src/Schemas/Productscml/Receiver.php:52 +msgid "Received new request from 1C for Receiver." +msgstr "" + +#: src/Schemas/Productscml/Receiver.php:58 +msgid "The resulting query parameters." +msgstr "" + #: src/Schemas/Productscml/Receiver.php:101 msgid "Action is not found in schema." msgstr "" -#: src/Schemas/Productscml/Receiver.php:114 +#: src/Schemas/Productscml/Receiver.php:115 msgid "Sending a successful completion of the exchange in 1C." msgstr "" -#: src/Schemas/Productscml/Receiver.php:414 +#: src/Schemas/Productscml/Receiver.php:127 +msgid "The time of the last full exchange has been set." +msgstr "" + +#: src/Schemas/Productscml/Receiver.php:320 +msgid "1C authorization has been successfully passed." +msgstr "" + +#: src/Schemas/Productscml/Receiver.php:427 msgid "PHP session none, restart last PHP session." msgstr "" -#: src/Schemas/Productscml/Receiver.php:457 +#: src/Schemas/Productscml/Receiver.php:449 +msgid "Cleaning the directory for temporary files as completed." +msgstr "" + +#: src/Schemas/Productscml/Receiver.php:453 +msgid "Cleaning the directory for temporary files as failed." +msgstr "" + +#: src/Schemas/Productscml/Receiver.php:472 msgid "Session for receiving requests is changed by external algorithms." msgstr "" -#: src/Schemas/Productscml/Receiver.php:461 +#: src/Schemas/Productscml/Receiver.php:477 msgid "Check the directory for temporary files." msgstr "" -#: src/Schemas/Productscml/Receiver.php:467 +#: src/Schemas/Productscml/Receiver.php:483 msgid "Failed to check the temp directory." msgstr "" -#: src/Schemas/Productscml/Receiver.php:622 +#: src/Schemas/Productscml/Receiver.php:585 +msgid "Writing data to a file named:" +msgstr "" + +#: src/Schemas/Productscml/Receiver.php:641 msgid "" "The file was not saved to the media library. Adding is disabled in the " "settings." msgstr "" -#: src/Schemas/Productscml/Receiver.php:671 +#: src/Schemas/Productscml/Receiver.php:697 msgid "No name" msgstr "" -#: src/Schemas/Productscml/Receiver.php:688 +#: src/Schemas/Productscml/Receiver.php:719 msgid "The image has not been added to the media library." msgstr "" -#: src/Schemas/Productscml/Receiver.php:692 +#: src/Schemas/Productscml/Receiver.php:723 msgid "Image added to media library, id:" msgstr "" -#: src/Schemas/Productscml/Receiver.php:700 +#: src/Schemas/Productscml/Receiver.php:731 msgid "" "The image has not been added to the media library. It was added earlier, id:" msgstr "" @@ -5068,39 +5457,39 @@ msgstr "" msgid "The code can be obtained from the plugin website." msgstr "" -#: views/activation/form.php:34 views/configurations/create_form.php:40 +#: views/activation/form.php:34 views/configurations/create_form.php:39 msgid "Site:" msgstr "" -#: views/activation/form.php:38 views/promo/activation.php:61 +#: views/activation/form.php:38 views/promo/activation.php:63 msgid "No financial opportunity?" msgstr "" -#: views/activation/form.php:39 views/promo/activation.php:62 +#: views/activation/form.php:39 views/promo/activation.php:64 msgid "Take part in the development of the solution you use." msgstr "" -#: views/activation/form.php:41 views/promo/activation.php:64 +#: views/activation/form.php:41 views/promo/activation.php:66 msgid "" "Information on how to participate is available in the official documentation " "on the official website." msgstr "" -#: views/activation/form.php:43 views/promo/activation.php:66 +#: views/activation/form.php:43 views/promo/activation.php:68 msgid "Docs:" msgstr "" -#: views/activation/form.php:47 views/promo/activation.php:70 +#: views/activation/form.php:47 views/promo/activation.php:72 msgid "Every activation counts!" msgstr "" -#: views/activation/form.php:48 views/promo/activation.php:71 +#: views/activation/form.php:48 views/promo/activation.php:73 msgid "" "By activating your project, you let the WC1C team know that the plugin is in " "active use." msgstr "" -#: views/activation/form.php:50 views/promo/activation.php:73 +#: views/activation/form.php:50 views/promo/activation.php:75 msgid "" "Also, you give a financial opportunity to release compatibility updates and " "add new features!" @@ -5121,14 +5510,10 @@ msgid "Create configuration" msgstr "" #: views/configurations/create_form.php:35 -msgid "More schemas for configurations" -msgstr "" - -#: views/configurations/create_form.php:36 msgid "Additional schemes are available in extensions on the official website." msgstr "" -#: views/configurations/create_form.php:38 +#: views/configurations/create_form.php:37 msgid "" "Each exchange scheme has a unique algorithm of operation and purpose. You " "need to choose only the scheme you need." @@ -5154,15 +5539,38 @@ msgstr "" msgid "Delete" msgstr "" -#: views/configurations/empty.php:7 +#: views/configurations/empty.php:8 +msgid "" +"To exchange data, at least one configuration must be created and configured." +msgstr "" + +#: views/configurations/empty.php:9 +msgid "" +"The number of settings and method of data exchange in the configuration " +"depends on the scheme selected for exchange during creation." +msgstr "" + +#: views/configurations/empty.php:22 msgid "Configurations by query is not found, query:" msgstr "" -#: views/configurations/empty.php:11 -msgid "Configurations not found." +#: views/configurations/empty.php:26 +msgid "Configurations not found" msgstr "" -#: views/configurations/empty.php:16 views/header.php:6 +#: views/configurations/empty.php:36 +msgid "" +"For flexible exchange distribution, an unlimited number of configurations " +"can be created." +msgstr "" + +#: views/configurations/empty.php:37 +msgid "" +"It is recommended to create at least two configurations: 1. To exchange " +"nomenclature data, 2. To exchange orders data." +msgstr "" + +#: views/configurations/empty.php:40 views/header.php:6 msgid "New configuration" msgstr "" @@ -5186,7 +5594,7 @@ msgstr "" msgid "Warning" msgstr "" -#: views/configurations/update_schema_error.php:5 +#: views/configurations/update_schema_error.php:6 msgid "Update is not available." msgstr "" @@ -5363,92 +5771,92 @@ msgstr "" msgid "Documentation" msgstr "" -#: views/promo/activation.php:6 +#: views/promo/activation.php:8 msgid "Your copy of the free software has not been activated." msgstr "" -#: views/promo/activation.php:7 +#: views/promo/activation.php:9 msgid "" "We recommend that you activate your copy of the free software for stable " "updates and better performance." msgstr "" -#: views/promo/activation.php:8 +#: views/promo/activation.php:10 msgid "" "After activation, this section will disappear and will no longer be shown." msgstr "" -#: views/promo/activation.php:19 +#: views/promo/activation.php:22 msgid "How to activate?" msgstr "" -#: views/promo/activation.php:21 +#: views/promo/activation.php:24 msgid "" "Get an activation code in any available way. For example, on the official " "website." msgstr "" -#: views/promo/activation.php:22 +#: views/promo/activation.php:25 msgid "Enter the activation code in the plugin settings." msgstr "" -#: views/promo/activation.php:27 +#: views/promo/activation.php:30 msgid "Why is activation required?" msgstr "" -#: views/promo/activation.php:29 +#: views/promo/activation.php:32 msgid "" "You received a copy of the software completely free of charge and you can " "use it as is without any activation." msgstr "" -#: views/promo/activation.php:30 +#: views/promo/activation.php:33 msgid "" "However, in order to receive timely, as well as necessary updates and " "improvements, it is necessary to activate the current environment." msgstr "" -#: views/promo/activation.php:33 +#: views/promo/activation.php:36 msgid "" "Activation is vital for the performance of the plugin and its further active " "development. Dont ignore activation." msgstr "" -#: views/promo/activation.php:34 +#: views/promo/activation.php:37 msgid "Each activation triggers a mechanism to improve the software you use." msgstr "" -#: views/promo/activation.php:37 +#: views/promo/activation.php:40 msgid "" "In addition to supporting the software you use, additional features will be " "added." msgstr "" -#: views/promo/activation.php:40 +#: views/promo/activation.php:43 msgid "ATTENTION! Activation does not add the possibility of extensions." msgstr "" -#: views/promo/activation.php:42 +#: views/promo/activation.php:45 msgid "" "Additional features are implemented in extensions! After activation, " "features from extensions are not activated." msgstr "" -#: views/promo/activation.php:43 +#: views/promo/activation.php:46 msgid "" "To add features, you need to install extensions. They are supplied by " "separate plugins, after activation of which the necessary features are added." msgstr "" -#: views/promo/activation.php:54 +#: views/promo/activation.php:56 msgid "Do not wait until something breaks!" msgstr "" -#: views/promo/activation.php:55 +#: views/promo/activation.php:57 msgid "Activate your current copy of the software." msgstr "" -#: views/promo/activation.php:57 +#: views/promo/activation.php:59 msgid "Buy code:" msgstr "" @@ -5486,6 +5894,10 @@ msgstr "" msgid "As soon as the tools are installed, they will appear in this section." msgstr "" +#: views/tools/item.php:14 +msgid "Open tool" +msgstr "" + #: views/wizards/error.php:3 msgid "Error. Step not found or unavailable." msgstr "" @@ -5570,8 +5982,8 @@ msgstr "" #. Description of the plugin/theme msgid "" -"Implementation of a mechanism for flexible exchange of various data between " -"1C products and the WooCommerce plugin." +"Implementing a flexible mechanism for exchanging various data between 1C " +"Company products and the WooCommerce plugin." msgstr "" #. Author of the plugin/theme diff --git a/assets/scss/_configurations.scss b/assets/scss/_configurations.scss index d8927de0..0d1b2d98 100644 --- a/assets/scss/_configurations.scss +++ b/assets/scss/_configurations.scss @@ -4,4 +4,58 @@ padding-left: 20px; background-color: white; border-left: 4px solid #fd0; +} + +.configurations-status-popover +{ + --bs-popover-max-width: 277px; + --bs-popover-border-color: #fd0; + --bs-popover-border-width: 4px; + border-radius: 2px!important; + + padding: 0!important; + border-right-width: 2px!important; + border-bottom-width: 2px!important; + border-top-width: 2px!important; + + .popover-header + { + margin: 0!important; + border-bottom-width: 2px!important; + } + + &.draft + { + --bs-popover-border-color: rgba(128, 0, 128, 0.9); + } + + &.deleted + { + --bs-popover-border-color: rgba(128, 0, 128, 0.4); + } + + &.active + { + --bs-popover-border-color: rgba(18, 128, 3, 0.6); + } + + &.processing + { + --bs-popover-border-color: #128003; + } + + &.inactive + { + --bs-popover-border-color: rgba(196, 22, 28, 0.6); + } + + &.error + { + --bs-popover-border-color: #b8151a; + } + + .popover-header, .popover-body + { + background-color: #fcf9e2; + } } \ No newline at end of file diff --git a/assets/scss/_configurations_table.scss b/assets/scss/_configurations_table.scss index 625d93c1..f51c367a 100644 --- a/assets/scss/_configurations_table.scss +++ b/assets/scss/_configurations_table.scss @@ -8,6 +8,8 @@ { height: auto; padding: 0; + margin-bottom: .5rem !important; + margin-top: .5rem !important; .tablenav-pages { @@ -39,6 +41,11 @@ font-weight: 500; } + .row-actions + { + font-size: 14px; + } + .column-name .configuration-metas { border: 1px solid #ccd0d4; @@ -48,11 +55,16 @@ margin-top: 10px; } + .row-metas-line-content + { + color: #000000!important; + } + .column-configuration_id { - width: 75px; + width: 45px; border-right: 1px solid #ccd0d4; - max-width: 75px; + max-width: 45px; @include media-breakpoint-down(md) { @@ -90,9 +102,8 @@ { .colspanchange { - padding-top: 70px!important; - padding-bottom: 70px!important; - text-align: center; + padding: 10px!important; + text-align: left; } } diff --git a/assets/scss/_nav.scss b/assets/scss/_nav.scss index a818dfb4..7b2bb568 100644 --- a/assets/scss/_nav.scss +++ b/assets/scss/_nav.scss @@ -35,12 +35,12 @@ { .nav-link { - background: #dcdcde; + background: #fcf9e2; border: 0; padding: 0.5rem 0.7rem; margin-bottom: 0; color: #1d2327; - font-weight: 600; + font-weight: 500; &.active { diff --git a/assets/scss/_other.scss b/assets/scss/_other.scss index 3c0b1ba1..66aa6c81 100644 --- a/assets/scss/_other.scss +++ b/assets/scss/_other.scss @@ -88,4 +88,12 @@ border-radius: 5px; margin-bottom: 5px; margin-top: 10px; +} + +.wc1c-yellow-alert +{ + padding: 10px 10px 10px 20px; + background-color: white; + border: 2px solid #fd0; + border-left: 4px solid #fd0; } \ No newline at end of file diff --git a/assets/scss/external/_bootsrap.scss b/assets/scss/external/_bootsrap.scss index 4d7ed2d9..27073fe1 100644 --- a/assets/scss/external/_bootsrap.scss +++ b/assets/scss/external/_bootsrap.scss @@ -1,12 +1,12 @@ /* *** Init */ -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/functions"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/variables"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/variables-dark"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/maps"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/mixins"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/utilities"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/functions"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/variables"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/variables-dark"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/maps"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/mixins"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/utilities"; @import "../variables"; @import "../mixins"; @@ -14,23 +14,23 @@ /* *** bootstrap */ -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/root"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/buttons"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/transitions"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/badge"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/button-group"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/list-group"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/grid"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/card"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/tables"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/progress"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/forms"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/nav"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/alert"; -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/popover"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/root"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/buttons"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/transitions"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/badge"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/button-group"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/list-group"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/grid"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/card"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/tables"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/progress"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/forms"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/nav"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/alert"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/popover"; // Helpers -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/helpers"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/helpers"; // Utilities -@import "F:/Sources/bootstrap/bootstrap-5.3.0/scss/utilities/api"; +@import "F:/Sources/bootstrap/bootstrap-5.3.2/scss/utilities/api"; diff --git a/assets/scss/tocbot/_tocbot-core.scss b/assets/scss/tocbot/_tocbot-core.scss index 30fda4c6..112332c5 100644 --- a/assets/scss/tocbot/_tocbot-core.scss +++ b/assets/scss/tocbot/_tocbot-core.scss @@ -60,7 +60,7 @@ a.toc-link { &.active { - background-color: #f0f0f1; + background-color: #fd0; } a @@ -69,7 +69,7 @@ a.toc-link { &.is-active-link { - //color: #FFFFFF; + color: #000; } } } diff --git a/composer.lock b/composer.lock index b4ef3d55..f20ac21b 100644 --- a/composer.lock +++ b/composer.lock @@ -413,12 +413,12 @@ "source": { "type": "git", "url": "https://github.com/wc1c/cml.git", - "reference": "cb0c82d3548080b904b93029735e57dbc0f7ae65" + "reference": "68ae67d178737518f5cc77c55ab5b6559722852f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wc1c/cml/zipball/cb0c82d3548080b904b93029735e57dbc0f7ae65", - "reference": "cb0c82d3548080b904b93029735e57dbc0f7ae65", + "url": "https://api.github.com/repos/wc1c/cml/zipball/68ae67d178737518f5cc77c55ab5b6559722852f", + "reference": "68ae67d178737518f5cc77c55ab5b6559722852f", "shasum": "" }, "require": { @@ -454,7 +454,7 @@ "support": { "source": "https://github.com/wc1c/cml/tree/main" }, - "time": "2023-07-17T09:45:23+00:00" + "time": "2024-03-29T15:05:45+00:00" }, { "name": "wc1c/wc", @@ -462,12 +462,12 @@ "source": { "type": "git", "url": "https://github.com/wc1c/wc.git", - "reference": "eafa2b62093f2bd3b6b0706255805983f6b2b6e3" + "reference": "86e85a238842a58ace261ec69d161082187301cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wc1c/wc/zipball/eafa2b62093f2bd3b6b0706255805983f6b2b6e3", - "reference": "eafa2b62093f2bd3b6b0706255805983f6b2b6e3", + "url": "https://api.github.com/repos/wc1c/wc/zipball/86e85a238842a58ace261ec69d161082187301cc", + "reference": "86e85a238842a58ace261ec69d161082187301cc", "shasum": "" }, "require": { @@ -501,7 +501,7 @@ "support": { "source": "https://github.com/wc1c/wc/tree/main" }, - "time": "2023-03-23T07:24:23+00:00" + "time": "2024-03-22T14:08:39+00:00" } ], "packages-dev": [], diff --git a/license.txt b/license.txt index 366c1c7d..c141e1d0 100644 --- a/license.txt +++ b/license.txt @@ -1,6 +1,6 @@ WC1C -Copyright © 2018-2023 by WC1C team (http://wc1c.info) +Copyright © 2018-2024 by WC1C team (http://wc1c.info) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/readme.txt b/readme.txt index bfb3eaf4..64511c4e 100644 --- a/readme.txt +++ b/readme.txt @@ -2,17 +2,17 @@ Contributors: WC1C, Frescoref Tags: commerceml, 1c, cml, ecommerce, wc1c, woocommerce, integration 1C, 1s, 1с, 1C, 1С Requires at least: 5.2 -Tested up to: 6.3 +Tested up to: 6.5 Requires PHP: 7.0 -Stable tag: 0.22.0 +Stable tag: 0.23.0 License: GNU General Public License v3.0 License URI: http://www.gnu.org/licenses/gpl-3.0.html Donate link: https://wc1c.info/market -Integration of WooCommerce with 1C products (different configurations) +Integration of WooCommerce with 1C Company products (various configurations) == Description == -Implementation of a mechanism for flexible exchange of various data between 1C products and the WooCommerce plugin. +Implementing a flexible mechanism for exchanging various data between 1C Company products and the WooCommerce plugin. = Features = * ✅ Automation of work with products (goods, services) 1C and WooCommerce. @@ -71,8 +71,24 @@ Updates are released as needed, but only when available to the WC1C team. For mo == Changelog == List of major changes from version to version. [Goto full list.](https://wc1c.info/changelogs) += 0.23.0 = +* Improvement: language phrases +* Improvement: interface design +* Improvement: High Performance Order Storage (HPOS) compatibility +* Improvement: remove log setting for receiver +* WP tested up to: 6.4 & 6.5 +* WC tested up to: 8.1 & 8.2 & 8.3 & 8.4 & 8.5 & 8.6 & 8.7 & 8.8 +* Support PHP: 8.3 +* Up: Bootstrap to 5.3.2 +* Up: styles +* Up: set default level for main events to 250 +* Up: ProductsCML to 0.15.0 +* Fix: 1C information column in new orders list by HPOS +* Fix: configurations sort +* Fix: more + = 0.22.0 = -* WP tested up to: 6.2 +* WP tested up to: 6.3 * WC tested up to: 7.9 & 8.0 * Up: ProductsCML to 0.14.0 * Up: language files diff --git a/src/Activation.php b/src/Activation.php index 80c5c1a3..19e8bc91 100644 --- a/src/Activation.php +++ b/src/Activation.php @@ -25,7 +25,7 @@ public function __construct() 'extra_data' => sprintf ( '

%s %s

', - __('The basic plugin setup has not been done yet, so you can proceed to the setup, which takes no more than 5 minutes.', 'wc1c-main'), + __('The basic plugin setup has not been done yet, so can proceed to the setup, which takes no more than 5 minutes.', 'wc1c-main'), admin_url('admin.php?page=wc1c'), __('Go to setting.', 'wc1c-main') ) diff --git a/src/Admin.php b/src/Admin.php index 7f48bcd2..218df760 100644 --- a/src/Admin.php +++ b/src/Admin.php @@ -34,7 +34,7 @@ final class Admin public function __construct() { // hook - do_action('wc1c_admin_before_loading'); + do_action(wc1c()->context()->getSlug() . '_admin_before_loading'); $this->notices(); @@ -64,7 +64,7 @@ public function __construct() add_filter('plugin_action_links_' . wc1c()->environment()->get('plugin_basename'), [$this, 'linksLeft']); // hook - do_action('wc1c_admin_after_loading'); + do_action(wc1c()->context()->getSlug() . '_admin_after_loading'); } /** @@ -86,7 +86,7 @@ public function notices() 'network_admin_notices' => false ]; - $this->notices = new Manager('wc1c_admin_notices', $args); + $this->notices = new Manager(wc1c()->context()->getSlug() . '_admin_notices', $args); } return $this->notices; @@ -103,7 +103,7 @@ public function addMenu() __('Integration with 1C', 'wc1c-main'), __('Integration with 1C', 'wc1c-main'), 'manage_woocommerce', - 'wc1c', + wc1c()->context()->getSlug(), [$this, 'route'] ); } @@ -114,7 +114,7 @@ public function addMenu() public function init() { // hook - do_action('wc1c_admin_before_init'); + do_action(wc1c()->context()->getSlug() . '_admin_before_init'); $default_sections['configurations'] = [ @@ -165,7 +165,7 @@ public function init() $this->setCurrentSection('configurations'); // hook - do_action('wc1c_admin_after_init'); + do_action(wc1c()->context()->getSlug() . '_admin_after_init'); } /** @@ -222,16 +222,16 @@ public function route() if(!array_key_exists($current_section, $sections) || !isset($sections[$current_section]['callback'])) { - add_action('wc1c_admin_show', [$this, 'wrapError']); + add_action(wc1c()->context()->getSlug() . '_admin_show', [$this, 'wrapError']); } else { if(false === get_option('wc1c_wizard', false)) { - add_action('wc1c_admin_show', [$this, 'wrapHeader'], 3); + add_action(wc1c()->context()->getSlug() . '_admin_show', [$this, 'wrapHeader'], 3); } - add_action('wc1c_admin_show', [$this, 'wrapSections'], 7); + add_action(wc1c()->context()->getSlug() . '_admin_show', [$this, 'wrapSections'], 7); $callback = $sections[$current_section]['callback']; diff --git a/src/Admin/Columns/WooCommerce/Orders.php b/src/Admin/Columns/WooCommerce/Orders.php index a22fc5ae..25d44831 100644 --- a/src/Admin/Columns/WooCommerce/Orders.php +++ b/src/Admin/Columns/WooCommerce/Orders.php @@ -19,9 +19,11 @@ final class Orders public function __construct() { add_filter('manage_edit-shop_order_columns', [$this, 'manage_edit_order_columns']); + add_filter('manage_woocommerce_page_wc-orders_columns', [$this, 'manage_edit_order_columns']); add_filter('wc1c_admin_interface_orders_lists_column', [$this, 'wc1c_admin_interface_orders_lists_column'], 10, 2); add_action('manage_shop_order_posts_custom_column', [$this, 'manage_order_posts_custom_column'], 10, 2); + add_action('manage_woocommerce_page_wc-orders_custom_column', [$this, 'manage_order_hpos_custom_column'], 10, 2); } /** @@ -41,6 +43,34 @@ public function manage_edit_order_columns($columns) return array_merge($columns, $columns_after); } + /** + * Information from 1C in orders list by HPOS + * + * @param $column + * @param $order + */ + public function manage_order_hpos_custom_column($column, $order) + { + if('wc1c' === $column) + { + $post_id = $order->get_id(); + + $content = ''; + + if(has_filter('wc1c_admin_interface_orders_lists_column')) + { + $content = apply_filters('wc1c_admin_interface_orders_lists_column', $content, $post_id); + } + + if('' === $content) + { + $content .= '' . __('Not found', 'wc1c-main') . ''; + } + + echo wp_kses_post($content); + } + } + /** * Information from 1C in orders list * diff --git a/src/Admin/Configurations/AllTable.php b/src/Admin/Configurations/AllTable.php index 33da0893..a868a045 100644 --- a/src/Admin/Configurations/AllTable.php +++ b/src/Admin/Configurations/AllTable.php @@ -3,7 +3,7 @@ defined('ABSPATH') || exit; use Wc1c\Main\Abstracts\TableAbstract; -use Wc1c\Main\Data\Entities\Configuration; +use Wc1c\Main\Configuration; use Wc1c\Main\Data\Storage; use Wc1c\Main\Data\Storages\ConfigurationsStorage; use Wc1c\Main\Traits\ConfigurationsUtilityTrait; @@ -141,7 +141,7 @@ public function columnStatus($item): string if($item['status'] === 'draft') { $status_class = 'draft'; - $status_description = __('An initial setup is required.', 'wc1c-main'); + $status_description = __('An initial configuration setup is required.', 'wc1c-main'); } if($item['status'] === 'active') { @@ -151,25 +151,25 @@ public function columnStatus($item): string if($item['status'] === 'inactive') { $status_class = 'inactive'; - $status_description = __('All configuration algorithms are disabled.', 'wc1c-main'); + $status_description = __('All configuration algorithms are disabled. Configuration is switched off in the settings.', 'wc1c-main'); } if($item['status'] === 'processing') { $status_class = 'processing'; - $status_description = __('Data is being exchanged. Changing settings is not recommended.', 'wc1c-main'); + $status_description = __('Data is being exchanged. Changing configuration settings is not recommended.', 'wc1c-main'); } if($item['status'] === 'error') { $status_class = 'error'; - $status_description = __('An error has occurred. You need to look at the event logs, they contain detailed information.', 'wc1c-main'); + $status_description = __('An error has occurred. Should review the event logs for the configuration, they contain detailed information about the error.', 'wc1c-main'); } if($item['status'] === 'deleted') { $status_class = 'deleted'; - $status_description = __('Awaiting final removal. All algorithms are disabled.', 'wc1c-main'); + $status_description = __('Awaiting final configuration removal. All algorithms are disabled.', 'wc1c-main'); } - return '' . $status . ''; + return '' . $status . ''; } /** @@ -192,7 +192,7 @@ public function columnName($item): string $actions = [ - 'update' => '' . __('Open', 'wc1c-main') . '', + 'update' => '' . __('Open configuration', 'wc1c-main') . '', 'delete' => '' . __('Mark as deleted', 'wc1c-main') . '', ]; @@ -211,17 +211,17 @@ public function columnName($item): string $user = get_userdata($item['user_id']); if($user instanceof \WP_User && $user->exists()) { - $metas['user'] = __('User: ', 'wc1c-main') . $user->get('nickname') . ' (' . $item['user_id']. ')'; + $metas['user'] = __('User:', 'wc1c-main') . ' ' . $user->get('nickname') . ' (' . $item['user_id']. ')'; } else { - $metas['user'] = __('User is not exists.', 'wc1c-main'); + $metas['user'] = __('User:', 'wc1c-main') . ' ' . __('user is not exists.', 'wc1c-main') . ''; } try { $schema = wc1c()->schemas()->get($item['schema']); - $metas['schema'] = __('Schema:', 'wc1c-main') . ' ' . $item['schema'] . ' (' . $schema->getName() . ')'; + $metas['schema'] = __('Schema:', 'wc1c-main') . ' ' . $item['schema'] . ' (' . $schema->getName() . ')'; if($item['schema'] === 'productscml' || $item['schema'] === 'pqcml') { @@ -233,11 +233,11 @@ public function columnName($item): string $metas['productscml-catalog-full'] = sprintf ( - '%s %s (%s %s %s)', + '%s %s (%s %s %s)', __('Full exchange:', 'wc1c-main'), sprintf(_x('%s ago', '%s = human-readable time difference', 'wc1c-main'), human_time_diff($timestamp, current_time('timestamp'))), date_i18n('d/m/Y', $timestamp), - __('in', 'wc1c-main'), + __('at', 'wc1c-main'), date_i18n('H:i:s', $timestamp) ); } @@ -245,7 +245,7 @@ public function columnName($item): string { $metas['productscml-catalog-full'] = sprintf ( - '%s %s', + '%s %s', __('Full exchange:', 'wc1c-main'), __('not produced', 'wc1c-main') ); @@ -254,7 +254,7 @@ public function columnName($item): string } catch(\Throwable $e) { - $metas['schema'] = __('Schema:', 'wc1c-main') . ' ' . $item['schema'] . ' (' . __('not found, please install the schema', 'wc1c-main') . ')'; + $metas['schema'] = __('Schema:', 'wc1c-main') . ' ' . $item['schema'] . ' (' . __('not found, please install the schema', 'wc1c-main') . ')'; } if(has_filter('wc1c_admin_configurations_all_row_metas')) @@ -289,7 +289,7 @@ public function rowMetas($data): string foreach($data as $meta => $meta_text) { - $out .= "
$meta_text
"; + $out .= '
' . $meta_text . '
'; } $out .= ''; @@ -324,8 +324,8 @@ public function getSortableColumns(): array { $sortable_columns['configuration_id'] = ['configuration_id', false]; $sortable_columns['status'] = ['status', false]; - $sortable_columns['date_create'] = ['date_create', false]; - $sortable_columns['date_activity'] = ['date_activity', false]; + $sortable_columns['date_create'] = ['date_create', true]; + $sortable_columns['date_activity'] = ['date_activity', true]; return $sortable_columns; } diff --git a/src/Admin/Configurations/CreateForm.php b/src/Admin/Configurations/CreateForm.php index aa2b707b..d69b1e63 100644 --- a/src/Admin/Configurations/CreateForm.php +++ b/src/Admin/Configurations/CreateForm.php @@ -3,7 +3,7 @@ defined('ABSPATH') || exit; use Wc1c\Main\Abstracts\FormAbstract; -use Wc1c\Main\Data\Entities\Configuration; +use Wc1c\Main\Configuration; use Wc1c\Main\Exceptions\Exception; use Wc1c\Main\Traits\UtilityTrait; @@ -39,9 +39,15 @@ public function init_fields_main($fields) { $fields['name'] = [ - 'title' => __('Configuration name', 'wc1c-main'), + 'title' => __('Name of the configuration', 'wc1c-main'), 'type' => 'text', - 'description' => __('Enter any data up to 255 characters.', 'wc1c-main'), + 'description' => sprintf + ( + '%s %s
%s', + __('Enter any data up to 255 characters.', 'wc1c-main'), + __('The name is used to quickly distinguish between multiple configurations that have been created.', 'wc1c-main'), + __('Some examples: 1. Exchange data on products, 2. Exchange data on orders, 3. Update prices and stocks, etc.', 'wc1c-main') + ), 'default' => '', 'css' => 'width: 100%;', ]; @@ -50,7 +56,7 @@ public function init_fields_main($fields) { $schemas = wc1c()->schemas()->get(); } - catch(Exception $e) + catch(\Throwable $e) { return $fields; } @@ -178,16 +184,20 @@ public function save(): bool return false; } + $message = __('Configuration creating error. Please retry.', 'wc1c-main'); + if(empty($post_data) || !wp_verify_nonce($post_data['_wc1c-admin-nonce'], 'wc1c-admin-configurations-create-save')) { wc1c()->admin()->notices()->create ( [ 'type' => 'error', - 'data' => __('Configuration create error. Please retry.', 'wc1c-main') + 'data' => $message ] ); + wc1c()->log()->warning($message, ['user_id' => get_current_user_id(), 'form_id' => $this->getId()]); + return false; } @@ -204,7 +214,7 @@ public function save(): bool { $this->saved_data[$key] = $this->getFieldValue($key, $field, $post_data); } - catch(Exception $e) + catch(\Throwable $e) { wc1c()->admin()->notices()->create ( @@ -213,6 +223,8 @@ public function save(): bool 'data' => $e->getMessage() ] ); + + wc1c()->log()->error($message, ['user_id' => get_current_user_id(), 'exception' => $e, 'form_id' => $this->getId()]); } } @@ -220,27 +232,35 @@ public function save(): bool if(empty($data['name'])) { + $message = __('Configuration creating error. Name is required.', 'wc1c-main'); + wc1c()->admin()->notices()->create ( [ 'type' => 'error', - 'data' => __('Configuration create error. Name is required.', 'wc1c-main') + 'data' => $message ] ); - return false; + wc1c()->log()->warning($message, ['user_id' => get_current_user_id(), 'form_id' => $this->getId()]); + + return false; } if(empty($data['schema'])) { + $message = __('Configuration creating error. Schema select is required.', 'wc1c-main'); + wc1c()->admin()->notices()->create ( [ 'type' => 'error', - 'data' => __('Configuration create error. Schema is required.', 'wc1c-main') + 'data' => $message ] ); + wc1c()->log()->warning($message, ['user_id' => get_current_user_id(), 'configuration_name' => $data['name'], 'form_id' => $this->getId()]); + return false; } @@ -250,14 +270,18 @@ public function save(): bool if('yes' === wc1c()->settings()->get('configurations_unique_name', 'yes') && $data_storage->isExistingByName($data['name'])) { + $message = __('Configuration creating error. Name is exists.', 'wc1c-main'); + wc1c()->admin()->notices()->create ( [ 'type' => 'error', - 'data' => __('Configuration create error. Name is exists.', 'wc1c-main') + 'data' => $message ] ); + wc1c()->log()->warning($message, ['user_id' => get_current_user_id(), 'configuration_name' => $data['name'], 'form_id' => $this->getId()]); + return false; } @@ -267,27 +291,34 @@ public function save(): bool if($configuration->save()) { + $message = __('Configuration creating is complete. Configuration ID:', 'wc1c-main'); + wc1c()->admin()->notices()->create ( [ 'type' => 'update', - 'data' => __('Configuration create success. Configuration id: ', 'wc1c-main') . $configuration->getId() - . ' (' . __('edit configuration', 'wc1c-main') . ')' + 'data' => $message . ' ' . $configuration->getId() . ' (' . __('edit configuration', 'wc1c-main') . ')' ] ); + wc1c()->log()->notice($message, ['user_id' => get_current_user_id(), 'form_id' => $this->getId()]); + $this->setSavedData([]); return true; } + $message = __('Configuration creating error. Please try saving again or change fields.', 'wc1c-main'); + wc1c()->admin()->notices()->create ( [ 'type' => 'error', - 'data' => __('Configuration create error. Please retry saving or change fields.', 'wc1c-main') + 'data' => $message ] ); + wc1c()->log()->warning($message, ['user_id' => get_current_user_id(), 'form_id' => $this->getId()]); + return false; } diff --git a/src/Admin/Configurations/Delete.php b/src/Admin/Configurations/Delete.php index 0ab58a1e..3f4b9cbc 100644 --- a/src/Admin/Configurations/Delete.php +++ b/src/Admin/Configurations/Delete.php @@ -51,6 +51,7 @@ public function process() $redirect = true; $force_delete = false; $configuration_status = $configuration->getStatus(); + $notice_args['type'] = 'error'; $notice_args['data'] = __('Error. The configuration to be deleted is active and cannot be deleted.', 'wc1c-main'); @@ -122,7 +123,7 @@ public function process() if(!$configuration->delete($force_delete)) { $notice_args['type'] = 'error'; - $notice_args['data'] = __('Deleting error. Please retry again.', 'wc1c-main'); + $notice_args['data'] = __('Configuration deleting error. Please retry again.', 'wc1c-main'); } } } diff --git a/src/Admin/Configurations/DeleteForm.php b/src/Admin/Configurations/DeleteForm.php index da5b05e7..716708bf 100644 --- a/src/Admin/Configurations/DeleteForm.php +++ b/src/Admin/Configurations/DeleteForm.php @@ -2,7 +2,6 @@ defined('ABSPATH') || exit; -use Wc1c\Main\Exceptions\Exception; use Wc1c\Main\Abstracts\FormAbstract; /** @@ -75,16 +74,20 @@ public function save() return false; } + $message = __('Configuration deleting error. Please retry.', 'wc1c-main'); + if(empty($post_data) || !wp_verify_nonce($post_data['_wc1c-admin-nonce-configurations-delete'], 'wc1c-admin-configurations-delete-save')) { wc1c()->admin()->notices()->create ( [ 'type' => 'error', - 'data' => __('Delete error. Please retry.', 'wc1c-main') + 'data' => $message ] ); + wc1c()->log()->warning($message, ['user_id' => get_current_user_id(), 'form_id' => $this->getId()]); + return false; } @@ -101,7 +104,7 @@ public function save() { $this->saved_data[$key] = $this->getFieldValue($key, $field, $post_data); } - catch(Exception $e) + catch(\Throwable $e) { wc1c()->admin()->notices()->create ( @@ -119,14 +122,18 @@ public function save() if(!isset($data['accept']) || $data['accept'] !== 'yes') { + $message = __('Configuration deleting error. Confirmation of final deletion is required.', 'wc1c-main'); + wc1c()->admin()->notices()->create ( [ 'type' => 'error', - 'data' => __('Delete error. Confirmation of final deletion is required.', 'wc1c-main') + 'data' => $message ] ); + wc1c()->log()->warning($message, ['user_id' => get_current_user_id(), 'form_id' => $this->getId()]); + return false; } diff --git a/src/Admin/Configurations/MainUpdate.php b/src/Admin/Configurations/MainUpdate.php index 474d693b..e9d16138 100644 --- a/src/Admin/Configurations/MainUpdate.php +++ b/src/Admin/Configurations/MainUpdate.php @@ -102,6 +102,8 @@ public function outputSidebar() $configuration_options = $configuration->getOptions(); if(isset($configuration_options['logger_level'])) { + $args = []; + if((int)$configuration_options['logger_level'] === 100) { $args = diff --git a/src/Admin/Configurations/Update.php b/src/Admin/Configurations/Update.php index 28904ac0..e1a3299f 100644 --- a/src/Admin/Configurations/Update.php +++ b/src/Admin/Configurations/Update.php @@ -32,7 +32,7 @@ public function __construct() $default_sections['main'] = [ - 'title' => __('Main', 'wc1c-main'), + 'title' => __('Settings', 'wc1c-main'), 'visible' => true, 'callback' => [MainUpdate::class, 'instance'] ]; @@ -90,9 +90,9 @@ public function __construct() */ public function outputSchemaErrorText($text): string { - $new_text = __('The exchange scheme on the basis of which created configuration is unavailable .', 'wc1c-main'); + $new_text = __('The exchange schema based on which the configuration was created is not available.', 'wc1c-main'); - $new_text .= '
' . __('Install the missing schema to work this configuration, change the status and name, or delete the configuration.', 'wc1c-main'); + $new_text .= '
' . __('Install the missing schema to work this configuration, change the status and name or delete the configuration.', 'wc1c-main'); return $new_text; } @@ -137,7 +137,8 @@ public function process() 'type' => 'text', 'description' => __('Used for convenient distribution of multiple configurations.', 'wc1c-main'), 'default' => '', - 'class' => 'form-control form-control-sm', + 'class' => 'form-control form-control-sm rounded-0', + 'button_class' => 'rounded-0', 'button' => __('Rename', 'wc1c-main'), ]; diff --git a/src/Admin/InlineForm.php b/src/Admin/InlineForm.php index 2dc29dfa..2b09d8a2 100644 --- a/src/Admin/InlineForm.php +++ b/src/Admin/InlineForm.php @@ -105,8 +105,8 @@ public function generateTextHtml(string $key,array $data): string { $field_key = $this->getPrefixFieldKey($key); - $defaults = array - ( + $defaults = + [ 'title' => '', 'disabled' => false, 'class' => '', @@ -116,7 +116,8 @@ public function generateTextHtml(string $key,array $data): string 'desc_tip' => false, 'description' => '', 'custom_attributes' => [], - ); + 'button_class' => '' + ]; $data = wp_parse_args($data, $defaults); @@ -125,7 +126,7 @@ public function generateTextHtml(string $key,array $data): string
getCustomAttributeHtml( $data ); ?>> - +
connection = new Connection(); $this->connection->setAppName(get_bloginfo()); } - catch(\Exception $e){} + catch(\Throwable $e){} try { $this->apHandle(); } - catch(\Exception $e){} + catch(\Throwable $e){} if('' !== $settings->get('token', '')) { @@ -65,11 +65,12 @@ public function __construct() $this->init(); } - /** - * Handle AP - * - * @return void - */ + /** + * Handle AP + * + * @return void + * @throws \Exception + */ public function apHandle() { if(isset($_GET['site_url'], $_GET['user_login'])) @@ -113,7 +114,7 @@ public function apHandle() wp_safe_redirect($sold_url); die; } - catch(Exception $e) + catch(\Throwable $e) { wc1c()->log()->addNotice('Settings is not successful save.', ['exception' => $e]); } @@ -170,7 +171,7 @@ public function save(): bool { $this->settings->save(['login' => '', 'token' => '']); } - catch(Exception $e) + catch(\Throwable $e) { wc1c()->log()->addNotice('Settings is not successful save.', ['exception' => $e]); } @@ -201,8 +202,8 @@ public function save(): bool * * @return array */ - public function init_fields_connected($fields) - { + public function init_fields_connected($fields): array + { $fields['connected_title'] = [ 'title' => __('Site is connected to WC1C', 'wc1c-main'), @@ -212,7 +213,7 @@ public function init_fields_connected($fields) $fields['login'] = [ - 'title' => __('Login', 'wc1c-main'), + 'title' => __('Username', 'wc1c-main'), 'type' => 'text', 'description' => __('Connected login from the WC1C website.', 'wc1c-main'), 'default' => '', diff --git a/src/Admin/Settings/Form.php b/src/Admin/Settings/Form.php index f327e00d..2841f9d3 100644 --- a/src/Admin/Settings/Form.php +++ b/src/Admin/Settings/Form.php @@ -66,16 +66,22 @@ public function save() return false; } - if(empty($post_data) || !wp_verify_nonce($post_data['_wc1c-admin-nonce'], 'wc1c-admin-settings-save')) + wc1c()->log()->info(__('Saving settings.', 'wc1c-main')); + + $message = __('The settings have not been saved.', 'wc1c-main'); + + if(empty($post_data) || !wp_verify_nonce($post_data['_wc1c-admin-nonce'], 'wc1c-admin-settings-save')) { wc1c()->admin()->notices()->create ( [ 'type' => 'error', - 'data' => __('Save error. Please retry.', 'wc1c-main') + 'data' => $message ] ); + wc1c()->log()->warning($message, ['user_id' => get_current_user_id(), 'form_id' => $this->getId()]); + return false; } @@ -93,7 +99,7 @@ public function save() { $this->saved_data[$key] = $this->getFieldValue($key, $field, $post_data); } - catch(Exception $e) + catch(\Throwable $e) { wc1c()->admin()->notices()->create ( @@ -102,15 +108,19 @@ public function save() 'data' => $e->getMessage() ] ); + + wc1c()->log()->error($message, ['user_id' => get_current_user_id(), 'exception' => $e, 'form_id' => $this->getId()]); } } - try + $saved_data = $this->getSavedData(); + + try { - $this->getSettings()->set($this->getSavedData()); + $this->getSettings()->set($saved_data); $this->getSettings()->save(); } - catch(Exception $e) + catch(\Throwable $e) { wc1c()->admin()->notices()->create ( @@ -120,17 +130,23 @@ public function save() ] ); + wc1c()->log()->warning($message, ['user_id' => get_current_user_id(), 'exception' => $e, 'form_id' => $this->getId()]); + return false; } + $message = __('The settings have been successfully saved.', 'wc1c-main'); + wc1c()->admin()->notices()->create ( [ 'type' => 'update', - 'data' => __('Save success.', 'wc1c-main') + 'data' => $message ] ); + wc1c()->log()->notice($message, ['user_id' => get_current_user_id(), 'data' => $saved_data, 'form_id' => $this->getId()]); + return true; } diff --git a/src/Admin/Settings/LogsForm.php b/src/Admin/Settings/LogsForm.php index 7f960bcd..362cc691 100644 --- a/src/Admin/Settings/LogsForm.php +++ b/src/Admin/Settings/LogsForm.php @@ -40,8 +40,24 @@ public function init_fields_logger(array $fields): array [ 'title' => __('Level for main events', 'wc1c-main'), 'type' => 'select', - 'description' => __('All events of the selected level will be recorded in the log file. The higher the level, the less data is recorded.', 'wc1c-main'), - 'default' => '300', + 'description' => sprintf + ( + '%s %s
%s: %s
%s: %s
%s: %s
%s: %s
%s: %s
%s', + __('Events of the selected level will be recorded in the log file. The bigger the level (numbers), the less data is recorded.', 'wc1c-main'), + __('If the plugin is stable, you will need to use at least the NOTICE level (250), otherwise the event logs will become very large.', 'wc1c-main'), + __('DEBUG (100)', 'wc1c-main'), + __('Data from the algorithm development process with debugging information. It is used by administrators in case of some unclear errors in the process of plugin operation.', 'wc1c-main'), + __('INFO (200)', 'wc1c-main'), + __('Data from the algorithm development process, but without debugging information. In this mode, less data is written than in debugging mode, but still a lot.', 'wc1c-main'), + __('NOTICE (250)', 'wc1c-main'), + __('This mode records events that notify of situations that you need to be aware of. For example, when changing settings or renaming a product during data exchange.', 'wc1c-main'), + __('WARNING (300)', 'wc1c-main'), + __('Recording warnings that occur during operation. Warnings are worth investigating and taking into account, but they are not errors.', 'wc1c-main'), + __('ERROR (400)', 'wc1c-main'), + __('Will be recorded only data on errors occurring during the processing of plugin algorithms.', 'wc1c-main'), + __('Event logs always record data about critical errors in the code, regardless of the level configured.', 'wc1c-main') + ), + 'default' => '250', 'options' => [ '100' => __('DEBUG (100)', 'wc1c-main'), @@ -66,7 +82,12 @@ public function init_fields_logger(array $fields): array 'title' => __('Output on display', 'wc1c-main'), 'type' => 'checkbox', 'label' => __('Check the box if you want to enable this feature. Disabled by default.', 'wc1c-main'), - 'description' => __('All entries in the event logs will be displayed.', 'wc1c-main'), + 'description' => sprintf + ( + '%s
%s', + __('All entries event logs will be displayed on the screen.', 'wc1c-main'), + __('It is used only by developers. If enable this setting just for fun, 1C will not be able to connect to the site.', 'wc1c-main') + ), 'default' => 'no' ]; @@ -74,32 +95,25 @@ public function init_fields_logger(array $fields): array [ 'title' => __('Levels by context', 'wc1c-main'), 'type' => 'title', - 'description' => __('Event log settings based on context.', 'wc1c-main'), - ]; - - $fields['logger_receiver_level'] = - [ - 'title' => __('Receiver', 'wc1c-main'), - 'type' => 'select', - 'description' => __('All events of the selected level will be recorded the Receiver events in the log file. The higher the level, the less data is recorded.', 'wc1c-main'), - 'default' => 'logger_level', - 'options' => - [ - 'logger_level' => __('Use level for main events', 'wc1c-main'), - '100' => __('DEBUG (100)', 'wc1c-main'), - '200' => __('INFO (200)', 'wc1c-main'), - '250' => __('NOTICE (250)', 'wc1c-main'), - '300' => __('WARNING (300)', 'wc1c-main'), - '400' => __('ERROR (400)', 'wc1c-main'), - ], + 'description' => sprintf + ( + '%s %s', + __('Event log settings based on context.', 'wc1c-main'), + __('Logical distribution of event logs into contexts for flexible analysis.', 'wc1c-main') + ), ]; $fields['logger_tools_level'] = [ 'title' => __('Tools', 'wc1c-main'), 'type' => 'select', - 'description' => __('All events of the selected level will be recorded the tools events in the log file. The higher the level, the less data is recorded.', 'wc1c-main'), - 'default' => 'logger_level', + 'description' => sprintf + ( + '%s
%s', + __('All events of the selected level are recorded in the tools events log file. The higher the level, the less data is logged.', 'wc1c-main'), + __('In this context, events are recorded when users work with tools, both global and for a specific configuration.', 'wc1c-main') + ), + 'default' => 'logger_level', 'options' => [ 'logger_level' => __('Use level for main events', 'wc1c-main'), @@ -115,8 +129,13 @@ public function init_fields_logger(array $fields): array [ 'title' => __('Schemas', 'wc1c-main'), 'type' => 'select', - 'description' => __('All events of the selected level will be recorded the schemas events in the log file. The higher the level, the less data is recorded.', 'wc1c-main'), - 'default' => 'logger_level', + 'description' => sprintf + ( + '%s
%s', + __('All events of the selected level are recorded in the events log files for schemas. The higher the level, the less data is logged.', 'wc1c-main'), + __('Only events that are processed in the schema algorithms are recorded. If the events are related to the user configuration, they are not written to schema events.', 'wc1c-main') + ), + 'default' => 'logger_level', 'options' => [ 'logger_level' => __('Use level for main events', 'wc1c-main'), @@ -132,7 +151,12 @@ public function init_fields_logger(array $fields): array [ 'title' => __('Configurations', 'wc1c-main'), 'type' => 'select', - 'description' => __('All events of the selected level will be recorded the configurations events in the log file. The higher the level, the less data is recorded.', 'wc1c-main'), + 'description' => sprintf + ( + '%s
%s', + __('All events of the selected level will be recorded the configurations events in the log file. The higher the level, the less data is recorded.', 'wc1c-main'), + __('A personalized event log level can be set on the level of each configuration. The current value is taken for creating new configurations.', 'wc1c-main') + ), 'default' => 'logger_level', 'options' => [ diff --git a/src/Admin/Traits/ProcessConfigurationTrait.php b/src/Admin/Traits/ProcessConfigurationTrait.php index 34928f72..319d8f6b 100644 --- a/src/Admin/Traits/ProcessConfigurationTrait.php +++ b/src/Admin/Traits/ProcessConfigurationTrait.php @@ -2,7 +2,7 @@ defined('ABSPATH') || exit; -use Wc1c\Main\Data\Entities\Configuration; +use Wc1c\Main\Configuration; use Wc1c\Main\Exceptions\Exception; /** diff --git a/src/Configuration.php b/src/Configuration.php index 9a936817..11872e4e 100644 --- a/src/Configuration.php +++ b/src/Configuration.php @@ -6,8 +6,30 @@ * Configuration * * @package Wc1c\Main - * @deprecated 0.19 */ class Configuration extends \Wc1c\Main\Data\Entities\Configuration { + /** + * Returns upload directory for configuration. + * + * @param string $context + * + * @return string + */ + public function getUploadDirectory(string $context = 'main'): string + { + $upload_directory = wc1c()->environment()->get('wc1c_configurations_directory') . '/' . $this->getSchema() . '-' . $this->getId(); + + if($context === 'logs') + { + $upload_directory .= '/logs'; + } + + if($context === 'files') + { + $upload_directory .= '/files'; + } + + return $upload_directory; + } } \ No newline at end of file diff --git a/src/Core.php b/src/Core.php index 5902deea..949a33f6 100644 --- a/src/Core.php +++ b/src/Core.php @@ -68,7 +68,7 @@ public function __construct() public function init() { // hook - do_action('wc1c_before_init'); + do_action($this->context()->getSlug() . '_before_init'); $this->localization(); @@ -78,7 +78,7 @@ public function init() } catch(\Throwable $e) { - wc1c()->log()->alert(__('Timer is not loaded.', 'wc1c-main'), ['exception' => $e]); + wc1c()->log()->emergency(__('Timer is not loaded. Further execution of algorithms without a timer is impossible.', 'wc1c-main'), ['exception' => $e]); return; } @@ -88,7 +88,7 @@ public function init() } catch(\Throwable $e) { - wc1c()->log()->alert(__('Extensions is not loaded.', 'wc1c-main'), ['exception' => $e]); + wc1c()->log()->alert(__('Extensions is not loaded. Execution continued, but without all plugins.', 'wc1c-main'), ['exception' => $e]); } try @@ -143,7 +143,7 @@ public function init() } // hook - do_action('wc1c_after_init'); + do_action($this->context()->getSlug() . '_after_init'); } /** @@ -206,21 +206,28 @@ public function tools(): Tools\Core return Tools\Core::instance(); } - /** - * Logger - * - * @param string $channel - * @param string $name - * @param mixed $hard_level - * - * @return LoggerInterface - */ - public function log(string $channel = 'main', string $name = '', $hard_level = null) + /** + * Logger + * + * @param string $channel + * @param string $name + * @param array $params + * @return LoggerInterface + */ + public function log(string $channel = 'main', string $name = '', array $params = []) { $channel = strtolower($channel); if(!isset($this->log[$channel])) { + $default_params = + [ + 'hard_level' => null, + 'files_max' => null + ]; + + $params = array_merge($default_params, $params); + if('' === $name) { $name = $channel; @@ -233,9 +240,6 @@ public function log(string $channel = 'main', string $name = '', $hard_level = n switch($channel) { - case 'receiver': - $level = $this->settings('logs')->get('logger_receiver_level', 'logger_level'); - break; case 'tools': $path = $this->environment()->get('wc1c_tools_logs_directory') . '/' . $name . '.log'; $level = $this->settings('logs')->get('logger_tools_level', 'logger_level'); @@ -249,19 +253,24 @@ public function log(string $channel = 'main', string $name = '', $hard_level = n $level = $this->settings('logs')->get('logger_configurations_level', 'logger_level'); break; default: - $level = $this->settings('logs')->get('logger_level', 300); + $level = $this->settings('logs')->get('logger_level', 250); } if('logger_level' === $level) { - $level = $this->settings('logs')->get('logger_level', 300); + $level = $this->settings('logs')->get('logger_level', 250); } - if(!is_null($hard_level)) + if(!is_null($params['hard_level'])) { - $level = $hard_level; + $level = $params['hard_level']; } + if(!is_null($params['files_max'])) + { + $max_files = $params['files_max']; + } + if('' === $path) { $path = $this->environment()->get('wc1c_logs_directory') . '/main.log'; @@ -271,11 +280,13 @@ public function log(string $channel = 'main', string $name = '', $hard_level = n { $uid_processor = new Processor(); $formatter = new Formatter(); + $handler = new Handler($path, $max_files, $level); $handler->setFormatter($formatter); $logger->pushProcessor($uid_processor); + $logger->pushHandler($handler); if('yes' === $this->settings('logs')->get('logger_output', 'no')) @@ -465,9 +476,11 @@ public function setReceiver(Receiver $receiver) */ private function loadReceiver() { + wc1c()->log()->debug(__('Receiver loading.', 'wc1c-main')); + $default_class_name = Receiver::class; - $use_class_name = apply_filters('wc1c_receiver_loading_class_name', $default_class_name); + $use_class_name = apply_filters(wc1c()->context()->getSlug() . '_receiver_loading_class_name', $default_class_name); if(false === class_exists($use_class_name)) { @@ -481,6 +494,8 @@ private function loadReceiver() $receiver->register(); $this->setReceiver($receiver); + + wc1c()->log()->debug(__('Receiver loading is completed.', 'wc1c-main'), ['class' => $use_class_name]); } /** @@ -488,6 +503,8 @@ private function loadReceiver() */ public function localization() { + wc1c()->log()->debug(__('Localization loading.')); + $locale = determine_locale(); if(has_filter('plugin_locale')) diff --git a/src/Data/Entities/Configuration.php b/src/Data/Entities/Configuration.php index 1d2ba310..57fc1bc3 100644 --- a/src/Data/Entities/Configuration.php +++ b/src/Data/Entities/Configuration.php @@ -314,6 +314,7 @@ public function isStatus(string $status = 'active'): bool * @param string $context * * @return string + * @deprecated 0.23 */ public function getUploadDirectory(string $context = 'main'): string { diff --git a/src/Extensions/Core.php b/src/Extensions/Core.php index 01fd1b5e..d13e418a 100644 --- a/src/Extensions/Core.php +++ b/src/Extensions/Core.php @@ -26,8 +26,7 @@ final class Core * @param array $extensions * * @return void - * @throws Exception - */ + */ public function set(array $extensions) { $this->extensions = $extensions; @@ -50,19 +49,24 @@ public function init(string $extension_id = '') */ if('' !== $extension_id) { + wc1c()->log()->debug(sprintf('%s: %s', __('Initialization of the extension by identifier', 'wc1c-main'), $extension_id), ['extension_id' => $extension_id]); + if(!array_key_exists($extension_id, $extensions)) { - throw new Exception(__('Extension not found by id.', 'wc1c-main')); + wc1c()->log()->warning(__('Extension not found by identifier.', 'wc1c-main'), ['extension_id' => $extension_id]); + return; } if(!$extensions[$extension_id] instanceof ExtensionContract) { - throw new Exception(__('Extension is not implementation ExtensionContract. Skipped init.', 'wc1c-main')); + wc1c()->log()->warning(__('Extension is not implementation ExtensionContract. Initialization skipped.', 'wc1c-main'), ['extension_id' => $extension_id]); + return; } if($extensions[$extension_id]->isInitialized()) { - return; + wc1c()->log()->warning(__('The extension has already been initialized previously. Re-initialization is skipped.', 'wc1c-main'), ['extension_id' => $extension_id]); + return; } try @@ -70,16 +74,20 @@ public function init(string $extension_id = '') $extensions[$extension_id]->init(); $extensions[$extension_id]->setInitialized(true); } - catch(Exception $e) + catch(\Throwable $e) { - throw new Exception(__('Init extension exception:', 'wc1c-main') . ' ' . $e->getMessage()); + throw new Exception(sprintf('%s: %s', __('The extension threw an exception on initialization', 'wc1c-main'), $e->getMessage())); } $this->set($extensions); - return; + wc1c()->log()->debug(sprintf('%s "%s" %s', __('Initialization of the extension by identifier', 'wc1c-main'), $extension_id, __('is completed.', 'wc1c-main')), ['extension_id' => $extension_id]); + + return; } + wc1c()->log()->debug(__('Initialization of available extensions.', 'wc1c-main')); + /** * Init all extensions */ @@ -89,11 +97,13 @@ public function init(string $extension_id = '') { $this->init($extension); } - catch(Exception $e) + catch(\Throwable $e) { wc1c()->log()->warning($e->getMessage(), ['exception' => $e]); } } + + wc1c()->log()->debug(__('Initialization of available extensions is completed.', 'wc1c-main')); } /** @@ -127,24 +137,34 @@ public function get(string $extension_id = '') */ public function load() { + wc1c()->log()->debug(__('Extensions loading.', 'wc1c-main')); + + if('yes' !== wc1c()->settings('main')->get('extensions', 'yes')) + { + wc1c()->log()->info(__('Extension loading is turned off in global settings. Extension loading is skipped.', 'wc1c-main')); + return; + } + $extensions = []; - if(has_filter('wc1c_extensions_loading') && 'yes' === wc1c()->settings('main')->get('extensions', 'yes')) + if(has_filter(wc1c()->context()->getSlug() . '_extensions_loading')) { try { - $extensions = apply_filters('wc1c_extensions_loading', $extensions); + $extensions = apply_filters(wc1c()->context()->getSlug() . '_extensions_loading', $extensions); } catch(\Error $e) { throw new Exception(__('Extensions load error:', 'wc1c-main') . ' ' . $e->getMessage()); } - catch(\Exception $e) + catch(\Throwable $e) { throw new Exception(__('Extensions load exception:', 'wc1c-main') . ' ' . $e->getMessage()); } } $this->set($extensions); + + wc1c()->log()->debug(__('Extensions loading is completed.', 'wc1c-main'), ['extensions' => $extensions]); } } \ No newline at end of file diff --git a/src/Receiver.php b/src/Receiver.php index 0832b482..f9874ed0 100644 --- a/src/Receiver.php +++ b/src/Receiver.php @@ -1,6 +1,6 @@ context()->getSlug() . '_receiver_loaded'); } /** @@ -76,9 +76,12 @@ public function handleRequests() wc1c()->environment()->set('current_configuration_id', $wc1c_receiver); + /** + * Полноценная обработка по полным алгоритмам схемы + */ if(method_exists($schema, 'receiver')) { - wc1c()->log('receiver')->info(__('The request was successfully submitted for processing in the schema for the selected configuration.', 'wc1c-main'), ['action' => 'receiver']); + wc1c()->log('receiver')->info(__('The request was successfully submitted for processing in the schema for the selected configuration.', 'wc1c-main'), ['action' => 'receiver', 'schema' => $configuration->getSchema(), 'configuration_id' =>$configuration->getId()]); $schema->receiver(); @@ -103,24 +106,32 @@ public function handleRequests() } $action = false; - $wc1c_receiver_action = 'wc1c_receiver_' . $configuration->getSchema(); + $receiver_action = wc1c()->context()->getSlug() . '_receiver_' . $configuration->getSchema(); - if(has_action($wc1c_receiver_action)) + /** + * Обработка событий исходя из схемы + */ + if(has_action($receiver_action)) { $action = true; ob_start(); nocache_headers(); - wc1c()->log('receiver')->info(__('The request was successfully submitted for processing in the schema for the selected configuration.', 'wc1c-main'), ['action' => $wc1c_receiver_action]); - do_action($wc1c_receiver_action); + wc1c()->log('receiver')->notice(__('The request for processing actions for the selected configuration has been successfully submitted.', 'wc1c-main'), ['action' => $receiver_action, 'schema' => $configuration->getSchema(), 'configuration_id' =>$configuration->getId()]); + + /** + * @param Configuration $configuration Текущая конфигурация + * @param SchemaAbstract $schema Текущая схема + */ + do_action($receiver_action, $configuration, $schema); ob_end_clean(); } if(false === $action) { - wc1c()->log('receiver')->warning(__('Receiver request is very bad! Action not found in selected configuration.', 'wc1c-main'), ['action' => $wc1c_receiver_action]); + wc1c()->log('receiver')->warning(__('Receiver request is very bad! Action not found in selected configuration.', 'wc1c-main'), ['action' => $receiver_action]); die(__('Receiver request is very bad! Action not found.', 'wc1c-main')); } die(); diff --git a/src/Schemas/Abstracts/SchemaAbstract.php b/src/Schemas/Abstracts/SchemaAbstract.php index bc599afd..1d4e72c4 100644 --- a/src/Schemas/Abstracts/SchemaAbstract.php +++ b/src/Schemas/Abstracts/SchemaAbstract.php @@ -2,7 +2,7 @@ defined('ABSPATH') || exit; -use Wc1c\Main\Data\Entities\Configuration; +use Wc1c\Main\Configuration; use Wc1c\Main\Exceptions\Exception; use Wc1c\Main\Log\Logger; use Wc1c\Main\Schemas\Contracts\SchemaContract; @@ -347,6 +347,7 @@ public function log(string $channel = 'configurations'): Logger $name = $this->configuration()->getSchema(); } + $files_max = $this->getOptions('logger_files_max', null); $hard_level = $this->getOptions('logger_level', 'logger_level'); if('logger_level' === $hard_level) @@ -354,6 +355,12 @@ public function log(string $channel = 'configurations'): Logger $hard_level = null; } - return wc1c()->log($channel, $name, $hard_level); + $params = + [ + 'hard_level' => $hard_level, + 'files_max' => $files_max + ]; + + return wc1c()->log($channel, $name, $params); } } \ No newline at end of file diff --git a/src/Schemas/Core.php b/src/Schemas/Core.php index b5e68ab0..93c13193 100644 --- a/src/Schemas/Core.php +++ b/src/Schemas/Core.php @@ -2,7 +2,7 @@ defined('ABSPATH') || exit; -use Wc1c\Main\Data\Entities\Configuration; +use Wc1c\Main\Configuration; use Wc1c\Main\Data\Storage; use Wc1c\Main\Data\Storages\ConfigurationsStorage; use Wc1c\Main\Exceptions\Exception; @@ -46,6 +46,8 @@ public function set(array $schemas) */ public function init($configuration): SchemaContract { + wc1c()->log()->debug(__('Initializing the schema for configuration.', 'wc1c-main')); + if(false === $configuration) { throw new Exception(__('$configuration is false', 'wc1c-main')); @@ -102,15 +104,15 @@ public function init($configuration): SchemaContract $current_configuration_id = $configuration->getId(); - $init_schema->setPrefix('wc1c_prefix_' . $schema_id . '_' . $current_configuration_id); + $init_schema->setPrefix(wc1c()->context()->getSlug() . '_prefix_' . $schema_id . '_' . $current_configuration_id); $init_schema->setConfiguration($configuration); - $init_schema->setConfigurationPrefix('wc1c_configuration_' . $current_configuration_id); + $init_schema->setConfigurationPrefix(wc1c()->context()->getSlug() . '_configuration_' . $current_configuration_id); try { $init_schema_result = $init_schema->init(); } - catch(Exception $e) + catch(\Throwable $e) { throw new Exception($e->getMessage()); } @@ -122,6 +124,8 @@ public function init($configuration): SchemaContract $init_schema->setInitialized(true); + wc1c()->log()->debug(__('Initializing the schema for configuration is completed.', 'wc1c-main'), ['configuration_id' => $current_configuration_id, 'schema_id' => $schema_id]); + return $init_schema; } @@ -157,23 +161,29 @@ public function get(string $schema_id = '') */ public function load() { - add_action('wc1c_default_schemas_loading', [$this, 'loadProductsCml'], 10, 1); - add_action('wc1c_default_schemas_loading', [$this, 'loadProductsCleanerCml'], 10, 1); + wc1c()->log()->debug(__('Schemas loading.', 'wc1c-main')); + + add_action(wc1c()->context()->getSlug() . '_default_schemas_loading', [$this, 'loadProductsCml'], 10, 1); + add_action(wc1c()->context()->getSlug() . '_default_schemas_loading', [$this, 'loadProductsCleanerCml'], 10, 1); - $schemas = apply_filters('wc1c_default_schemas_loading', []); + $schemas = apply_filters(wc1c()->context()->getSlug() . '_default_schemas_loading', []); if('yes' === wc1c()->settings()->get('extensions_schemas', 'yes')) { - $schemas = apply_filters('wc1c_schemas_loading', $schemas); + $schemas = apply_filters(wc1c()->context()->getSlug() . '_schemas_loading', $schemas); } + else + { + wc1c()->log()->info(__('Loading of external schemes is disabled through the settings. Only standard schemas are loaded.', 'wc1c-main')); + } - wc1c()->log()->debug(__('Schemas loaded.', 'wc1c-main'), ['schemas' => $schemas]); + wc1c()->log()->debug(__('Schemas loading is completed.', 'wc1c-main'), ['schemas' => $schemas]); try { $this->set($schemas); } - catch(Exception $e) + catch(\Throwable $e) { throw new RuntimeException($e->getMessage()); } @@ -192,7 +202,7 @@ public function loadProductsCml($schemas): array { $schema = new Productscml\Core(); } - catch(Exception $e) + catch(\Throwable $e) { wc1c()->log('schemas')->error(__('Schema ProductsCML is not loaded.', 'wc1c-main'), ['exception' => $e]); return $schemas; @@ -216,7 +226,7 @@ public function loadProductsCleanerCml($schemas): array { $schema = new Productscleanercml\Core(); } - catch(Exception $e) + catch(\Throwable $e) { wc1c()->log('schemas')->error(__('Schema ProductsCleanerCML is not loaded.', 'wc1c-main'), ['exception' => $e]); return $schemas; diff --git a/src/Schemas/Productscml/Admin.php b/src/Schemas/Productscml/Admin.php index 09235d09..d90b443e 100644 --- a/src/Schemas/Productscml/Admin.php +++ b/src/Schemas/Productscml/Admin.php @@ -977,7 +977,7 @@ public function configurationsFieldsProductsSku(array $fields): array 'description' => sprintf ( '%s
%s', - __('The product SKU will be added according to data from 1C. It is recommended to enable this feature.', 'wc1c-main'), + __('Product SKUs will be filled according to the data from 1C on the selected source for SKUs. It is recommended to enable this feature.', 'wc1c-main'), __('The setting works when creating products (goods).', 'wc1c-main') ), 'default' => 'yes' @@ -1515,6 +1515,94 @@ public function configurationsFieldsProductsImages(array $fields): array 'css' => 'min-width: 60px;', ]; + $products_update_images_options = + [ + 'no' => __('Do not update', 'wc1c-main'), + 'yes' => __('При создании и обновлении продуктов', 'wc1c-main'), + 'create' => __('При создании продуктов', 'wc1c-main'), + 'update' => __('При обновлении продуктов', 'wc1c-main'), + ]; + + $fields['products_images_rename'] = + [ + 'title' => __('Обновление наименования изображений по наименованию продуктов', 'wc1c-main'), + 'default' => 'no', + 'type' => 'select', + 'description' => sprintf + ( + '%s - %s
%s - %s
%s - %s
%s - %s', + __('Do not update', 'wc1c-main'), + __('Обновление будет пропущено в любом случае.', 'wc1c-main'), + __('При создании и обновлении продуктов', 'wc1c-main'), + __('Обновление произойдет как при создании продукта, так и при его обновлении.', 'wc1c-main'), + __('При создании продуктов', 'wc1c-main'), + __('Наименование будет обновлено только при создании продуктов.', 'wc1c-main'), + __('При обновлении продуктов', 'wc1c-main'), + __('Наименование будет обновлено только при обновлении продуктов.', 'wc1c-main') + ), + 'options' => $products_update_images_options + ]; + + $fields['products_images_alt'] = + [ + 'title' => __('Обновление атрибута ALT изображений по наименованию продуктов', 'wc1c-main'), + 'default' => 'no', + 'type' => 'select', + 'description' => sprintf + ( + '%s - %s
%s - %s
%s - %s
%s - %s', + __('Do not update', 'wc1c-main'), + __('Обновление будет пропущено в любом случае.', 'wc1c-main'), + __('При создании и обновлении продуктов', 'wc1c-main'), + __('Обновление произойдет как при создании продукта, так и при его обновлении.', 'wc1c-main'), + __('При создании продуктов', 'wc1c-main'), + __('Атрибут ALT будет обновлен только при создании продуктов.', 'wc1c-main'), + __('При обновлении продуктов', 'wc1c-main'), + __('Атрибут ALT будет обновлен только при обновлении продуктов.', 'wc1c-main') + ), + 'options' => $products_update_images_options + ]; + + $fields['products_images_rename_file'] = + [ + 'title' => __('Обновление наименования изображений из описания файла', 'wc1c-main'), + 'default' => 'no', + 'type' => 'select', + 'description' => sprintf + ( + '%s - %s
%s - %s
%s - %s
%s - %s', + __('Do not update', 'wc1c-main'), + __('Обновление будет пропущено в любом случае.', 'wc1c-main'), + __('При создании и обновлении продуктов', 'wc1c-main'), + __('Обновление произойдет как при создании продукта, так и при его обновлении.', 'wc1c-main'), + __('При создании продуктов', 'wc1c-main'), + __('Наименование будет обновлено только при создании продуктов.', 'wc1c-main'), + __('При обновлении продуктов', 'wc1c-main'), + __('Наименование будет обновлено только при обновлении продуктов.', 'wc1c-main') + ), + 'options' => $products_update_images_options + ]; + + $fields['products_images_alt_file'] = + [ + 'title' => __('Обновление атрибута ALT у изображений из описания файла', 'wc1c-main'), + 'default' => 'no', + 'type' => 'select', + 'description' => sprintf + ( + '%s - %s
%s - %s
%s - %s
%s - %s', + __('Do not update', 'wc1c-main'), + __('Обновление будет пропущено в любом случае.', 'wc1c-main'), + __('При создании и обновлении продуктов', 'wc1c-main'), + __('Обновление произойдет как при создании продукта, так и при его обновлении.', 'wc1c-main'), + __('При создании продуктов', 'wc1c-main'), + __('Атрибут ALT будет обновлен только при создании продуктов.', 'wc1c-main'), + __('При обновлении продуктов', 'wc1c-main'), + __('Атрибут ALT будет обновлен только при обновлении продуктов.', 'wc1c-main') + ), + 'options' => $products_update_images_options + ]; + return $fields; } diff --git a/src/Schemas/Productscml/Core.php b/src/Schemas/Productscml/Core.php index 95c0a5b0..1bd1dd70 100644 --- a/src/Schemas/Productscml/Core.php +++ b/src/Schemas/Productscml/Core.php @@ -59,10 +59,10 @@ class Core extends SchemaAbstract public function __construct() { $this->setId('productscml'); - $this->setVersion('0.14.0'); + $this->setVersion('0.15.0'); $this->setName(__('Products data exchange via CommerceML', 'wc1c-main')); - $this->setDescription(__('Creation and updating of products (goods) in WooCommerce according to data from 1C using the CommerceML protocol of various versions.', 'wc1c-main')); + $this->setDescription(__('Creating and updating products (goods) in WooCommerce according to data from 1C using the CommerceML protocol of different versions.', 'wc1c-main')); } /** @@ -96,6 +96,7 @@ public function init(): bool { return true; } + $this->setInitialized(true); $this->setOptions($this->configuration()->getOptions()); @@ -112,17 +113,23 @@ public function init(): bool if(true === wc1c()->context()->isReceiver()) { $receiver = Receiver::instance(); + $receiver->setCore($this); $receiver->initHandler(); + $this->setReceiver($receiver); add_action('wc1c_schema_productscml_file_processing_read', [$this, 'processingTimer'], 5, 1); + add_action('wc1c_schema_productscml_file_processing_read', [$this, 'processingStart'], 10, 1); add_action('wc1c_schema_productscml_file_processing_read', [$this, 'processingClassifier'], 10, 1); - add_action('wc1c_schema_productscml_file_processing_read', [$this, 'processingCatalog'], 20, 1); + + add_action('wc1c_schema_productscml_file_processing_read', [$this, 'processingCatalog'], 20, 1); + add_action('wc1c_schema_productscml_file_processing_read', [$this, 'processingCatalogFullTime'], 20, 1); + add_action('wc1c_schema_productscml_file_processing_read', [$this, 'processingOffers'], 20, 1); - add_action('wc1c_schema_productscml_processing_classifier_item', [$this, 'processingClassifierItem'], 10, 2); + add_action('wc1c_schema_productscml_processing_classifier_item', [$this, 'processingClassifierSave'], 10, 2); add_action('wc1c_schema_productscml_processing_classifier_item', [$this, 'processingClassifierGroups'], 10, 2); add_action('wc1c_schema_productscml_processing_classifier_item', [$this, 'processingClassifierProperties'], 10, 2); @@ -192,6 +199,14 @@ public function fileProcessing(string $file_path): bool return false; } + /** + * Переназначение декодера для CommerceML + * + * @param Decoder $decoder Текущий декодер + * @param SchemaAbstract $schema Текущая схема + * + * @return Decoder + */ if(has_filter('wc1c_schema_productscml_file_processing_decoder')) { $this->log()->info(__('DecoderCML has been overridden by external algorithms.', 'wc1c-main')); @@ -210,6 +225,14 @@ public function fileProcessing(string $file_path): bool $this->log()->debug(__('Filetype:', 'wc1c-main') . ' ' . $reader->getFiletype(), ['filetype' => $reader->getFiletype()]); + /** + * Переназначение ридера для CommerceML + * + * @param Reader $reader Текущий ридер + * @param SchemaAbstract $schema Текущая схема + * + * @return Reader + */ if(has_filter('wc1c_schema_productscml_file_processing_reader')) { $this->log()->info(__('ReaderCML has been overridden by external algorithms.', 'wc1c-main')); @@ -257,7 +280,7 @@ public function receiver() { if('no' !== $this->getOptions('ob_end_clean', 'no')) { - $this->log()->info(__('Clearing the output buffer.', 'wc1c-main')); + $this->log()->debug(__('Clearing the output buffer.', 'wc1c-main')); $buffer_status = ob_get_status(); @@ -277,6 +300,8 @@ public function receiver() unset($content, $buffer_status); } + + $this->log()->debug(__('Clearing the output buffer as completed.', 'wc1c-main')); } if($this->configuration()->isEnabled() === false) @@ -324,6 +349,26 @@ public function receiver() } } + /** + * Обработка начальных данных + * + * @param Reader $reader + * + * @return void + * @throws \Exception + */ + public function processingStart(Reader $reader) + { + if($reader->nodeName === 'КоммерческаяИнформация' && $reader->isElement()) + { + $version = $reader->xml_reader->getAttribute('ВерсияСхемы'); + $formation_date = $reader->xml_reader->getAttribute('ДатаФормирования'); + $date = strtotime($formation_date); + + $this->log()->info(__('Processing a commercial info.', 'wc1c-main'), ['cml_version' => $version, 'date' => $formation_date, 'timestamp' => $date, 'file_type' => $reader->getFileType(), 'file' => basename($reader->getFile())]); + } + } + /** * Обработка данных классификатора * @@ -341,13 +386,23 @@ public function processingClassifier(Reader $reader) if($reader->nodeName === 'Классификатор' && $reader->isElement()) { + $this->log()->info(__('Processing a classifier.', 'wc1c-main')); + $only_changes = $reader->xml_reader->getAttribute('СодержитТолькоИзменения') ?: false; if($only_changes === 'true') { $only_changes = true; } - $classifier_xml = new SimpleXMLElement($reader->xml_reader->readOuterXml()); + try + { + $classifier_xml = new SimpleXMLElement($reader->xml_reader->readOuterXml()); + } + catch(\Throwable $e) + { + $this->log()->warning(__('SimpleXMLElement threw an exception when converting the classifier.', 'wc1c-main'), ['exception' => $e]); + return; + } try { @@ -355,7 +410,7 @@ public function processingClassifier(Reader $reader) } catch(\Throwable $e) { - $this->log()->warning(__('DecoderCML threw an exception while converting the classifier.', 'wc1c-main'), ['exception' => $e]); + $this->log()->warning(__('DecoderCML threw an exception when converting the classifier.', 'wc1c-main'), ['exception' => $e]); return; } @@ -364,9 +419,11 @@ public function processingClassifier(Reader $reader) /** * Внешняя обработка классификатора * - * @param ClassifierDataContract $classifier - * @param SchemaAbstract $this - * @param SimpleXMLElement $classifier_xml + * @param ClassifierDataContract $classifier Текущий классификатор + * @param SchemaAbstract $this Текущая схема + * @param SimpleXMLElement $classifier_xml Исходный xml классификатора + * + * @retun ClassifierDataContract */ if(has_filter('wc1c_schema_productscml_processing_classifier')) { @@ -381,6 +438,13 @@ public function processingClassifier(Reader $reader) $reader->classifier = $classifier; + /** + * Обработка объекта классификатора + * + * @param ClassifierDataContract $classifier Объект классификатора + * @param Reader $reader Текущий ридер + * @param SchemaAbstract $this Текущая схема + */ try { do_action('wc1c_schema_productscml_processing_classifier_item', $classifier, $reader, $this); @@ -390,6 +454,8 @@ public function processingClassifier(Reader $reader) $this->log()->warning(__('An exception was thrown while saving the classifier.', 'wc1c-main'), ['exception' => $e]); } + $this->log()->info(__('Processing a classifier an completed.', 'wc1c-main'), ['classifier_id' => $classifier->getId(), 'classifier_name' => $classifier->getName()]); + $reader->next(); } } @@ -405,11 +471,6 @@ public function processingClassifier(Reader $reader) */ public function processingClassifierGroups(ClassifierDataContract $classifier, Reader $reader) { - if($reader->schema_version === '3.1' && $reader->getFiletype() !== 'groups') - { - return; - } - if(!$classifier->hasGroups()) { $this->log()->info(__('Classifier groups is empty.', 'wc1c-main')); @@ -460,9 +521,9 @@ public function processingClassifierGroups(ClassifierDataContract $classifier, R /** * Поиск существующей категории по внешним алгоритмам * - * @param SchemaAbstract $schema Текущая схема - * @param array $property Данные категории в CML - * @param Reader $reader Текущий итератор + * @param SchemaAbstract $this Текущая схема + * @param array $group Данные категории в CML + * @param Reader $reader Текущий ридер * * @return int|false */ @@ -878,11 +939,6 @@ public function processingClassifierGroups(ClassifierDataContract $classifier, R */ public function processingClassifierProperties(ClassifierDataContract $classifier, Reader $reader) { - if($reader->schema_version === '3.1' && $reader->getFiletype() !== 'propertiesGoods') - { - return; - } - if(!$classifier->hasProperties()) { $this->log()->info(__('Classifier properties is empty.', 'wc1c-main'), ['filetype' => $reader->getFiletype()]); @@ -915,7 +971,7 @@ public function processingClassifierProperties(ClassifierDataContract $classifie /** * Поиск существующего атрибута по внешним алгоритмам * - * @param SchemaAbstract $schema Текущая схема + * @param SchemaAbstract $this Текущая схема * @param array $property Данные свойства в CML * @param Reader $reader Текущий итератор * @@ -943,7 +999,7 @@ public function processingClassifierProperties(ClassifierDataContract $classifie if($attribute instanceof AttributeContract) { - $this->log()->info(__('An existing attribute was found when searching by name.', 'wc1c-main'), ['property_name' => $property['name'], 'attribute' => $attribute]); + $this->log()->info(__('An existing attribute was found when searching by name.', 'wc1c-main'), ['property_name' => $property['name'], 'attribute' => $attribute->getData()]); } } @@ -959,7 +1015,14 @@ public function processingClassifierProperties(ClassifierDataContract $classifie $attribute = new Attribute(); $attribute->setLabel($property['name']); - $attribute->save(); + $result_save = $attribute->save(); + + if($result_save === 0) + { + $this->log()->warning(__('The attribute was not created. Creating error.', 'wc1c-main')); + + continue; + } } else { @@ -1019,9 +1082,9 @@ public function processingClassifierProperties(ClassifierDataContract $classifie * * @return void */ - public function processingClassifierItem(ClassifierDataContract $classifier, Reader $reader) + public function processingClassifierSave(ClassifierDataContract $classifier, Reader $reader) { - $this->log()->info(__('Classifier processing.', 'wc1c-main')); + $this->log()->info(__('Saving classifier data.', 'wc1c-main')); $classifier_push = true; $all_classifiers = $this->configuration()->getMeta('classifier', false, 'edit'); @@ -1157,8 +1220,33 @@ public function processingClassifierItem(ClassifierDataContract $classifier, Rea } $this->configuration()->save(); + + $this->log()->notice(__('Saving classifier data as completed.', 'wc1c-main'), ['classifier_id' => $classifier->getId(), 'classifier_name' => $classifier->getName()]); } + /** + * Установка времени полного обмена каталога на основе отметки полного обмена + * + * @param Reader $reader + * + * @return void + */ + public function processingCatalogFullTime(Reader $reader) + { + if($reader->nodeName === 'Товары' && $reader->xml_reader->nodeType === XMLReader::ELEMENT) + { + if(false === $reader->catalog->isOnlyChanges()) + { + $catalog_full_time = current_time('timestamp', true); + + $this->configuration()->addMetaData('_catalog_full_time', $catalog_full_time, true); + $this->configuration()->saveMetaData(); + + $this->log()->info(__('The catalog with products contains full data. The time of the last full exchange has been set.', 'wc1c-main'), ['timestamp' => $catalog_full_time, 'catalog_id' => $reader->catalog->getId()]); + } + } + } + /** * Обработка каталога товаров * @@ -1179,12 +1267,12 @@ public function processingCatalog(Reader $reader) $products_count = $reader->elements['Товар']; } - $this->log()->info(__('Processing of the product catalog is completed.', 'wc1c-main'), ['products_count' => $products_count]); + $this->log()->notice(__('Processing a catalog with products as completed.', 'wc1c-main'), ['catalog_id' => $reader->catalog->getId(), 'classifier_id' => $reader->catalog->getClassifierId(), 'products_count' => $products_count]); /** * Сохранение каталога в базу данных */ - $this->log()->info(__('Saving a catalog to meta configuration data.', 'wc1c-main'), ['filetype' => $reader->getFiletype()]); + $this->log()->debug(__('Saving a catalog to meta configuration data.', 'wc1c-main'), ['filetype' => $reader->getFiletype()]); // todo: сохранение не только последнего каталога, но и пул всех каталогов? $this->configuration()->addMetaData('catalog:' . $reader->catalog->getId(), maybe_serialize($reader->catalog), true); @@ -1194,11 +1282,13 @@ public function processingCatalog(Reader $reader) return; } - if($reader->nodeName === 'Каталог') + if($reader->nodeName === 'Каталог' && $reader->xml_reader->nodeType === XMLReader::ELEMENT) { - if(is_null($reader->catalog)) + $this->log()->notice(__('Processing a catalog with products.', 'wc1c-main')); + + if(is_null($reader->catalog)) { - $this->log()->info(__('The catalog object has not been previously initialized. Initialization.', 'wc1c-main')); + $this->log()->debug(__('The catalog object has not been previously initialized. Initialization.', 'wc1c-main')); $reader->catalog = new Catalog(); } @@ -1209,16 +1299,6 @@ public function processingCatalog(Reader $reader) $only_changes = false; } $reader->catalog->setOnlyChanges($only_changes); - - if(false === $only_changes) - { - $catalog_full_time = current_time('timestamp', true); - - $this->log()->notice(__('The time of the last full exchange has been set.', 'wc1c-main'), ['timestamp' => $catalog_full_time]); - - $this->configuration()->addMetaData('_catalog_full_time', $catalog_full_time, true); - $this->configuration()->saveMetaData(); - } } if($reader->parentNodeName === 'Каталог') @@ -1263,32 +1343,48 @@ public function processingCatalog(Reader $reader) && 'yes' !== $this->getOptions('products_create', 'no') ) { - $this->log()->info(__('Products creation and updating is disabled. The processing of goods was skipped.', 'wc1c-main')); + $this->log()->debug(__('Products creation and updating is disabled. The processing of goods was skipped.', 'wc1c-main')); $reader->next(); } if($reader->parentNodeName === 'Товары' && $reader->nodeName === 'Товар') { - $product_xml = new SimpleXMLElement($reader->xml_reader->readOuterXml()); + try + { + $product_xml = new SimpleXMLElement($reader->xml_reader->readOuterXml()); + } + catch (\Throwable $e) + { + $this->log()->warning(__('An exception was thrown from SimpleXMLElement.', 'wc1c-main'), ['exception' => $e]); + return; + } /** * Декодирование данных продукта из XML в объект реализующий ProductDataContract */ - $product = $reader->decoder->process('product', $product_xml); + try + { + $product = $reader->decoder->process('product', $product_xml); + } + catch(\Throwable $e) + { + $this->log()->warning(__('An exception was thrown while decoding the product.', 'wc1c-main'), ['exception' => $e]); + return; + } /** * Внешняя фильтрация перед непосредственной обработкой * - * @param ProductDataContract $product - * @param Reader $reader - * @param SchemaAbstract $this - * @param SimpleXMLElement $product_xml + * @param ProductDataContract $product Данные продукта в объектном виде (обработанные) + * @param Reader $reader Текущий ридер + * @param SchemaAbstract $this Текущая схема + * @param SimpleXMLElement $product_xml Не обработанные данные продукта из XML */ if(has_filter('wc1c_schema_productscml_processing_products')) { $product = apply_filters('wc1c_schema_productscml_processing_products', $product, $reader, $this, $product_xml); - $this->log()->info(__('The product is modified according to external algorithms.', 'wc1c-main')); + $this->log()->debug(__('The product is modified according to external algorithms.', 'wc1c-main')); } if(!$product instanceof ProductDataContract) @@ -1302,7 +1398,7 @@ public function processingCatalog(Reader $reader) */ if(true === $product->hasCharacteristicId() && 'yes' !== $this->getOptions('products_with_characteristics', 'no')) { - $this->log()->info(__('The use of products with characteristics is disabled. Processing skipped.', 'wc1c-main')); + $this->log()->debug(__('The use of products with characteristics is disabled. Processing skipped.', 'wc1c-main')); return; } @@ -1322,7 +1418,7 @@ public function processingCatalog(Reader $reader) } catch(\Throwable $e) { - $this->log()->warning(__('An exception was thrown while saving the product.', 'wc1c-main'), ['exception' => $e]); + $this->log()->warning(__('An exception was thrown while processing the product.', 'wc1c-main'), ['exception' => $e]); if(has_action('wc1c_schema_productscml_processing_products_item_throwable')) { @@ -1368,7 +1464,7 @@ public function assignProductsItemName(ProductContract $internal_product, Produc if($internal_product->isType('variation')) { - $this->log()->notice(__('The product is a variation. Name assignment omitted.', 'wc1c-main')); + $this->log()->debug(__('The product is a variation. Name assignment omitted.', 'wc1c-main')); return $internal_product; } @@ -1377,14 +1473,14 @@ public function assignProductsItemName(ProductContract $internal_product, Produc if('no' === $source) { - $this->log()->warning(__('The source for assigning the product name has not been selected.', 'wc1c-main')); + $this->log()->debug(__('The source for assigning the product name has not been selected.', 'wc1c-main')); return $internal_product; } if('update' === $mode && 'yes' !== $this->getOptions('products_update_name', 'no')) { - $this->log()->info(__('Product name update skipped because its disabled in the settings.', 'wc1c-main')); + $this->log()->debug(__('Product name update skipped because its disabled in the settings.', 'wc1c-main')); return $internal_product; } @@ -1483,7 +1579,7 @@ public function setImageTimes(Image $image): Image } /** - * Назначение данных продукта исходя из режима: артикул + * Назначение артикула для продуктов исходя из режима * * @param ProductContract $internal_product Экземпляр продукта - либо существующий, либо новый * @param ProductDataContract $external_product Данные продукта из XML @@ -1494,18 +1590,18 @@ public function setImageTimes(Image $image): Image */ public function assignProductsItemSku(ProductContract $internal_product, ProductDataContract $external_product, string $mode, Reader $reader): ProductContract { - $this->log()->info(__('Assign a SKU to a product.', 'wc1c-main')); + $this->log()->info(__('Assigning a SKU to a product.', 'wc1c-main'), ['mode' => $mode, 'product_id' => $internal_product->getId()]); if('update' === $mode && 'no' === $this->getOptions('products_update_sku', 'no')) { - $this->log()->notice(__('SKU update during product update is disabled in the settings.', 'wc1c-main')); + $this->log()->debug(__('SKU update during product update is disabled in the configuration settings.', 'wc1c-main')); return $internal_product; } if('create' === $mode && 'no' === $this->getOptions('products_create_adding_sku', 'yes')) { - $this->log()->notice(__('Adding a SKU when adding a product is disabled in the settings.', 'wc1c-main')); + $this->log()->debug(__('Adding a SKU when adding a product is disabled in the configuration settings.', 'wc1c-main')); return $internal_product; } @@ -1514,7 +1610,7 @@ public function assignProductsItemSku(ProductContract $internal_product, Product if('no' === $source) { - $this->log()->warning(__('The source for the article is not specified.', 'wc1c-main')); + $this->log()->warning(__('The source of the SKUs is not specified.', 'wc1c-main')); return $internal_product; } @@ -1556,27 +1652,34 @@ public function assignProductsItemSku(ProductContract $internal_product, Product if('update' === $mode && 'add' === $this->getOptions('products_update_sku', 'no') && !empty($internal_product->getSku())) { - $this->log()->notice(__('SKU update skipped. The mode of adding SKU is enabled for products that do not have them.', 'wc1c-main')); + $this->log()->debug(__('SKU update skipped. The mode of adding SKU is enabled for products that do not have them.', 'wc1c-main')); return $internal_product; } if('update' === $mode && empty($sku) && 'yes_yes' === $this->getOptions('products_update_sku', 'no') && empty($internal_product->getSku())) { - $this->log()->notice(__('SKU update skipped. The mode for adding SKUs is enabled for products that have them on the site and in 1C.', 'wc1c-main')); + $this->log()->debug(__('SKU update skipped. The mode for adding SKUs is enabled for products that have them on the site and in 1C.', 'wc1c-main')); return $internal_product; } + if($sku === $internal_product->getSku()) + { + $this->log()->debug(__('SKU update skipped. A new SKU is equal to an already filled SKU.', 'wc1c-main')); + + return $internal_product; + } + try { - $internal_product->setSku($sku); + $this->log()->notice(__('Assigning a SKU to a product as completed.', 'wc1c-main'), ['product_id' => $internal_product->getId(), 'sku' => $internal_product->getSku(), 'new_sku' => $sku]); - $this->log()->info(__('The SKU assignment for the product has been successfully completed.', 'wc1c-main'), ['product_id' => $internal_product->getId(), 'sku' => $external_product->getSku()]); + $internal_product->setSku($sku); } catch(\Throwable $e) { - $this->log()->notice(__('Failed to set SKU for product.', 'wc1c-main'), ['exception' => $e, 'sku' => $external_product->getSku()]); + $this->log()->notice(__('Failed to set SKU for product.', 'wc1c-main'), ['exception' => $e, 'sku' => $internal_product->getSku(), 'new_sku' => $sku]); } return $internal_product; @@ -1865,14 +1968,14 @@ public function assignProductsItemDescriptions(ProductContract $internal_product if('create' === $mode && 'no' === $this->getOptions('products_create_adding_description', 'yes')) { - $this->log()->notice(__('Assigning a description to the created product is disabled. Assigning description skipped.', 'wc1c-main')); + $this->log()->debug(__('Assigning a description to the created product is disabled. Assigning description skipped.', 'wc1c-main')); return $internal_product; } if('update' === $mode && 'no' === $this->getOptions('products_update_description', 'no')) { - $this->log()->notice(__('Assigning a description to the updated product is disabled. Assigning description skipped.', 'wc1c-main')); + $this->log()->debug(__('Assigning a description to the updated product is disabled. Assigning description skipped.', 'wc1c-main')); return $internal_product; } @@ -1918,14 +2021,14 @@ public function assignProductsItemDescriptions(ProductContract $internal_product if('update' === $mode && 'add' === $this->getOptions('products_update_description', 'yes') && !empty($internal_product->get_short_description())) { - $this->log()->notice(__('When updating products, it is allowed to add descriptions only to products without a description on the site if there is a description in 1C. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('When updating products, it is allowed to add descriptions only to products without a description on the site if there is a description in 1C. Assigning skipped.', 'wc1c-main')); return $internal_product; } if('update' === $mode && empty($short_description) && 'yes_yes' === $this->getOptions('products_update_description', 'yes') && empty($internal_product->get_short_description())) { - $this->log()->notice(__('When updating products, it is allowed to add descriptions only to products with a description on the site if there is a description in 1C. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('When updating products, it is allowed to add descriptions only to products with a description on the site if there is a description in 1C. Assigning skipped.', 'wc1c-main')); return $internal_product; } @@ -1962,14 +2065,14 @@ public function assignProductsItemDescriptionsFull(ProductContract $internal_pro if('create' === $mode && 'no' === $this->getOptions('products_create_adding_description_full', 'yes')) { - $this->log()->notice(__('Assigning a full description to the created product is disabled. Assigning description skipped.', 'wc1c-main')); + $this->log()->debug(__('Assigning a full description to the created product is disabled. Assigning description skipped.', 'wc1c-main')); return $internal_product; } if('update' === $mode && 'no' === $this->getOptions('products_update_description_full', 'no')) { - $this->log()->notice(__('Assigning a full description to the updated product is disabled. Assigning description skipped.', 'wc1c-main')); + $this->log()->debug(__('Assigning a full description to the updated product is disabled. Assigning description skipped.', 'wc1c-main')); return $internal_product; } @@ -2014,14 +2117,14 @@ public function assignProductsItemDescriptionsFull(ProductContract $internal_pro if('update' === $mode && 'add' === $this->getOptions('products_update_description_full', 'yes') && !empty($internal_product->get_description())) { - $this->log()->notice(__('When updating products, it is allowed to add full descriptions only to products without a description on the site if there is a description in 1C. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('When updating products, it is allowed to add full descriptions only to products without a description on the site if there is a description in 1C. Assigning skipped.', 'wc1c-main')); return $internal_product; } if('update' === $mode && empty($full_description) && 'yes_yes' === $this->getOptions('products_update_description_full', 'yes') && empty($internal_product->get_description())) { - $this->log()->notice(__('When updating products, it is allowed to add full descriptions only to products with a description on the site if there is a description in 1C. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('When updating products, it is allowed to add full descriptions only to products with a description on the site if there is a description in 1C. Assigning skipped.', 'wc1c-main')); return $internal_product; } @@ -2287,28 +2390,28 @@ public function assignOffersItemImages(ProductContract $internal_offer, ProductD if(false === $internal_offer->isType('variation')) { - $this->log()->notice(__('Assignment of images based on offer package is only possible for variations.. Assigning skipped', 'wc1c-main')); + $this->log()->debug(__('Assigning of images based on offer package is only possible for variations. Assignment skipped.', 'wc1c-main')); return $internal_offer; } if('yes' !== $this->getOptions('products_images_by_cml', 'no')) { - $this->log()->notice(__('Image assignments for CommerceML data are disabled in the settings. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('Image assignments for CommerceML data are disabled in the settings. Assignment skipped.', 'wc1c-main')); return $internal_offer; } if(false === $external_offer->hasImages()) { - $this->log()->info(__('There are no images for the product. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('There are no images for the product. Assignment skipped.', 'wc1c-main')); return $internal_offer; } if('no' === $this->getOptions('products_update_images', 'no')) { - $this->log()->notice(__('Image assignment for the product being updated is disabled. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('Image assigning for the product being updated is disabled. Assignment skipped.', 'wc1c-main')); return $internal_offer; } @@ -2319,14 +2422,14 @@ public function assignOffersItemImages(ProductContract $internal_offer, ProductD if('add' === $images_mode && !empty($internal_offer->get_image_id())) { - $this->log()->notice(__('The product being updated contains images. Adding images is allowed only if there are none. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('The product being updated contains images. Adding images is allowed only if there are none. Assignment skipped.', 'wc1c-main')); return $internal_offer; } if(empty($external_images) && 'yes_yes' === $images_mode && empty($internal_offer->get_image_id())) { - $this->log()->notice(__('The product being updated does not contain an image. Updating images is allowed only if they are present on the site and in 1C. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('The product being updated does not contain an image. Updating images is allowed only if they are present on the site and in 1C. Assignment skipped.', 'wc1c-main')); return $internal_offer; } @@ -2345,7 +2448,7 @@ public function assignOffersItemImages(ProductContract $internal_offer, ProductD { if($index >= $images_max) { - $this->log()->notice(__('The maximum possible number of images has been processed. The rest of the images are skip.', 'wc1c-main')); + $this->log()->debug(__('The maximum possible number of images has been processed. The rest of the images are skip.', 'wc1c-main')); break; } @@ -2355,7 +2458,7 @@ public function assignOffersItemImages(ProductContract $internal_offer, ProductD if(false === $image_current) { - $this->log()->notice(__('The image assignment for the product is missing. Image is not found in the media library.', 'wc1c-main'), ['image' => $image]); + $this->log()->warning(__('The image assignment for the product is missing. Image is not found in the media library.', 'wc1c-main'), ['image' => $image]); continue; } @@ -2368,7 +2471,7 @@ public function assignOffersItemImages(ProductContract $internal_offer, ProductD if(0 === $attach_id) { - $this->log()->notice(__('The image assignment for the product is missing. Image is not found in the media library.', 'wc1c-main'), ['image' => $image]); + $this->log()->warning(__('The image assignment for the product is missing. Image is not found in the media library.', 'wc1c-main'), ['image' => $image]); continue; } @@ -2396,7 +2499,7 @@ public function assignOffersItemImages(ProductContract $internal_offer, ProductD $parent_offer->set_gallery_image_ids($gallery_image_ids); $parent_offer->save(); - $this->log()->debug(__('Product images assign completed successfully.', 'wc1c-main'), ['images' => $gallery_image_ids]); + $this->log()->info(__('Assigning images to a product by offers as completed.', 'wc1c-main'), ['images' => $gallery_image_ids]); return $internal_offer; } @@ -2418,35 +2521,35 @@ public function assignProductsItemImages(ProductContract $internal_product, Prod if('yes' !== $this->getOptions('products_images_by_cml', 'no')) { - $this->log()->notice(__('Image assignments for CommerceML data are disabled in the settings. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('Image assignments for CommerceML data are disabled in the settings. Assigning skipped.', 'wc1c-main')); return $internal_product; } if('create' === $mode && false === $external_product->hasImages()) { - $this->log()->info(__('There are no images for the product being created. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('There are no images for the product being created. Assigning skipped.', 'wc1c-main')); return $internal_product; } if($internal_product->isType('variation')) // todo: назначение одного изображения для вариации по данным каталога? { - $this->log()->notice(__('Assigning images to a product variation is not possible. Assigning skipped', 'wc1c-main')); + $this->log()->debug(__('Assigning images to a product variation is not possible. Assigning skipped', 'wc1c-main')); return $internal_product; } if('create' === $mode && 'yes' !== $this->getOptions('products_create_adding_images', 'no')) { - $this->log()->notice(__('Assigning images to the created product is disabled. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('Assigning images to the created product is disabled. Assigning skipped.', 'wc1c-main')); return $internal_product; } if('update' === $mode && 'no' === $this->getOptions('products_update_images', 'no')) { - $this->log()->notice(__('Image assignment for the product being updated is disabled. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('Image assignment for the product being updated is disabled. Assigning skipped.', 'wc1c-main')); return $internal_product; } @@ -2457,14 +2560,14 @@ public function assignProductsItemImages(ProductContract $internal_product, Prod if('update' === $mode && 'add' === $images_mode && !empty($internal_product->get_image_id())) { - $this->log()->notice(__('The product being updated contains images. Adding images is allowed only if there are none. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('The product being updated contains images. Adding images is allowed only if there are none. Assigning skipped.', 'wc1c-main')); return $internal_product; } if('update' === $mode && empty($external_images) && 'yes_yes' === $images_mode && empty($internal_product->get_image_id())) { - $this->log()->notice(__('The product being updated does not contain an image. Updating images is allowed only if they are present on the site and in 1C. Assigning skipped.', 'wc1c-main')); + $this->log()->debug(__('The product being updated does not contain an image. Updating images is allowed only if they are present on the site and in 1C. Assigning skipped.', 'wc1c-main')); return $internal_product; } @@ -2480,7 +2583,7 @@ public function assignProductsItemImages(ProductContract $internal_product, Prod { if($index >= $images_max) { - $this->log()->notice(__('The maximum possible number of images has been processed. The rest of the images are skip.', 'wc1c-main')); + $this->log()->debug(__('The maximum possible number of images has been processed. The rest of the images are skip.', 'wc1c-main')); break; } @@ -2490,7 +2593,7 @@ public function assignProductsItemImages(ProductContract $internal_product, Prod if(false === $image_current) { - $this->log()->notice(__('The image assignment for the product is missing. Image is not found in the media library.', 'wc1c-main'), ['image' => $image]); + $this->log()->warning(__('The image assignment for the product is missing. Image is not found in the media library.', 'wc1c-main'), ['image' => $image]); continue; } @@ -2503,11 +2606,82 @@ public function assignProductsItemImages(ProductContract $internal_product, Prod if(0 === $attach_id) { - $this->log()->notice(__('The image assignment for the product is missing. Image is not found in the media library.', 'wc1c-main'), ['image' => $image]); + $this->log()->warning(__('The image assignment for the product is missing. Image is not found in the media library.', 'wc1c-main'), ['image' => $image]); continue; } $image_current->setProductId($internal_product->getId()); + + /** + * Заполнение имени изображения по имени продукта + */ + if( + 'yes' === $this->getOptions('products_images_rename', 'no') + || ('update' === $mode && 'update' === $this->getOptions('products_images_rename', 'no')) + || ('create' === $mode && 'create' === $this->getOptions('products_images_rename', 'no')) + ) + { + $image_current->setName($internal_product->get_name()); + } + + + /** + * Заполнение имени изображения по описанию файла + */ + if( + 'yes' === $this->getOptions('products_images_rename_file', 'no') + || ('update' === $mode && 'update' === $this->getOptions('products_images_rename_file', 'no')) + || ('create' === $mode && 'create' === $this->getOptions('products_images_rename_file', 'no')) + ) + { + $req = $external_product->getRequisites('ОписаниеФайла'); + if(isset($req['value'])) + { + $im_name = explode('#', $req['value']); + if(isset($im_name[1])) + { + $im_name = $im_name[1]; + + $image_current->setName($im_name); + } + } + } + + + /** + * Заполнение альта по имени продукта + */ + if( + 'yes' === $this->getOptions('products_images_alt', 'no') + || ('update' === $mode && 'update' === $this->getOptions('products_images_rename', 'no')) + || ('create' === $mode && 'create' === $this->getOptions('products_images_rename', 'no')) + ) + { + \update_metadata('post', $attach_id, '_wp_attachment_image_alt', $internal_product->get_name()); + } + + /** + * Заполнение альта по описанию файла + */ + if( + 'yes' === $this->getOptions('products_images_alt_file', 'no') + || ('update' === $mode && 'update' === $this->getOptions('products_images_alt_file', 'no')) + || ('create' === $mode && 'create' === $this->getOptions('products_images_alt_file', 'no')) + ) + { + $req = $external_product->getRequisites('ОписаниеФайла'); + if(isset($req['value'])) + { + $im_name = explode('#', $req['value']); + if(isset($im_name[1])) + { + $im_name = $im_name[1]; + + \update_metadata('post', $attach_id, '_wp_attachment_image_alt', $im_name); + } + } + } + $image_current->save(); if($index === 0) @@ -2525,7 +2699,7 @@ public function assignProductsItemImages(ProductContract $internal_product, Prod $internal_product->set_gallery_image_ids($gallery_image_ids); - $this->log()->debug(__('Product images assign completed successfully.', 'wc1c-main'), ['images' => $gallery_image_ids]); + $this->log()->info(__('Assign images to a product as completed.', 'wc1c-main'), ['images' => $gallery_image_ids]); return $internal_product; } @@ -3268,7 +3442,7 @@ public function assignOffersItemAttributes(ProductContract $internal_product, Pr { $this->log()->info(__('Assigning attributes to a product based on the properties of the offers package.', 'wc1c-main'), ['filetype' => $reader->getFiletype(), 'internal_product_id' => $internal_product->getId()]); - if($reader->getFiletype() !== 'offers') + if($reader->getFiletype() !== 'offers' && $reader->schema_version !== '3.1') { $this->log()->notice(__('The file type is not an offer package. Skip assigning attributes on offer data.', 'wc1c-main')); @@ -3429,7 +3603,7 @@ public function assignOffersItemAttributes(ProductContract $internal_product, Pr { $variation_meta_name .= 'pa_' . \esc_attr(\sanitize_title($global->getName())); $variation_term = get_term_by('name', $characteristic_value['value'], $global->getTaxonomyName()); - $variation_meta_value = $variation_term->slug; + $variation_meta_value = isset($variation_term->slug) ?? ''; } // значение отсутствует в атрибутах @@ -3851,7 +4025,7 @@ public function processingProductsItem(ProductDataContract $external_product, Re */ if('yes' !== $this->getOptions('products_create', 'no')) { - $this->log()->notice(__('Products create is disabled. Product create skipped.', 'wc1c-main')); + $this->log()->debug(__('Products create is disabled. Product create skipped.', 'wc1c-main')); return; } @@ -3860,14 +4034,14 @@ public function processingProductsItem(ProductDataContract $external_product, Re */ if($external_product->hasDeleted() && 'yes' !== $this->getOptions('products_create_delete_mark', 'no')) { - $this->log()->notice(__('The use of products delete mark is disabled. Product create skipped.', 'wc1c-main')); + $this->log()->info(__('The use of products delete mark is disabled. Product create skipped.', 'wc1c-main')); return; } /** * Продукт с характеристикой * --- - * Проверяем наличие родительского продукта для продукта с характеристикой, и + * Проверка наличия родительского продукта для продукта с характеристикой, и * если родительского продукта нет, пропускаем обработку. * Исключение составляет включенная возможность создания родительского продукта на основе первой характеристики. */ @@ -3925,11 +4099,11 @@ public function processingProductsItem(ProductDataContract $external_product, Re if('yes' !== $this->getOptions('products_with_characteristics_simple', 'no')) { $this->log()->info(__('Parent product is not found.', 'wc1c-main')); - $this->log()->notice(__('Creating simple products by characteristics is disabled in the settings. Product create skipped.', 'wc1c-main')); + $this->log()->debug(__('Creating simple products by characteristics is disabled in the settings. Product create skipped.', 'wc1c-main')); return; } - $this->log()->info(__('Creating simple products by characteristics is enabled in the settings. Parent product is not found. Creating simple product by characteristic.', 'wc1c-main')); + $this->log()->debug(__('Creating simple products by characteristics is enabled in the settings. Parent product is not found. Creating simple product by characteristic.', 'wc1c-main')); } else { @@ -3947,7 +4121,7 @@ public function processingProductsItem(ProductDataContract $external_product, Re $internal_product_parent->save(); } - $this->log()->info(__('Variation is not found. Creating.', 'wc1c-main'), ['parent_product_id' => $parent_product_id]); + $this->log()->debug(__('Variation is not found. Creating.', 'wc1c-main'), ['parent_product_id' => $parent_product_id]); $internal_product = new VariationVariableProduct(); @@ -3961,7 +4135,7 @@ public function processingProductsItem(ProductDataContract $external_product, Re $internal_product_id = $internal_product->save(); - $this->log()->debug(__('The creation of the variation is completed.', 'wc1c-main'), ['parent_product_id' => $parent_product_id, 'product_variation_id' => $internal_product_id]); + $this->log()->info(__('The creation of the variation is completed.', 'wc1c-main'), ['parent_product_id' => $parent_product_id, 'product_variation_id' => $internal_product_id]); } } else @@ -4000,7 +4174,7 @@ public function processingProductsItem(ProductDataContract $external_product, Re */ if(has_filter('wc1c_schema_productscml_processing_products_item_before_save')) { - $this->log()->info(__('Assignment of data for the created product according to external algorithms.', 'wc1c-main')); + $this->log()->debug(__('Assignment of data for the created product according to external algorithms.', 'wc1c-main')); $internal_product = apply_filters('wc1c_schema_productscml_processing_products_item_before_save', $internal_product, $external_product, 'create', $reader); } @@ -4013,7 +4187,7 @@ public function processingProductsItem(ProductDataContract $external_product, Re { $id = $internal_product->save(); - $this->log()->info(__('The product is created.', 'wc1c-main'), ['product_id' => $id, 'product_type' => $internal_product->get_type()]); + $this->log()->notice(__('The product is created.', 'wc1c-main'), ['product_id' => $id, 'product_type' => $internal_product->get_type()]); } catch(\Throwable $e) { @@ -4032,7 +4206,7 @@ public function processingProductsItem(ProductDataContract $external_product, Re */ if(has_filter('wc1c_schema_productscml_processing_products_item_after_save')) { - $this->log()->info(__('Assignment of data for the created product according to external algorithms after saving.', 'wc1c-main')); + $this->log()->debug(__('Assignment of data for the created product according to external algorithms after saving.', 'wc1c-main')); $internal_product = apply_filters('wc1c_schema_productscml_processing_products_item_after_save', $internal_product, $external_product, 'create', $reader); @@ -4051,14 +4225,14 @@ public function processingProductsItem(ProductDataContract $external_product, Re return; } - $this->log()->info(__('Product is found. Updating.', 'wc1c-main')); + $this->log()->info(__('Product is found. Updating.', 'wc1c-main'), ['product_id' => $product_id]); /** * Обновление существующих продуктов отключено */ if('yes' !== $this->getOptions('products_update', 'no')) { - $this->log()->notice(__('Products update is disabled in settings. Product update skipped.', 'wc1c-main'), ['product_id' => $product_id]); + $this->log()->info(__('Products update is disabled in settings. Product update skipped.', 'wc1c-main'), ['product_id' => $product_id]); return; } @@ -4095,7 +4269,7 @@ public function processingProductsItem(ProductDataContract $external_product, Re && 'yes' !== $this->getOptions('products_update_use_delete_mark', 'no') ) { - $this->log()->notice(__('The use of products from trash is disabled. Updating skipped.', 'wc1c-main')); + $this->log()->warning(__('The use of products from trash is disabled. Updating skipped.', 'wc1c-main')); return; } @@ -4111,7 +4285,7 @@ public function processingProductsItem(ProductDataContract $external_product, Re */ if(has_filter('wc1c_schema_productscml_processing_products_item_before_save')) { - $this->log()->info(__('Assignment of data for the updated product according to external algorithms.', 'wc1c-main')); + $this->log()->debug(__('Assignment of data for the updated product according to external algorithms.', 'wc1c-main')); $update_product = apply_filters('wc1c_schema_productscml_processing_products_item_before_save', $update_product, $external_product, 'update', $reader); } @@ -4122,9 +4296,24 @@ public function processingProductsItem(ProductDataContract $external_product, Re try { + $saving_changes = false; + $changes_data = $update_product->get_changes(); + + if(!empty($changes_data)) + { + $saving_changes = true; + } + $id = $update_product->save(); - $this->log()->info(__('Product update has been successfully completed.', 'wc1c-main'), ['product_id' => $id, 'product_type' => $update_product->get_type()]); + if($saving_changes) + { + $this->log()->notice(__('Product is found. Product data is changed. Saving changes is completed.', 'wc1c-main'), ['product_id' => $id, 'product_type' => $update_product->get_type(), 'data' => $changes_data]); + } + else + { + $this->log()->info(__('Product is found. Product data is not changed. Updating is completed.', 'wc1c-main'), ['product_id' => $id, 'product_type' => $update_product->get_type()]); + } } catch(\Throwable $e) { @@ -4149,9 +4338,12 @@ public function processingProductsItem(ProductDataContract $external_product, Re try { - $id = $update_product->save(); + if(!empty($update_product->get_changes())) + { + $id = $update_product->save(); - $this->log()->info(__('Product update after assigning data using external algorithms has been successfully completed.', 'wc1c-main'), ['product_id' => $id, 'product_type' => $update_product->get_type()]); + $this->log()->notice(__('Product update after assigning data using external algorithms has been successfully completed.', 'wc1c-main'), ['product_id' => $id, 'product_type' => $update_product->get_type()]); + } } catch(\Throwable $e) { @@ -4228,7 +4420,7 @@ public function processingOffersItem(ProductDataContract $external_offer, Reader /** * Предложение продукта с характеристикой * --- - * Проверяем наличие родительского продукта для продукта с характеристикой, и + * Проверка наличия родительского продукта для продукта с характеристикой, и * если родительского продукта нет, пропускаем обработку. * Исключение составляет включенная возможность создания родительского продукта на основе первой характеристики. */ @@ -4335,7 +4527,7 @@ public function processingOffersItem(ProductDataContract $external_offer, Reader */ if('yes' === $this->getOptions('products_update_only_configuration', 'no') && (int)$internal_offer->getConfigurationId() !== $this->configuration()->getId()) { - $this->log()->info(__('The product is created from a different configuration. Update skipped.', 'wc1c-main'), ['offer_id' => $internal_offer_id]); + $this->log()->warning(__('The product is created from a different configuration. Update skipped.', 'wc1c-main'), ['offer_id' => $internal_offer_id]); return; } @@ -4344,7 +4536,7 @@ public function processingOffersItem(ProductDataContract $external_offer, Reader */ if('yes' === $this->getOptions('products_update_only_schema', 'no') && (string)$internal_offer->getSchemaId() !== $this->getId()) { - $this->log()->info(__('The product is created from a different schema. Update skipped.', 'wc1c-main'), ['offer_id' => $internal_offer_id]); + $this->log()->warning(__('The product is created from a different schema. Update skipped.', 'wc1c-main'), ['offer_id' => $internal_offer_id]); return; } @@ -4386,6 +4578,22 @@ public function processingOffers(Reader $reader) { if(false === $reader->isElement()) { + if($reader->nodeName === 'Предложения' && $reader->xml_reader->nodeType === XMLReader::END_ELEMENT) + { + $offers_count = 0; + if(isset($reader->elements['Предложение'])) + { + $offers_count = $reader->elements['Предложение']; + } + + $this->log()->notice(__('Processing a the offers from offers package as completed.', 'wc1c-main'), ['offers_package_id' => $reader->offers_package->getId(), 'catalog_id' => $reader->offers_package->getCatalogId(), 'classifier_id' => $reader->offers_package->getClassifierId(), 'offers_count' => $offers_count]); + } + + if(($reader->nodeName === 'ПакетПредложений' || $reader->nodeName === 'ИзмененияПакетаПредложений') && $reader->xml_reader->nodeType === XMLReader::END_ELEMENT) + { + $this->log()->info(__('Processing a offers package as completed.', 'wc1c-main'), ['offers_package_id' => $reader->offers_package->getId(), 'catalog_id' => $reader->offers_package->getCatalogId(), 'classifier_id' => $reader->offers_package->getClassifierId()]); + } + return; } @@ -4394,6 +4602,11 @@ public function processingOffers(Reader $reader) $reader->offers_package = new OffersPackage(); } + if(($reader->nodeName === 'ПакетПредложений' || $reader->nodeName === 'ИзмененияПакетаПредложений')) + { + $this->log()->info(__('Processing a offers package.', 'wc1c-main')); + } + if($reader->nodeName === 'ПакетПредложений') { $only_changes = $reader->xml_reader->getAttribute('СодержитТолькоИзменения') ?: true; @@ -4453,6 +4666,8 @@ public function processingOffers(Reader $reader) if($reader->nodeName === 'Предложения') { + $this->log()->notice(__('Processing a the offers from offers package.', 'wc1c-main')); + if(false === $reader->offers_package->isOnlyChanges()) { $this->log()->info(__('Saving the offer package to configuration meta data.', 'wc1c-main'), ['filetype' => $reader->getFiletype()]); @@ -4473,7 +4688,15 @@ public function processingOffers(Reader $reader) if($reader->parentNodeName === 'Предложения' && $reader->nodeName === 'Предложение') { - $offer_xml = new SimpleXMLElement($reader->xml_reader->readOuterXml()); + try + { + $offer_xml = new SimpleXMLElement($reader->xml_reader->readOuterXml()); + } + catch(\Throwable $e) + { + $this->log()->warning(__('SimpleXMLElement threw an exception when converting the offer.', 'wc1c-main'), ['exception' => $e]); + return; + } try { @@ -4481,23 +4704,23 @@ public function processingOffers(Reader $reader) } catch(\Throwable $e) { - $this->log()->warning(__('An exception was thrown decode the offer.', 'wc1c-main'), ['exception' => $e]); + $this->log()->warning(__('DecoderCML threw an exception when converting the offer.', 'wc1c-main'), ['exception' => $e]); return; } /** * Внешняя фильтрация перед непосредственной обработкой * - * @param ProductDataContract $offer - * @param Reader $reader - * @param SchemaAbstract $this - * @param SimpleXMLElement $offer_xml + * @param ProductDataContract $offer Обработанные данные предложения + * @param Reader $reader Текущий ридер + * @param SchemaAbstract $this Текущая схема + * @param SimpleXMLElement $offer_xml Данные предложения в формате xml */ if(has_filter('wc1c_schema_productscml_processing_offers')) { $offer = apply_filters('wc1c_schema_productscml_processing_offers', $offer, $reader, $this, $offer_xml); - $this->log()->info(__('The offer has been changed according to external algorithms.', 'wc1c-main')); + $this->log()->debug(__('The offer has been changed according to external algorithms.', 'wc1c-main'), ['offer' => $offer]); } if(!$offer instanceof ProductDataContract) @@ -4517,13 +4740,43 @@ public function processingOffers(Reader $reader) try { + /** + * Обработка данных предложения + * + * @param ProductDataContract $offer Обработанные данные предложения + * @param Reader $reader Текущий ридер + * @param SchemaAbstract $this Текущая схема + */ do_action('wc1c_schema_productscml_processing_offers_item', $offer, $reader, $this); } catch(\Throwable $e) { $this->log()->warning(__('An exception was thrown while processing the offer.', 'wc1c-main'), ['exception' => $e]); + + if(has_action('wc1c_schema_productscml_processing_offers_item_throwable')) + { + /** + * Внешнее действие при выброске исключения при обработке предложения + * + * @param ProductDataContract $offer + * @param Reader $reader + * @param SchemaAbstract $this + * @param \Throwable $e + * + * @since 0.14 + */ + do_action('wc1c_schema_productscml_processing_offers_item_throwable', $offer, $reader, $this, $e); + } } + $current_offer = 0; + if(isset($reader->elements['Предложение'])) + { + $current_offer = $reader->elements['Предложение']; + } + + $this->log()->info(__('Move on to the next offer.', 'wc1c-main'), ['current_offer_counter' => $current_offer]); + $reader->next(); } } diff --git a/src/Schemas/Productscml/Receiver.php b/src/Schemas/Productscml/Receiver.php index 438fc008..87dae964 100644 --- a/src/Schemas/Productscml/Receiver.php +++ b/src/Schemas/Productscml/Receiver.php @@ -49,13 +49,13 @@ public function initHandler() */ public function handler() { - $this->core()->log()->info(__('Received new request for Receiver.', 'wc1c-main')); + $this->core()->log()->info(__('Received new request from 1C for Receiver.', 'wc1c-main')); $mode_and_type = $this->detectModeAndType(); $mode = $mode_and_type['mode']; $type = $mode_and_type['type']; - $this->core()->log()->debug(__('Received request params.', 'wc1c-main'), ['type' => $type, 'mode=' => $mode]); + $this->core()->log()->debug(__('The resulting query parameters.', 'wc1c-main'), ['type' => $type, 'mode=' => $mode]); $this->core()->configuration()->addMetaData('_receiver_mode', $mode, true); $this->core()->configuration()->addMetaData('_receiver_type', $type, true); @@ -101,6 +101,7 @@ public function handler() $response_description = __('Action is not found in schema.', 'wc1c-main'); $this->core()->log()->warning($response_description); + $this->sendResponseByType($this->core()->getOptions('response_unknown_action', 'failure'), $response_description); } @@ -111,7 +112,7 @@ public function handler() */ public function handlerCatalogModeComplete() { - $this->core()->log()->info(__('Sending a successful completion of the exchange in 1C.', 'wc1c-main')); + $this->core()->log()->notice(__('Sending a successful completion of the exchange in 1C.', 'wc1c-main')); $this->sendResponseByType('success'); } @@ -123,17 +124,20 @@ public function handlerCatalogModeComplete() */ public function handlerCatalogModeDeactivate() { + $message = __('The time of the last full exchange has been set.', 'wc1c-main'); + if(isset($_GET['timestamp'])) { $timestamp = (int)$_GET['timestamp']; - $this->core()->log()->notice(__('The time of the last full exchange has been set.', 'wc1c-main')); + $this->core()->log()->notice($message, ['timestamp' => $timestamp]); + $this->core()->configuration()->addMetaData('_catalog_deactivate', $timestamp, true); $this->core()->configuration()->addMetaData('_catalog_full_time', $timestamp, true); $this->core()->configuration()->saveMetaData(); } - $this->sendResponseByType('success'); + $this->sendResponseByType('success', $message); } /** @@ -172,8 +176,6 @@ public function sendResponseByType(string $type = 'failure', string $description $description = apply_filters('wc1c_schema_productscml_receiver_send_response_by_type_description', $description, $this, $type); } - $this->core()->log()->info(sprintf('%s %s.', __('In 1C was send a response of the type:', 'wc1c-main'), $type), ['type' => $type]); - $headers= []; $headers['Content-Type'] = 'Content-Type: text/plain; charset=utf-8'; @@ -182,16 +184,18 @@ public function sendResponseByType(string $type = 'failure', string $description $headers = apply_filters('wc1c_schema_productscml_receiver_send_response_by_type_headers', $headers, $this, $type); } - $this->core()->log()->debug(__('Headers for response.', 'wc1c-main'), ['context' => $headers]); - if(!headers_sent()) { + $this->core()->log()->debug(__('Headers for response.', 'wc1c-main'), ['context' => $headers]); + foreach($headers as $header) { header($header); } } + $this->core()->log()->info(sprintf('%s %s.', __('In 1C was send a response of the type:', 'wc1c-main'), $type), ['type' => $type]); + switch($type) { case 'success': @@ -281,7 +285,8 @@ public function handlerCheckauth() { $message = __('Not a valid username.', 'wc1c-main'); - $this->core()->log()->notice($message); + $this->core()->log()->warning($message); + $this->sendResponseByType('failure', $message); } @@ -289,7 +294,8 @@ public function handlerCheckauth() { $message = __('Not a valid user password.', 'wc1c-main'); - $this->core()->log()->notice($message); + $this->core()->log()->warning($message); + $this->sendResponseByType('failure', $message); } } @@ -308,9 +314,10 @@ public function handlerCheckauth() $this->core()->configuration()->addMetaData('session_name', maybe_serialize($session_name), true); $this->core()->configuration()->addMetaData('session_id', maybe_serialize($session_id), true); + $this->core()->configuration()->saveMetaData(); - $this->core()->log()->debug(__('Request authorization from 1C successfully completed.', 'wc1c-main'), ['session_name' => $session_name, 'session_id' => $session_id]); + $this->core()->log()->info(__('1C authorization has been successfully passed.', 'wc1c-main'), ['session_name' => $session_name, 'session_id' => $session_id]); $lines['success'] = 'success' . PHP_EOL; $lines['session_name'] = $session_name . PHP_EOL; @@ -324,7 +331,13 @@ public function handlerCheckauth() $lines = apply_filters('wc1c_schema_productscml_handler_checkauth_lines', $lines); } - $this->core()->log()->debug(__('Print lines for 1C.', 'wc1c-main'), ['data' => $lines]); + $this->core()->log()->debug(__('Print lines for 1C.', 'wc1c-main'), $lines); + + if($this->core()->configuration()->isStatus('processing')) + { + $this->core()->configuration()->setStatus('active'); + $this->core()->configuration()->save(); + } foreach($lines as $line) { @@ -411,7 +424,7 @@ public function handlerCheckauthKey(bool $send_response = false): bool { session_id($session_id); - $this->core()->log()->info(__('PHP session none, restart last PHP session.', 'wc1c-main'), ['session_id' => $session_id]); + $this->core()->log()->debug(__('PHP session none, restart last PHP session.', 'wc1c-main'), ['session_id' => $session_id]); session_start(); } @@ -427,19 +440,20 @@ public function handlerCatalogDirectoryClean() { $directory = $this->core()->getUploadDirectory(); - $this->core()->log()->info(__('Cleaning the directory for temporary files.', 'wc1c-main'), ['directory' => $directory]); + $this->core()->log()->debug(__('Cleaning the directory for temporary files.', 'wc1c-main'), ['directory' => $directory]); wc1c()->filesystem()->ensureDirectoryExists($directory); if(wc1c()->filesystem()->cleanDirectory($directory)) { - $this->core()->log()->info(__('The directory for temporary files was successfully cleared of old files.', 'wc1c-main'), ['directory' => $this->core()->getUploadDirectory()]); + $this->core()->log()->info(__('Cleaning the directory for temporary files as completed.', 'wc1c-main'), ['directory' => $this->core()->getUploadDirectory()]); } else { - $error = __('Failed to clear the temp directory of old files.', 'wc1c-main'); + $error = __('Cleaning the directory for temporary files as failed.', 'wc1c-main'); $this->core()->log()->error($error, ['directory' => $directory]); + $this->sendResponseByType('failure', $error); } } @@ -454,10 +468,12 @@ public function handlerCatalogModeInit() if(has_filter('wc1c_schema_productscml_handler_catalog_mode_init_session')) { $_SESSION = apply_filters('wc1c_schema_productscml_handler_catalog_mode_init_session', $_SESSION, $this); - $this->core()->log()->debug(__('Session for receiving requests is changed by external algorithms.', 'wc1c-main'), ['session'=> $_SESSION]); + + $this->core()->log()->info(__('Session for receiving requests is changed by external algorithms.', 'wc1c-main'), ['session'=> $_SESSION]); } $directory = $this->core()->getUploadDirectory(); + $this->core()->log()->info(__('Check the directory for temporary files.', 'wc1c-main'), ['directory' => $directory]); wc1c()->filesystem()->ensureDirectoryExists($directory); @@ -467,6 +483,7 @@ public function handlerCatalogModeInit() $error = __('Failed to check the temp directory.', 'wc1c-main'); $this->core()->log()->error($error, ['directory' => $directory]); + $this->sendResponseByType('failure', $error); } else @@ -543,6 +560,7 @@ public function handlerCatalogModeFile() $response_description = sprintf('%s %s', __('Directory is unavailable:', 'wc1c-main'), $upload_directory); $this->core()->log()->error($response_description, ['directory' => $upload_directory]); + $this->sendResponseByType('failure', $response_description); } @@ -558,12 +576,13 @@ public function handlerCatalogModeFile() $response_description = __('Filename is empty.', 'wc1c-main'); $this->core()->log()->error($response_description); + $this->sendResponseByType('failure', $response_description); } $upload_file_path = wp_normalize_path($upload_directory . $filename); - $this->core()->log()->info(sprintf('%s %s', __('Saving data to a file named:', 'wc1c-main'), $filename), ['file_path' => $upload_file_path]); + $this->core()->log()->info(sprintf('%s %s', __('Writing data to a file named:', 'wc1c-main'), $filename), ['file_path' => $upload_file_path]); if(strpos($filename, 'import_files') !== false) { @@ -619,7 +638,7 @@ public function handlerCatalogModeFile() { if('yes' !== $this->core()->getOptions('media_library', 'no')) { - $this->core()->log()->notice(__('The file was not saved to the media library. Adding is disabled in the settings.', 'wc1c-main')); + $this->core()->log()->warning(__('The file was not saved to the media library. Adding is disabled in the settings.', 'wc1c-main')); } else { @@ -640,9 +659,16 @@ public function handlerCatalogModeFile() if($image_current) { $current_file_extension = $image_current->getMeta('_wc1c_external_image_extension', true); - $current_file_extension = reset($current_file_extension); + if(is_array($current_file_extension)) + { + $current_file_extension = reset($current_file_extension); + } + $current_file_hash = $image_current->getMeta('_wc1c_external_hash', true); - $current_file_hash = reset($current_file_hash); + if(is_array($current_file_hash)) + { + $current_file_hash = reset($current_file_hash); + } if(!empty($current_file_extension) && $current_file_extension !== $file_extension) { @@ -675,6 +701,11 @@ public function handlerCatalogModeFile() $new_image->addMetaData('_wc1c_external_image_extension', $file_extension); $new_image->addMetaData('_wc1c_external_hash', $file_hash); + /** + * @since 0.23 + */ + $new_image->addMetaData('_wc1c_external_file', $filename); + $new_image->setConfigurationId($this->core()->configuration()->getId()); $new_image->setSchemaId($this->core()->getId()); @@ -704,6 +735,7 @@ public function handlerCatalogModeFile() } $this->core()->log()->info($response_description, ['file_size' => $file_size]); + $this->sendResponseByType('success', $response_description); return; } @@ -719,10 +751,10 @@ public function handlerCatalogModeFile() */ public function handlerCatalogModeImport() { - $this->core()->log()->info(__('On request from 1C - started importing data from a file.', 'wc1c-main')); - $filename = wc1c()->getVar($_GET['filename'], ''); + $this->core()->log()->info(__('On request from 1C - started importing data from a file.', 'wc1c-main'), ['file' => $filename]); + if($filename === '') { $response_description = __('1C sent an empty file name for data import.', 'wc1c-main'); @@ -755,9 +787,10 @@ public function handlerCatalogModeImport() } catch(\Throwable $e) { - $response_description = __('Importing data from a file ended with an error:', 'wc1c-main') . ' ' . $e->getMessage(); + $response_description = sprintf('%s %s', __('Importing data from a file ended with an error:', 'wc1c-main'), $e->getMessage()); $this->core()->log()->error($response_description, ['exception' => $e]); + $this->sendResponseByType('failure', $response_description); } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 232e6c27..8e83659c 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -433,12 +433,12 @@ "source": { "type": "git", "url": "https://github.com/wc1c/cml.git", - "reference": "cb0c82d3548080b904b93029735e57dbc0f7ae65" + "reference": "68ae67d178737518f5cc77c55ab5b6559722852f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wc1c/cml/zipball/cb0c82d3548080b904b93029735e57dbc0f7ae65", - "reference": "cb0c82d3548080b904b93029735e57dbc0f7ae65", + "url": "https://api.github.com/repos/wc1c/cml/zipball/68ae67d178737518f5cc77c55ab5b6559722852f", + "reference": "68ae67d178737518f5cc77c55ab5b6559722852f", "shasum": "" }, "require": { @@ -446,7 +446,7 @@ "ext-xmlreader": "*", "php": ">=7.0" }, - "time": "2023-07-17T09:45:23+00:00", + "time": "2024-03-29T15:05:45+00:00", "default-branch": true, "type": "library", "installation-source": "dist", @@ -485,18 +485,18 @@ "source": { "type": "git", "url": "https://github.com/wc1c/wc.git", - "reference": "eafa2b62093f2bd3b6b0706255805983f6b2b6e3" + "reference": "86e85a238842a58ace261ec69d161082187301cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wc1c/wc/zipball/eafa2b62093f2bd3b6b0706255805983f6b2b6e3", - "reference": "eafa2b62093f2bd3b6b0706255805983f6b2b6e3", + "url": "https://api.github.com/repos/wc1c/wc/zipball/86e85a238842a58ace261ec69d161082187301cc", + "reference": "86e85a238842a58ace261ec69d161082187301cc", "shasum": "" }, "require": { "php": ">=7.0" }, - "time": "2023-03-23T07:24:23+00:00", + "time": "2024-03-22T14:08:39+00:00", "default-branch": true, "type": "library", "installation-source": "dist", diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 105441a8..38ebf757 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => 'wc1c/wc1c-main', 'pretty_version' => 'dev-trunk', 'version' => 'dev-trunk', - 'reference' => '3c5f3262673d8b8270d3ce7e036d57f60f764387', + 'reference' => '4643582c433d85520db61db4c47ccb5b924bea31', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -99,7 +99,7 @@ 'wc1c/cml' => array( 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => 'cb0c82d3548080b904b93029735e57dbc0f7ae65', + 'reference' => '68ae67d178737518f5cc77c55ab5b6559722852f', 'type' => 'library', 'install_path' => __DIR__ . '/../wc1c/cml', 'aliases' => array( @@ -110,7 +110,7 @@ 'wc1c/wc' => array( 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => 'eafa2b62093f2bd3b6b0706255805983f6b2b6e3', + 'reference' => '86e85a238842a58ace261ec69d161082187301cc', 'type' => 'library', 'install_path' => __DIR__ . '/../wc1c/wc', 'aliases' => array( @@ -121,7 +121,7 @@ 'wc1c/wc1c-main' => array( 'pretty_version' => 'dev-trunk', 'version' => 'dev-trunk', - 'reference' => '3c5f3262673d8b8270d3ce7e036d57f60f764387', + 'reference' => '4643582c433d85520db61db4c47ccb5b924bea31', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), diff --git a/vendor/wc1c/cml/src/Reader.php b/vendor/wc1c/cml/src/Reader.php index a41c273f..78425313 100644 --- a/vendor/wc1c/cml/src/Reader.php +++ b/vendor/wc1c/cml/src/Reader.php @@ -377,4 +377,12 @@ public function isElement(): bool { return $this->xml_reader->nodeType === XMLReader::ELEMENT; } + + /** + * @return string + */ + public function getFile(): string + { + return $this->file; + } } \ No newline at end of file diff --git a/vendor/wc1c/wc/src/Products/Factory.php b/vendor/wc1c/wc/src/Products/Factory.php index ab7a1306..9cdedbd1 100644 --- a/vendor/wc1c/wc/src/Products/Factory.php +++ b/vendor/wc1c/wc/src/Products/Factory.php @@ -298,4 +298,71 @@ public function maybe_init() $this->init = true; add_filter('woocommerce_product_data_store_cpt_get_products_query', [$this, 'handleCustomQueryVar'], 10, 2); } + + /** + * Get a product. + * + * @param mixed $product_id WC_Product|WP_Post|int|bool $product Product instance, post instance, numeric or false to use global $post. + * @param array $deprecated Previously used to pass arguments to the factory, e.g. to force a type. + * @return \WC_Product|bool Product object or false if the product cannot be loaded. + */ + public function get_product( $product_id = false, $deprecated = array() ) + { + $product_id = $this->get_product_id( $product_id ); + + if ( ! $product_id ) { + return false; + } + + $product_type = $this->get_product_type( $product_id ); + + // Backwards compatibility. + if ( ! empty( $deprecated ) ) + { + wc_deprecated_argument( 'args', '3.0', 'Passing args to the product factory is deprecated. If you need to force a type, construct the product class directly.' ); + + if ( isset( $deprecated['product_type'] ) ) { + $product_type = $this->get_classname_from_product_type( $deprecated['product_type'] ); + } + } + + $classname = $this->get_product_classname( $product_id, $product_type ); + + try + { + return new $classname($product_id, $deprecated); + } + catch(\Exception $e) + { + return false; + } + } + + /** + * Get the product ID depending on what was passed. + * + * @param \WC_Product|\WP_Post|int|bool $product Product instance, post instance, numeric or false to use global $post. + * @return int|bool false on failure + */ + private function get_product_id( $product ) + { + global $post; + + if ( false === $product && isset( $post, $post->ID ) && 'product' === get_post_type( $post->ID ) ) + { + return absint( $post->ID ); + } + elseif ( is_numeric( $product ) ) + { + return $product; + } + elseif ( $product instanceof \WC_Product ) + { + return $product->get_id(); + } elseif ( ! empty( $product->ID ) ) { + return $product->ID; + } else { + return false; + } + } } \ No newline at end of file diff --git a/views/activation/form.php b/views/activation/form.php index d859f810..ec965be6 100644 --- a/views/activation/form.php +++ b/views/activation/form.php @@ -28,14 +28,14 @@
-

+


@@ -44,7 +44,7 @@
-

+


diff --git a/views/configurations/create_form.php b/views/configurations/create_form.php index 0c34a73c..fdd2f804 100644 --- a/views/configurations/create_form.php +++ b/views/configurations/create_form.php @@ -21,18 +21,17 @@
-
+
-


diff --git a/views/configurations/empty.php b/views/configurations/empty.php index 3acc0d6e..ee4bd2e6 100644 --- a/views/configurations/empty.php +++ b/views/configurations/empty.php @@ -1,17 +1,44 @@ - + -

+
+ + +
+ + +

+'; printf('%s %s', __( 'Configurations by query is not found, query:', 'wc1c-main' ), $search_text); } else { - esc_html_e( 'Configurations not found.', 'wc1c-main' ); + esc_html_e('Configurations not found', 'wc1c-main'); } -?>

+?> + - - - \ No newline at end of file + +

+ + +

+ + + + \ No newline at end of file diff --git a/views/configurations/update.php b/views/configurations/update.php index a621daf5..da42795f 100644 --- a/views/configurations/update.php +++ b/views/configurations/update.php @@ -2,9 +2,8 @@
-
+
-
diff --git a/views/configurations/update_form.php b/views/configurations/update_form.php index 1be59849..756406d2 100644 --- a/views/configurations/update_form.php +++ b/views/configurations/update_form.php @@ -10,8 +10,8 @@ generateHtml($args['object']->getFields(), true); ?>
-

- +

+

diff --git a/views/configurations/update_schema_error.php b/views/configurations/update_schema_error.php index 976772a6..15d87979 100644 --- a/views/configurations/update_schema_error.php +++ b/views/configurations/update_schema_error.php @@ -2,11 +2,13 @@ $title = __('Warning', 'wc1c-main'); $title = apply_filters('wc1c_admin_configurations_update_schema_error_title', $title); + $text = __('Update is not available.', 'wc1c-main'); $text = apply_filters('wc1c_admin_configurations_update_schema_error_text', $text); + ?>

-

+

\ No newline at end of file diff --git a/views/configurations/update_sections.php b/views/configurations/update_sections.php index 390b211d..1f012fda 100644 --- a/views/configurations/update_sections.php +++ b/views/configurations/update_sections.php @@ -16,7 +16,7 @@ $views[$tab_key] = sprintf ( - '%s ', + '%s ', $sold_url, $class, $tab_name['title'] @@ -31,7 +31,7 @@ echo "'; diff --git a/views/configurations/update_sidebar_alert_item.php b/views/configurations/update_sidebar_alert_item.php index b1f05ca7..d12d0e82 100644 --- a/views/configurations/update_sidebar_alert_item.php +++ b/views/configurations/update_sidebar_alert_item.php @@ -4,7 +4,7 @@
- + %s', wp_kses_post($args['header'])); ?> diff --git a/views/extensions/item.php b/views/extensions/item.php index b068b28d..e784248e 100644 --- a/views/extensions/item.php +++ b/views/extensions/item.php @@ -10,7 +10,7 @@
-

+

getMeta('description', __('none')))); ?>

diff --git a/views/promo/activation.php b/views/promo/activation.php index 2e695fc7..6a4c912d 100644 --- a/views/promo/activation.php +++ b/views/promo/activation.php @@ -1,8 +1,10 @@ 'settings', 'do_settings' => 'activation'])); + $text = sprintf ( - '%s %s %s
', + '%s %s
%s', __('Your copy of the free software has not been activated.', 'wc1c-main'), __('We recommend that you activate your copy of the free software for stable updates and better performance.', 'wc1c-main'), __('After activation, this section will disappear and will no longer be shown.', 'wc1c-main') @@ -10,16 +12,17 @@ ?>
-
-
-
-

+
+
+
+ +
@@ -45,20 +48,19 @@
-
-

+


@@ -67,7 +69,7 @@
-

+


diff --git a/views/settings/form.php b/views/settings/form.php index 5db4c4c6..b97b8955 100644 --- a/views/settings/form.php +++ b/views/settings/form.php @@ -7,7 +7,7 @@ generateHtml($args['object']->getFields(), true); ?>
-

- +

+

\ No newline at end of file diff --git a/views/settings/sections.php b/views/settings/sections.php index 51bc237a..cb401ea3 100644 --- a/views/settings/sections.php +++ b/views/settings/sections.php @@ -33,7 +33,7 @@ echo "
    "; foreach($views as $class => $view) { - $views[$class] = "
  • $view"; + $views[$class] = "
  • $view"; } echo wp_kses_post(implode(" |
  • ", $views) . ""); echo '
'; \ No newline at end of file diff --git a/views/tools/item.php b/views/tools/item.php index 7d2b891a..81c8d22e 100644 --- a/views/tools/item.php +++ b/views/tools/item.php @@ -5,13 +5,13 @@

-

+

\ No newline at end of file diff --git a/wc1c-main.php b/wc1c-main.php index 9e1398d7..e3ee0283 100644 --- a/wc1c-main.php +++ b/wc1c-main.php @@ -2,16 +2,16 @@ /** * Plugin Name: WC1C * Plugin URI: https://wordpress.org/plugins/wc1c-main/ - * Description: Implementation of a mechanism for flexible exchange of various data between 1C products and the WooCommerce plugin. - * Version: 0.22.0 + * Description: Implementing a flexible mechanism for exchanging various data between 1C Company products and the WooCommerce plugin. + * Version: 0.23.0 * WC requires at least: 4.3 - * WC tested up to: 8.0 + * WC tested up to: 8.8 * Requires at least: 5.2 * Requires PHP: 7.0 * Requires Plugins: woocommerce * Text Domain: wc1c-main * Domain Path: /assets/languages - * Copyright: WC1C team © 2018-2023 + * Copyright: WC1C team © 2018-2024 * Author: WC1C team * Author URI: https://wc1c.info * License: GNU General Public License v3.0 @@ -23,6 +23,7 @@ if(version_compare(PHP_VERSION, '7.0') < 0) { + trigger_error('Minimal PHP version for used WC1C plugin: 7.0. Please update PHP version.'); return false; } @@ -34,12 +35,27 @@ if(!is_readable($autoloader)) { - trigger_error('File is not found: ' . $autoloader); + trigger_error(sprintf('%s: %s','File is not found', $autoloader)); return false; } require_once $autoloader; + /** + * Adds an action to declare compatibility with High Performance Order Storage (HPOS) before WooCommerce initialization. + */ + add_action + ( + 'before_woocommerce_init', + function() + { + if(class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class)) + { + \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility('custom_order_tables', WC1C_PLUGIN_FILE, true); + } + } + ); + /** * For external use * @@ -69,10 +85,10 @@ function core(): Core $loader = new \Digiom\Woplucore\Loader(); + $loader->addNamespace(__NAMESPACE__, plugin_dir_path(__FILE__) . 'src'); + try { - $loader->addNamespace(__NAMESPACE__, plugin_dir_path(__FILE__) . 'src'); - $loader->register(__FILE__); $loader->registerActivation([Activation::class, 'instance']);