a, a:active, a:hover, a:visited {
    text-decoration: none !important;
}

.banner-header {
	background-color: #109543;
	color: #fff;
	padding: 20px 0;
	margin-bottom: 20px;
}

.banner-header h2 {
    color: #fff;
}

.suggest-card {
    position: relative;
    max-height: 150px;
    overflow: hidden;
    width: 220px;
}

.suggest-card img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
    height: 150px;
  }

.home-index-slider {
    margin-bottom: 50px;
}

/* Phase 8B — banner frames (ratio updated to 24:5 in Phase 17F). The admin
   create/edit preview shows the exact 24:5 result of the crop pipeline, and
   the storefront slider below fills its width without ever distorting. */
.kb-banner-preview {
    display: block;
    width: 100%;
    max-width: 480px;
    aspect-ratio: 24 / 5;
    object-fit: cover;
    margin-top: 10px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #f8f9fa;
}

.home-index-slider .banner-img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 5;
    object-fit: cover;
    object-position: center center;
}

/* Phase 17E-FINAL — desktop banner height. Below 992px the image keeps
   the natural 16:5 sizing from the rule above (no forced height on
   small screens); at >= 992px the banner renders a fixed 400px tall.
   Width stays 100% — only the vertical size of the section changes.
   object-fit: cover + object-position: center center crop the 16:5
   artwork vertically, centered (no distortion). The base selector and
   this media-query rule share specificity and the query comes later in
   the file, so height: 400px wins on desktop; nothing else in the
   loaded stylesheets sets a height on this image (.img-fluid's
   height:auto is lower specificity and loads earlier). */
@media (min-width: 992px) {
    .home-index-slider .banner-img img {
        height: 400px;
    }
}

.breadcumb-banner {
	background-color: #a4a4a4;
	padding: 5px 0;
	margin-bottom: 20px;
}

.logout-badge {
	background-color: #f9ea00;
	font-size: 13px;
	padding: 4px 10px;
	line-height: 20px;
	border-radius: 12px;
	color: #000;
}

.card-header h1 ,
.card-header h2 ,
.card-header h3 ,
.card-header h4 ,
.card-header h5 {
    margin-bottom: 0;
}


.section {
    margin-bottom: 30px;
}

.dandik, .bamdik {
    height: 60px;
    line-height: 60px;
    border-radius: 0;

  }


/**  Admin LTE customisation **/


.filter-search {
	border-bottom: 1px solid #eee;
	padding-bottom: 15px;
	margin-bottom: 15px !important;
	padding-top: 15px;
	background-color: #f9f9f9;
	margin: 10px;
}

.filter-search .col-form-label {
   text-align: left;
}

.table-wrapper {
	border: 1px solid #d0c6c6;
	margin: 10px;
	overflow-x: auto;
}
.pagination-box {
	justify-content: center;
	display: flex;
}

.page-item.active .page-link {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color:#fff !important;
}

.page-item .page-link {
    color: #198754 !important;
}


.pagination {
    margin-bottom: 0;
    flex-wrap: wrap;
}

.content td p {
    margin-bottom: 0;
}

.card-footer.float-right nav {
    float: right;
  }

.nav.nav-treeview .nav-item a.nav-link {
	padding-left: 30px;
}
.nav-pills .nav-link {
    border-radius: 0 !important;
}

.nav.nav-treeview .nav-item a.nav-link {
	padding-left: 30px;
	font-size: 14px;
	font-family: 'Rubik', sans-serif !important
}

.btn-primary {
    color: #fff;
    background-color: #198754 !important;
    border-color: #198754 !important;
  }

.card-header h4 {
    font-size: 17px;
    font-weight: bold;
}

.form-control {
    padding: 0.175rem 0.55rem;
    font-size: 0.9rem;
    border-radius: 0 !important;
}

/* Seller Center only (body.layout-fixed): align .custom-select geometry with the .form-control override above */
body.layout-fixed .custom-select {
    padding: 0.175rem 0.55rem;
    font-size: 0.9rem;
    border-radius: 0 !important;
}

.custom-file .invalid-feedback {
	position: relative;
	bottom: -30px;
}

.color-white {
    color: #fff !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active, .sidebar-light-primary .nav-sidebar > .nav-item > .nav-link.active {
    background-color: #198754;
    color: #fff;
}

.nav-sidebar .menu-open > .nav-link i.right,
.nav-sidebar .menu-is-opening > .nav-link i.right {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.nav-link .menu-icon i {
	font-size: 16px;
	width: 30px;
	height: 31px;
	border: 1px solid #b7b7b7;
	text-align: center;
	line-height: 28px;
	border-radius: 0px;
	margin-right: 7px;
}



/** Theme Customisation **/

.product-thumb-wrapper {
	width: 100px;
	height: 80px;
	overflow: hidden;
	background-color: #eee;
	border: 1px solid #000;
}

.product-image-wrap {
	max-height: 520px;
	overflow: hidden;
}


.order-items-wrapper.customer-items .table-image img
{
    width: 100px !important;
}

.address .form-input-group input {
	padding: 0px 20px 2px 20px;
}

#logout-form {
    font-size: 17px;
}

#logout-form li button {
    color: #555 !important;
}

.divider {
    border: 1px dashed #bdbaba;
    margin: 10px 0;
}

.profile-image {
    border-radius: 50%;
    overflow: hidden;
    width: 60px;
    height: 60px;
    margin-bottom: 20px;

  }


.pricing-details {
    padding-left: 0;
    margin-left: 0;
}



.pricing-details li h6 {
    margin-bottom: 0;
}

.pricing-details li p {
    text-align: right;
    font-weight: 600 ;
    width: 150px;
    margin-bottom: 0;

}
.pricing-details li {
	display: flex;
	justify-content: space-between;
	list-style-type: none;
	border-bottom: 1px dashed #b3acac;
	margin: 5px 0;
	padding: 5px 0;
}

.bg-light-blue {
    background-color: #c9ead7;
}

.left-img-wrapper {
	padding-top: 30px;
	position: relative;
}

.full-HW-block {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.img-centered {
    margin: 0 auto;
    display: table;
}

.product-card {
    margin-bottom: 25px;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #66991c;
}

.product-card.out_of_stock {
    border: 1px solid #393434;
    background-color: #eee;
}

.product-card.out_of_stock .product-image img {
    filter: grayscale(0.9);
}

/* Shop listing redesign, scoped so the home product sliders stay unchanged.
   Single source of truth: an earlier iteration of the redesign left a second
   copy of these rules further down the file; both copies were merged here. */
.shop-part { padding: 42px 0 56px; background: #f6f8f6; }
.kb-shop-listing { min-width: 0; }
.kb-shop-heading { margin-bottom: 18px; }
.kb-shop-heading h1 { margin: 0 0 5px; color: #26352d; font-size: 32px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; text-transform: none; }
.kb-shop-heading p { margin: 0; color: #6c7a70; font-size: 14px; }
.kb-shop-toolbar { display: flex; align-items: end; justify-content: flex-end; gap: 16px; margin-bottom: 22px; }
.kb-shop-sort { display: flex; align-items: center; gap: 9px; margin: 0; color: #68776d; font-size: 14px; font-weight: 500; white-space: nowrap; }
.kb-shop-sort .form-select { min-width: 205px; height: 43px; border: 1px solid #dfe7e1; border-radius: 8px; color: #34443a; background-color: #fff; font-size: 14px; box-shadow: none; }
.kb-shop-products > .kb-shop-product-col { display: flex; margin-bottom: 22px; }
.kb-shop-card { display: flex; flex: 1 1 auto; flex-direction: column; overflow: hidden; width: 100%; margin: 0; padding: 12px; border: 1px solid #dfe8e1; border-radius: 12px; background: #fff; box-shadow: 0 1px 2px rgba(24, 54, 34, .03); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.kb-shop-card:hover { border-color: #afd4ba; box-shadow: 0 8px 22px rgba(24, 83, 46, .08); transform: translateY(-2px); }
.kb-shop-card .product-media { position: relative; overflow: hidden; border-radius: 8px; background: #edf2ee; }
.kb-shop-card .product-image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; }
.kb-shop-card .product-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kb-shop-offer { position: absolute; right: 8px; bottom: 8px; padding: 4px 7px; border-radius: 5px; color: #087c40; background: #e6f4e9; font-size: 11px; font-weight: 700; line-height: 1.15; }
.kb-shop-card-body { display: grid; flex: 1; grid-template-rows: auto auto auto auto 1fr auto; padding: 12px 1px 1px; }
.kb-shop-category { margin: 0 0 4px; color: #76847a; font-size: 12px; line-height: 1.25; }
/* Two clamped lines of head-room: one-line and two-line product names reserve
   the same height, so stock/price/rating rows line up across cards. */
.kb-shop-product-name { min-height: 2.4em; margin: 0 0 6px; font-size: 17px; line-height: 1.2; }
.kb-shop-product-name a { display: -webkit-box; overflow: hidden; color: #29392f; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.kb-shop-product-name a:hover { color: #087c40; }
.kb-stock { align-self: start; position: relative; display: inline-block; margin-bottom: 7px; padding-left: 10px; font-size: 12px; font-weight: 600; line-height: 1.2; }
.kb-stock::before { position: absolute; top: 50%; left: 0; width: 5px; height: 5px; border-radius: 50%; content: ''; transform: translateY(-50%); }
.kb-stock--in { color: #118449; }.kb-stock--in::before { background: #118449; }
.kb-stock--unavailable, .kb-stock--out { color: #79837d; }.kb-stock--unavailable::before, .kb-stock--out::before { background: #98a39b; }
/* The unit always takes its own line and the row keeps a fixed minimum, so
   cards with and without a struck-through original price stay the same size. */
.kb-shop-price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 7px; min-height: 46px; }
.kb-shop-price { color: #28382e; font-size: 25px; font-weight: 750; line-height: 1; letter-spacing: -.02em; }
.kb-shop-price-row del { color: #8b958f; font-size: 12px; line-height: 1; }
.kb-shop-unit { flex-basis: 100%; margin-top: 4px; color: #708077; font-size: 12px; line-height: 1.15; }
.kb-shop-rating { align-self: end; display: flex; align-items: center; gap: 5px; margin: 8px 0; color: #758178; font-size: 12px; line-height: 1; }.kb-shop-rating i { color: #718077; }
.kb-shop-cart-form { margin: 0; }
.kb-shop-add { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; border: 0; border-radius: 7px; color: #fff; background: #16864a; font-size: 13px; font-weight: 700; transition: background .18s ease; }.kb-shop-add:hover { background: #0e713b; }.kb-shop-add i { margin-right: 8px; }.kb-shop-add.is-disabled { color: #7d8880; background: #edf0ed; }

/* --- Desktop category filter rail (hidden below 992px) --------------------- */
.kb-shop-sidebar-wrap { align-self: flex-start; }
.kb-shop-sidebar { position: sticky; top: 22px; padding: 17px; border: 1px solid #dfe8e1; border-radius: 12px; background: #fff; box-shadow: none; }
.kb-shop-sidebar .shop-widget-title { margin: 0; padding-bottom: 14px; color: #2c3b32; font-size: 15px; font-weight: 700; text-transform: none; }
/* height:auto replaces the theme's fixed 279px (.shop-widget-scroll). Rows are
   tightened so every real category list fits without an internal scrollbar;
   only abnormally long lists reach the max-height, and then only the list area
   scrolls — the heading and Clear Filter stay put and clickable. */
.kb-shop-sidebar .shop-widget-list { height: auto; max-height: min(560px, calc(100vh - 250px)); margin: 2px 0 12px; padding: 6px 0; overflow-y: auto; }
.kb-shop-sidebar .shop-widget-list li { gap: 10px; min-height: 36px; margin-bottom: 0; padding: 4px 0; transition: color .15s ease; }
.kb-shop-sidebar .shop-widget-content { flex: 1 1 auto; min-width: 0; }
.kb-shop-sidebar .shop-widget-content label, .kb-shop-sidebar .shop-widget-number { color: #68766d; font-size: 13px; }
/* The theme's label is display:flex (which ignores text-overflow); as a block
   it truncates with an ellipsis only when it truly must, and the count — a
   non-shrinking flex item — can never be pushed out of the card. */
.kb-shop-sidebar .shop-widget-content label { display: block; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.kb-shop-sidebar .shop-widget-number { flex: 0 0 auto; white-space: nowrap; }
.kb-shop-sidebar .shop-widget-btn { width: 100%; min-height: 38px; border: 0; border-radius: 8px; background: #f5f8f5; font-size: 13px; font-weight: 600; text-transform: none; transition: background-color .15s ease, color .15s ease; }.kb-shop-sidebar .shop-widget-btn i { margin-right: 7px; }
/* Checked state keeps the colour cue; the old bold toggle reflowed the row. */
.kb-shop-sidebar input:checked + label { color: #0d8144; }
.kb-shop-pagination { margin-top: 10px; padding-bottom: 8px; }.kb-shop-pagination nav { display: flex; justify-content: center; }.kb-shop-pagination .pagination { gap: 4px; }.kb-shop-pagination .page-link { border-radius: 7px; }

/* Desktop header row: title + result count on the left, sort control on the
   right, grid directly beneath — sorting reads as part of the grid's header
   instead of floating in its own row. Phones keep the stacked layout. */
@media (min-width: 768px) {
    .kb-shop-topbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
    .kb-shop-topbar .kb-shop-heading { margin-bottom: 0; }
    .kb-shop-topbar .kb-shop-toolbar { margin-bottom: 0; }
}
/* Balanced split: a flat 25% sidebar is 216px at 1024px (labels collide with
   the counts) and 330px at 1440px (wasted on nine checkboxes). The rail keeps
   a readable 264–304px and the grid flexes into the remaining space with its
   three responsive columns. */
@media (min-width: 992px) {
    .kb-shop-sidebar-wrap { flex-grow: 0; flex-shrink: 0; flex-basis: clamp(264px, 23%, 304px); width: auto; max-width: 304px; }
    .kb-shop-listing { flex: 1 1 0; width: auto; max-width: none; min-width: 0; }
}

@media (max-width: 991px) {
    .shop-part .content-reverse { flex-direction: column; }
    .kb-shop-sidebar-wrap { flex: 0 0 100%; max-width: 100%; }
    .kb-shop-sidebar { display: none; }
}
@media (max-width: 767px) {
    .shop-part { padding: 25px 0 84px; }
    .kb-shop-heading h1 { font-size: 28px; }
    .kb-shop-toolbar { align-items: stretch; margin-bottom: 20px; }
    .kb-shop-sort { width: 100%; }.kb-shop-sort span { display: none; }.kb-shop-sort .form-select { width: 100%; min-width: 0; min-height: 44px; }
    .kb-shop-products { margin-right: -7px; margin-left: -7px; }.kb-shop-products > .kb-shop-product-col { padding-right: 7px; padding-left: 7px; margin-bottom: 14px; }
    .kb-shop-card { padding: 10px; border-radius: 10px; }.kb-shop-card-body { padding-top: 10px; }
    .kb-shop-product-name { margin-bottom: 7px; font-size: 15px; }
    .kb-stock { margin-bottom: 8px; font-size: 11px; }
    .kb-shop-price { font-size: 22px; }.kb-shop-price-row { min-height: 43px; }.kb-shop-price-row del, .kb-shop-unit { font-size: 11px; }
    .kb-shop-rating { margin: 9px 0; font-size: 11px; }
    .kb-shop-add { min-height: 40px; font-size: 12px; }
}
@media (max-width: 374px) { .kb-shop-card { padding: 9px; } }

.product-label {
	top: 2px;
	left: 2px;
	z-index: 1;
}

.product-image {
    height: 150px;
    width: 100%;
}

.product-image img {
    width: 100%;
    object-fit: fill;
    height: 150px;
}

/* Product detail main image: fixed 4:3 container matching the generated
   1200x900 banner. The image fills the container, is fully visible via
   object-fit, stays centered, and can never stretch, distort, or overflow. */
.product-detail-image {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	max-height: 550px;
	overflow: hidden;
	border-radius: 8px;
	background-color: var(--chalk);
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-detail-image img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
}

/* Product detail two-column layout: matched card panels so the image
   section and information section share balanced heights. */
.product-detail-panel {
	height: 100%;
	margin-bottom: 15px;
	overflow: hidden;
	background-color: var(--white);
	border: 1px solid var(--border);
	border-radius: 8px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.details-gallery.product-detail-panel {
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-logo {
    max-width: 80px;
}

.footer-part {
    padding-top: 50px;
    background-color: #053e00;
}

.footer-bottom {
    margin-top: 30px;
    padding: 10px 20px 5px;
}

.footer-card a img {
    width: 40px;
    border-radius: 3px;
}

.user-form-logo img {
    width: 125px !important;
    margin-bottom: 10px;
    border-radius: 8px;
}

.user-form-footer {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 0;
}

.header-logo img {
    width: auto;
    height: 85px;
}


.seller-register-promo {
	padding: 10px;
	background-color: #119744;
	color: #fff;
	border-radius: 10px;
}

.seller-register-promo h4 {
    color: #fff;
    padding: 12px 0;
    text-align: center;
  }
.brand-link {
    background-color: #fff;
}

.brand-link .brand-image {
    float: none;
    width: auto;
    margin: 0 auto;
    display: table;
    max-height: 80px;
}

.inner-section {
    margin-bottom: 20px;
    margin-top: 20px;
}

.vh-100{
    height: 100vh;
}

.breadcumb-banner {
    background-image: url('../images/slider/home-banner-1.jpg');
    padding: 80px 0;
    background-size: cover;
}


.cart-quantity {
    display: inline-flex;
}

.trash {
    width: 30px;
    height: 32px;
    line-height: 32px;
    border-radius: 6px;
    text-align: center;
    display: inline-block;
    background: var(--white);
    text-shadow: var(--primary-tshadow);
    -webkit-box-shadow: var(--primary-bshadow);
    box-shadow: var(--primary-bshadow);
    transition: all linear .3s;
    -webkit-transition: all linear .3s;
    -moz-transition: all linear .3s;
    -ms-transition: all linear .3s;
    -o-transition: all linear .3s;
  }

  .trash:hover {
    color: var(--white);
    background: var(--red);
  }
  .trash:hover .trash i {
    color: var(--white);
    background: var(--red);
  }

button.q-action {
    padding: 10px;
    background: #eee;
    line-height: 1rem;
    width: 40px;
    height: 40px;
}

input.q-action.action-input {
    width: 40px;
    border: 1px solid #7c7a7a;
    padding: 10px 10px;
    height: 40px;
    text-align: center;
}

.list-inline li {
    display: inline-flex;
    margin-right: 8px;
    padding: 6px 15px;
    background-color: #f2fbf5;
    border-radius: 10px;
    border: 1px solid #74dd9c;
}

.list-inline li input {
    margin-right: 10px;
}

/** customer order **/

.navbar-item.home i {
	font-size: 20px;
}

.card.card-order {
	margin-bottom: 10px;
	box-shadow: 1px 3px 5px #dbdbdb;
	border: 0;
	padding: 10px;
	border-radius: 8px;
}

.order-items {
   padding: 5px 0;
}

.table.table-striped {
    margin-bottom: 0;
}


.selectable_radio {
	cursor: pointer;
}


/*** end customer order **/

/** End **/

.empty_block img {
	width: 400px;
	margin: 20px 0;
}

.w-20 {
    max-width: 20%;
}

table.loading tbody {
    position: relative;
}

table.loading tbody:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.1);
    background-image: url(data:image/gif;base64,R0lGODlhaABoAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2ZocGVrhmRtmGNvp2Fwt2Bxwl5xzV1x1Ftx2lpx3llw4Vhw41hw5Fhw5Vlx5Vtz5lx05l5152B352J552J552N552N66GV76Gd96Gl/6GyB6W+E6XCF6XGF6XOH6naJ6nmM6nuO636R64CS7IKU7IWW7IiZ7Yqa7Yuc7Y2d7Y6e7pCg7pOi7pal75qo752r8KGu8KOw8aay8ai18qu38q658rC887S/9LbA9LfC9LnD9LrE9LzG9b7I9cHK9cPM9sXO9sfP9srS98zU98/W99HY+NTb+Nbd+dfe+dnf+dvh+d3i+t/k+uDl+uLn+uPo++To++Xp++fr++js++nt++ru/Ozv/O3w/O/x/PDy/PHz/PHz/PL0/fP1/fT2/fX2/fb3/fj5/fr7/vz8/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAwDSACwAAAAAaABoAAAI/gClCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0gtLiNGbFlSjcyICRNGjNlTjMmmTk12laEqTKUQFtMqrBhCY8CQXXVVp+0iYwbJTjXIjJetu1yTbmrb9hBcgnKFFWS26+5dwXr5tn1UMHBBX4YPP1WluK0qwHIJIot8V21SY5XrBCIoVSsxgrk427L6tFJoWgORkfUsTZlqX115hd40cBlZpwKFccYF/Oqnyoo0T6UtzW5ks0NfefLE6phB13yTE1SmrKDzu7gL/vrmxevvzVV+0qe/1KsgJr6fGBYzDKygMlyu8udHbNOT+v+eFOTKJvE1NFZeA/Gi34K84HTKf/9dwhF+C+pXH06LQKiehBlRWKErsuh0TIYa+vEKRsZ8mJ8sxeF0DCUlBniRgh/W0qJOqxwC4SgY+VJhLPz9VIsnjzzCY0a+0EILL8x15eSTUIoYCiSGVGlIIpqE+JEwsqiSypeptHLLjS7JkoiVaFapiUeygOnml6qY99KZaabZCke/vKnnZTHRWaeVd26Up55u8gkTLn7WuWZHbRKaSpwzHTMlmoxkCRKXXoIpJplRdurppyjpYgommKSiUS2qqCJLkD69Mski/rDCaupFtYhiq62m7OITMpjE6mtYF8ly67CsdKcTMpX46itsF/0y7LCoGItTssrC2olGrTx7Kyo5sVKttRxlq60ouOAUyrfADmQLKqs4FIsruhIkrLZa2vSKsp1cOFApkvTb7kKxcCIwKwUhI+6t8d5ESymlvNKkNKH02y9vBNFSS0GlCCywoQMps4sssvxC1CoST0yQKZdcYgpBGWvMSSxOClNyv9wKlEvKKecykCsuc9KJnEhFPHPCKOO8skDA9MwJx0chM7MkHAqUCc6XZELQJ0pLe5QsT9crDdUpE4SL0uUmhcrMMg4EdtQCndKzK0+dLXEmTa5tnyguw52UUy0Sb/Kw3fa1zEnCSMlSit4GdUL1tQfRwkrZoEqzCtX/Rr6QMlNXrbXlCeWSSSbhcS766KSXbvrpqKeu+uqst+7667DHLvvstNdu++245657TwEBACH5BAkDANoALAAAAABoAGgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2docGZshmZvmWVyrGR0umR1xWN2zmF21l913F514F5141115Fx15V115l525mB452J552N66GZ86Gd96Gh+6Gh+6Gl/6WqA6WyC6W+E6XGG6nOI6nWJ6naK63iM63uO636R7ICT7IOV7ISW7YaY7Ymb7Yyd7o+f7pCg7pGh7pOi75Sj75Wl75in75yq8KCu8KOw8aay8ai08qq28qy48q668rG887S+87fB9LrE9LzF9L3G9L3G9b/I9cDJ9cLL9cXN9sfP9srR9szT983U99DW99Pa+Nbc+dnf+dvh+d3i+t/k+uDl+uHm+uTo++bq++fr++js/Ont/Ort/Ovu/Ozv/O3w/O7x/e/y/fH0/fP1/fT2/fX3/fX3/fb4/vf4/vf5/vf5/vj5/vj5/vj5/vn6/vr7/vv7/vv8/vz8/vz9/v39/v39/v7+/v7+/v7+//7+//7+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ALUJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC1OM2bsWtKNTJk+zQgtqjFoUxmqwnQKoTKryhAeCxb26Ss6aBcNM2hVasFpv3LJbfaUE1q0htYSbGvsbS+5coXVvYv2UUG+BYEBDvxUFWG0qva2JahssdyySIc9phNIclRkBHlZzjVtaqXNswY2s0pX4LPRwLLu2sxp4NKopQUKs6wrWlZtoB4rIrjaWGuBcRfrFQrr06dWxAyevjucYDTfBJPLjf1WmC9ffXH+tvJDnvwlXgUx3QXFcBjgYAWd5YJFn77gm5/K6/9U8BUn9g0NI8xxAvlS34G+4ISKfvpdwtF8B9YHH06LMFiegxlBGCEstehETIUW+gELRsZsSF8tueVETCUh8neRgRvakuJOrRzCICkY/RLhLPcBVcsnjzyCY0a/2GKLL5j9puSSTN5kjCiRFCJlIYhsIgtIwczSyipcrvLKLVjJJAsiU5Yp5SYezdLlmlxCJxOZZprpCke/sGlnK2/GKSeddrKJZ0y2wKknmh2p2ecqbsr0JCRlMmIlllqu+WWYTVZq6aUo4XIKJphEllEtrLAiS48/wTLJIqii6qlFtZDiqqv+qOzi0zGYpGqrKRjJ8uqurjyz0zGW2GorLTnuuqsqvuYUrLCoeqLRK8a+uqpNrTDbLEfQRkvKLTiFYi2uBNmiyp8MxfKKrATpGu2VN8EirCfcDXSKJPSSm1AsnuQ7J0HHZPsqujfRYoopsBxjkCj00lsbQbR0SBAq+ebLikHP7CKLLL8Q1UrCCj/MKSoPR5xvLL8FwzG9q+LCKae4DPSKyJ58slxSCJ8MMCorYwKyQMDA7MnETylzsiQYCqRJzpoQFIrPzjwly9DsCpQzpwTd4jO3SalysosDTY1JQanA/EpjHGuSpDZex0eKyGMnZUvCnJyN9tQGOQNxvgAjJctEKW0b9EnOXBdEiytYY9pKzvZimpAyR2NituIN4aKJJglCbvnlmGeu+eacd+7556CHLvropJdu+umop6766qy37rpPAQEAIfkECQMA+gAsAAAAAGgAaACHAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaWlpampqa2trbGxsbW1tbm5ubm92bXOMbXWebHiwa3m+anrIaXvQZ3vYZnveZHrhZHrkY3rlYnrnY3rnZHvnZXzoZn3oaH/paoDpa4LpbYPpbYPpboTpb4TqcIbqcofqdInqdovreY3re47rfI/rfpHsgJPsg5XshZftiZrtipvtjZ3uj5/ukqLuk6PvlaTvl6bvmKfvmajwmqnwm6nwnqzwoa/xpbLxqLXyq7fyrbnzrrrzsLvzsr3ztL70tcD0uML0u8T0vsf1wMn1wsr1wsv1w8v2w8v2xMz2xc32xs72ydD2y9L3zdT30Nb30dj409j41Nr41tv42t/53eH53+P54OT64eX64ub64+f65Oj65un65+r76ez76u377O777vD87vD87vD87vD87/H87/H88fL88vT99PX99ff99/j++Pn++fr++fv++vv++/z++/z+/P3+/f3+/f3+/f7+/f7+/f3+/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7//f7//f7//f3//f3//f3//f3//f3//f7//v7//v7//v7//v7//v7//v7//v7//v7//v7//v7//////v7//v7//v7/////////CP4A9QkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNILZ7Tpi0pR6ZMnWZEB1UbOqkMbYF6hbBq1IPVpFWTumuPWUnSDHptWvActGRwrzktZdaso7QE17Z9BhcuXqR06+6xVFAvwWh9/Tq1JdisrbxeCVZLDHdsUmmN9ySCXJUgX8rnpHbKDGwgVahXBWqjnCwaVmSZSw1cCjW0QGmUm23Dqi9VY0kET6cW+DbxNKK8UqXC9Xfg6LrACZ6zPbA4XNcFt0l79oxaTlyFwv6HB5WsIKi6qRhO69tc3zVkv+LHbz8Tlfj76QnuKpVfvTS5nskn4DM40XLffaBwBJ+A8mF3kyQHipdgRgsy+AsxOkkDYYSF8IIRNRbGR8xuGXLCISoYPROiMSTyhMsjB7KCETQMCkMfT8KgYoklMmYETTHFPGMZb0QWaSRO06yCiSNMOhIJKb6AFI0wu+BiJS68FIPNTL5E0uSXTJLikTBXlmnlLjeu5CWYYO7C0TNmxulmTGuy2eScGsEZZ5m6yFRMnWyOMuaeVuqS5kpJLtkkJaNE+dGUupSZ5ZZHVmrppSkZI0soodSi0TC55BKMgz/xsskkqKL62EXDxOKqq/61IOPTNKGkaqssGAXz6q67UJrTNJ/YamtpFz2z6663+HpTsMKiimJGvBz76i056dKssxxFK20sxuC0yrW4EkSMLbk45Asv5RGkq7TB4MSLsKgQSJAsm9SLC0O+oKIvngJNo+2rsuIEjCyy8HJcQavUW68pBQkjTEG06KvvvQVhg0wwwcgrFC4KL0zQLJzSQlDEEqPiqFTQdFyvpwIZwymn3QrES8moqHLoUAmrHLA+IL88y0DP0IwKxUlRo/ImEwo0ysuhCDrQKkIDiJQvR5+sD9OcElSM0MU4VYvK/QmEdSgF1UKzh0l9rfAo3hE0dkHXxFIy2kgRo7ApbbuNtUtB15CMSrpJ+VIwQqkwHTZBVHaNqT65MF3u4gtVs3TTQ0KekDGjjAK45Zx37vnnoIcu+uikl2766ainrvrqrLfu+uuwxy777LSLFBAAIfkECQMA5wAsAAAAAGgAaACHAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaWlpampqa2trbGxsa210am6EaXCRZ3KlZnS4ZXXGZHbRY3fYYnfdYXfhYHbjX3XkXnXlX3bmYHfmYXjmY3nnZHrnZXvnZnzoZ33oaH7oaoDpbYPpcIXqcofqc4jqdInqdorrd4vreY3reo7rfZDsgJPsgZTsg5bthZftiJrtjJ3uj6DukKHvkqLvlKTvlqbvmKfwmanwm6rwnKvwnq3xnq3xn67xorDxprPyqbbyrLjzr7vzsbzzs77ztL/0tsH0uML0ucP0u8X1vcf1wMr1w8z2xc72xs/2x8/2yND2yND2ydH3ytL3zNT3ztX30df409n41dv41tz519352N352t/53uL64eX65Of65ej75un75+r76Ov76ez76u376+777e/87vD88PL88fP88vT98/T98/T98/X99PX99PX99fb99fb99vf99/j9+Pn++fr++vr++vv+/Pz+/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7//v7//////////////////////////v7+////////////////////////////////////////////////////////////////////////CP4AzwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNILerq0+dXUo3R+uTJ0yfaU4yjpk4ddZXhLVGvECrSmkcRQm3Xtl3tBajtpGkGyU412M1atLtqk5Zq2xYSXIJy8xTsVu3u3WxP9/IFdKlg4ILXDB9+emtx21uA5RLcJhnv02mWAS0iyIfsIIKFO3e72ik0sIGYyGIayK1ztGtdkYUuNVAXWV0Ds9nm1vXcKsuTCMbOM3ugXcnaiP5SpSpXNYOt+SYnWKtWwed3cf4X5HatWTNsOXMhWr9eVLKCoviuYqjNsPiB25YN27/fGk5V7AWoSkG9lDJfQ9pkk9dAzfDnYDM41RJggKJwpJ+D/P11EyUTsldhRhdiOMwxOlXDYYeIOHURNiLudwxxJX6C4oAXNShiMjDylEskE7qCUTQYGuNfUMKoggkmPmYUTTLJNBNdcVBGKWVO1rSiCSRYQiJJKSp6VA0xvvQiZi/AIJMjTL9IkuWaWPLW0TBjximmL0PCpCabbPLCkTNy9umLTHfimaWeG/HZZ5x/xkRMoHi6yRGch/ZC50xVXpmlJVyCVM0wYY75i5lThirqqCodE8soo2CWETG88CKMhv4//dJJJbTSqqpFxNCiq664KOOTNaPUKmwsGAmz67G+LIiTNaEIK2wwGDFz7LG5KGtTs87SSiNGv0y7ay457ZKtthx16y0tyODUyrjEEkTMLcA1BMwvvhJkrLfC4PSLs6owU5AsnQQM7kLArGJwL5CZu2u9NwUTSyy/1DmQKwEHjEpBwuRLkC0GGxzvZspk7O9QuVRsMXeo2rJxxwa/1hU0Jgd86zGookqiQL+wvEor111FcczvCVRLzaN4J1AzOq8ycFLYxNzJhwKVQrSj57iS9JNIAeO0ywIRjSpBxiRtDGUxHziQ11wRhIvOXR51i8mloEcQ2gVpEwvLbRtFTFHFqMg9t9cGacOxwQxnLUuiBq1CtNkY9zI2qefsQvQukDOEjdSjxF05Q8eUUsoym4cu+uikl2766ainrvrqrLfu+uuwxy777LTXbvvtuOdeUkAAIfkECQMA6gAsAAAAAGgAaACHAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaWlpampqa2trbGxsbW1tbG51bG9+bHKSa3Wmani8anrLaXvVaHzcaHzgZ3zjZnvlZHrmZHrmZXvnZnznaH3oaX7oan/oa4DobIHpbYLpcITpcobpdIjqdorqeIvqeo3qe43rfI7rfpDrgJLrgpTshJbsh5jsiZrti5ztjp7ukaHulKTvlaXvl6bvmKfwmqnwnKrwnqzwoK7xorDxo7Hxo7HxpLLypbPyprTyqbbyrbrzsb3ztMD0tsH0uMP0ucT0u8b1vcf1vsj1wMn1wcv2xM32x8/2ydH3ytL3y9P3zNT3zdT3ztX3ztb4z9b40dj409n41Nr41tz519352d752uD53OH63eL63+T64ub65Oj75ur76ez76u376u376+776+787O/87fD87vH88PL88fP88/T99Pb99vf99/j9+Pn9+Pn9+Pn9+fn++fr++fr++fr++vr++vv++vv++/z+/P3+/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7/////////////////////////////////////////////////////////////////////////////////////////CP4A1QkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNILe7q0ydYUo3Q+uTJ0wfaU4yjpk4ddZUhrlGwECrSmkcRwm/d0l3tFajtpGgGyU492O2aXbVJS7VtCwkuQbl5DG6za9fbU717A2EqCLjgYMLXDCfFlbgtrr9yCaaDfPdptMqBFhGUqpUQwceQu3ICPWzgJbKXBm7m3K2rMtClBu4iu2ugN87X8F5VVXkSwdd5Yg+sC/kbUWCpUu3yS3D1XuMEZckqyNxu7YKbof5B25ZTF6Lz50UxKyhqryqG3wh/H/jtWbL796/hTIW+f6qCvZTyXkPfeCOcQNDgp6BVN9HSX3+icGSfgvhJk9MkD6IXYUYTUpjMejlFg2GGiACD0TYe3sfMgTdFwwmJ/12UoIfOsFgeJA+6glE0FC6jX1DDpIIJJjpmFE0zzUAzX1dMNunkTtK4ogkkVEIySSnCgCSNMcEA4yUwwzDjnEzCTFLlmVTm1lExX7bpZTA/wiQJmnT2whE0bubpVExz0nmmnRvhmWebe8JUTJ9+qskRm4MCA+dM0rSSyZmVYKllMV1+GeaYT3bq6acsJSMLKaRclpExvvhCDHU/AdOJJf6wwmqqRcbcYqutujTj0zSkxOprLBgRc+uwwEiW0zSi+Opraxc9M+ywvRh7U7LKwjogRsI8eyugN/FSrbUcZavtLcrg5Mq3wBJUDC68ODRMMLoSJKy2xOAEjLKqOFOQLJ/029tCw7Ai8C8FWSPurfHeNEwssQAzjUGv9NtvjAMRUy9BtwgsMLe+NWPxM0TtIvHEBNlC6i0Yaywws1c9M3K/syZDKqnJDBSMyqy4wipSEb+8zEAmz2zLQM/gzEq7T03z8idcDWTKzKSYQhAsRpOXlDBLZzkQ1KQSlIzRNU/2MisFcU1KQbrgXOhRuIxcysMEme3YLCqvbVQxEqcCd0/cXAuWscAJIyWMLCYe1ArUrSBEzC9hg6pOL1Bz7HhC2zwdtdWTL5SMKaYEnvnnoIcu+uikl2766ainrvrqrLfu+uuwxy777LTXbvvtOwUEACH5BAkDAOkALAAAAABoAGgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9QWFBTYlFWa1JYdFNdilRhoFVlsVVnwVVqzVZs1lZt21Zt31Zu4VZu41Vu5FVu5FVu5VZu5VZv5Vdv5Vhw5lpy5ltz5l1152B352J552R66GV86Gh+6GuA6WyB6W2C6W+D6XCE6XGF6XKG6nOH6nSI6nWI6naJ6neK6niM63qN63uO632P636Q636R63+R63+R63+S7ICS7ICS7IGT7IOV7IWW7IeY7Yma7Yqb7Yuc7Yyc7Y2d7Y2d7Y+f7pKh7pSj75em75qo75up75yq8J2r8J+t8KCt8KGv8KSx8aaz8ae08ai08ai18am18am18qm18qq28qu38qy48q+687K987XA9LjD9LrF9bzG9b7I9cDJ9sHK9sLL9sPM9sTN9sXO9sfQ98nR98vT983U983V987W99DX+NHY+NLZ+NPa+NTa+NTb+NTb+dbc+dfd+dnf+drg+dzi+t/k+uLm+uPn++Pn++To++Xp++fq++ns++vu/Ozv/O3w/O/x/O/y/PDy/PHy/PHz/fL0/fL0/fP1/fX2/fX3/fb4/ff4/fn6/vr7/vr7/vv8/v39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//7+/////////////////////////////////////////////////////////////////////////////////////////////wj+ANMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC36cuNmWFKN1dykSeOm2lOMpKZOJXWV4a1RsRAC0pomEMJUlcI+DSan7SNrBslONVgN0Je7up6aattWEVyCctMUrFbn7l1Pevm2pVQwcMFDhg8/vaW47S3AcgnGinxXLVJrleUQItiGrB2Cazh/sfo0U2hjAymRZSxQmOpHXZeFNjXQF1lfAz1xPpOsa7pVlXHHnkpboB/OpYgKU6XKFzaDrvkqHzhrVsHnhrf+DzynLVs2bjl7BVq/flSzgqP4rmJYynClguesRdu/XxvOVOwFqEpBwZgyX0OleJIXQdnw52A2ONUSYICjcKSfg/z5hxMkE7JXYUYXYhgNNTphw2GHgQiDETci7kfNOTthkwmKqWDUoIjWwNhTL41MCIuNGEqjIVDIpGKJJT9mlE011Zxn3JNQRlniK5g0YmUjj5ji1EfZMGMMMWASg0w0OsY0zCNXpmklbx0xE+abYBoDYUxoqqlmMBbCqSdsdNp5Z556vsknTMnU6SebHLkZKDFyzoQNlWlOoiVIXX4Z5phlSqnpppyetAwtpZSSi0bLCCNMMtcFJQwnk7Ta6oL+Fi3Dy6yz/hKNT9mU4uqu3l2UDK3ADoOeTtmMsuuuyGBUDbDABjMsTsYe2+qBGBnDLK144vSLtNNyZO21vLx3Eyzc9jpQMrr84hAyxNxK0K/XFneTMMeuIk1BtYCir7oLIQPLvyoy+C2t7t6ETHfCzKmZvvrW+K68A+ny77/ZEsRiMsmwJtQvDDdMEC6mmIILQRJPDEuyXVXTsb6wMhNyyMwMRIzJsMSicFKxrAyKuOmA/PLIAlVDMywVI5WNztENhMrLpqBCEC1DP3uUMToPmg7TIRPEzNAxJ6XLyq4UhDWiAvlCMzFPfc2wKTdfjXVB3NhiMtpJJcNwKm27zbRMQdyUDEvBSBlTS8AGvcL0KwglI0zXnRb4ctGdJqTN0k0PGblCzKCCCuCXd+7556CHLvropJdu+umop6766qy37vrrsMcu++y0175TQAAh+QQJAwDwACwAAAAAaABoAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVV1VWGZWW29XXn9YZJlZaKtabMBbb81bcdVbctxbct9bc+Jac+Rac+Vac+Vbc+ZbdOZcdOZddededudgeOdheedke+hmfehofuhqgOlsgulvhOpyh+pzh+p0iep2iup2iut3i+t4jOt5jet6jet7jut8kOx+kex/kuyAk+yClOyDleyDluyEluyFl+2Fl+2Gl+2HmO2Ime2Km+2MnO6On+6QoO6RoO6Soe6Tou6To++Uo++Xpe+aqO+dq/CgrfChrvCir/GjsPGksfGlsvGms/GotfKrtvKsuPKtuPKuufKuuvKvuvKvuvKwu/OxvPOyvPOzvvO2wPO6xPS9xvS/yPXByfXCy/XEzPXFzfXHz/bI0PbJ0fbL0vbM0/fO1ffP1vfR1/jS2PjT2fjU2vjW3PnW3PnY3fnY3vnZ3/na3/na4Pnb4Pnc4vre4/rg5frj5/vk6fvm6/vn7Pvo7Pvo7Pzo7Pzq7fzr7/zt8Pzu8fzw8v3w8/3x9P3z9f309v319/319/329/32+P33+P73+f74+f75+v76+/77/P78/f79/f79/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v/+/v/+/v/+/v////////////////////////////////////////////////////////////////8I/gDhCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0gt8ooTh1hSjdTitGkTh9pTjKWmTi11lSGuUrIQCtLaRhBCVZZiXQ1Wp20kawbJTjU4DdCYu7menmrbdhFcgnLbFJx25+5dTnr5tq1UMHDBRIYPP8WluC0uwHIJxop8V21Sa5XrGCIIh2wegm84j5l2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7o2e7o6f7o6f7o+g7pCh75Gi75Kj75Sk75al75in8Jqp8Jyr8J2s8J6s8Z+t8aCu8aKw8aSy8ae08qm28qq28qu38qy48625866586+787G887K987S/9LbB9LjC9LnD9LrE9LrE9LvF9bzF9b3G9b/I9cLK9cXN9sfP9srR98vS983U987V99HX+NPZ+NXb+Nbb+Nfc+dfd+dne+drf+dvg+dzh+d3i+d7j+uDk+uHl+uPm+uTn+uXo+uXp++bp++fq++ns++vt++zu/O/w/PHz/PP0/PP1/fT1/fT1/fT1/fT1/fX2/fb3/fb3/ff3/ff4/fj5/vn5/vr7/v39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+//7+//7+//////////////////////7+/v7+/v7+/v///////////////////////////////////////////////////////////////////wj+AM8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC320qOnWFKN1PTcuaOH2lOMpqZONXWVYa5StBAi0noHEUJXmmZdBfanraVrBslONTjN0Ju7up6yats2ElyCcu8UnPbn7l1Revm21VQwcEFHhg8/zaW4bS7AcgnOinxXbdJrlf8wIihV6yCCeDi/mXY1VOhjAzORzTQwmOpKXZeFZjWwF9leA0VxrqOs67lXlS8RlH2H9sBCnFMRFfbqla+/BF3zVU6wVq2C0A3+4y74LFanTrZy9lrEnn0qZgVN8X3FMJVh5wORQSrDnz8snK+0JyB9BAHDCoH1iZIXQZz05yAnONkioIDSbfSIgw7yhhMmE7ZXIUYXYsgfHjpdw2GHiwiDkS0ijvjMTteMgiKCFTUoYiEv9tQLJRN6ZhEpGM7xX1DJvHKejxeRwgcfnPxi3JNQRqlTNrOEUsmVlWDSCmwfbYPNNM+E+Qw12nAz0zGYYKnmla14hI2YcIY5zTYypbnmmsFwpE2cfLIWk513YpnnRnvyGadMygB6Z5sdvWlomHTKRKWVWHKyJUhexkmmmVJ26umnKS2DSyut8KLRM8oo04w2QhVTiif+sMJq6kXPGGOrrchgt1M2rcTqKy4YNXPrsMuQs+sqvvqaDEbZDDusMsbmpEqyscaiETPO3locTsBQC6u1G2GbrTF+2kSLt8AStIwvgzK0jDJWESRsts3gVEyysZQrkC6p9NtuQsvkIjAyBW0j7q261pQMLrgUk41BtfTbrywFLbNMQcEILDCXBJFzTTPNPDxUMBJPTNAvsMDiC0EZa5zLxV1RU3K/KwvETMopwyeQMi7nsgurV0U8c70CoYyzkwJd03MuxlylzcypuEJQLDjDQnFvS0eKFDJQEzxQ1SnLuzTRSPkyc1gEgT3kQMP0vG3ZJb8C9NdgF/yLy28ftYxTxLLMTXfVBm3Tci7xJoWMLk4dVEvV3x3EDDJkfzpM1cOA2pA2VMMSi9+WJ8RMLPl2LvropJdu+umop6766qy37vrrsMcu++y012777bjnrvtPAQEAIfkECQMA6QAsAAAAAGgAaACHAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fX2FoYGNxYWeHYm2nYnG8YnTMYnbXYnfdYnjiYnjkYnjlYXjmYnnnZHrnZnznZ33oaX/oaoDoa4DobIHpbYLpb4PpcYXpcobpdIfqdonqeIzqeo3rfpHrgpTshJbshZfshpjsh5jtiJntiJntiZrti5vtjJ3tjp7ukKDukqLukqPvk6PvlKTvlaXvlqXvlqbwl6fwmajwmqnwnKvwnazwn67xoa/xo7Hxo7HxpLLxprPyqLXyqrbyrLjyrbnzrrrzr7vzsLzzsb3zsr70s7/0tcD0tsH0t8L0usT1vMb1vcj1v8n1v8n1v8n1wMr2wcv2wsv2xM32x9D3ytL3zdX4z9b40dj409n41Nr51tz519352d752t/52+D53OH63eL63uP63+P64OT64eX64ub64+f65en75ur76Ov76ez76u376u386+787O/87fD87/H88PL88/T99fb99/j9+Pj9+Pn9+fn9+fn9+fn9+fr++vr++/v++/v+/Pz+/Pz+/f3+/f3+/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////////////////////////////////////////////////////////////////////v7//v7//v7//v7//v7//v7/CP4A0wkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNILf7q08dYUo3S+uzZ00faU4yppk5NdZXhrlS2ECbSumcRQlmdwj4dJqitpmkGyU41KA3RnLu7nsJq25YSXIJy9xSUJuju3VJ6+bbtVDBwwUiGDz/dpbht3oGOB9qKfFct0mmVBTkiKFVrIYJ8OM+x+pRUaGQDO5FlLLCY6ktdn4WGNfAX2V8DS3HG06xrulmVNRGUvYe2QLuRVRE1NmsWsGoGXfNVThAXroLQ7/7iLhiN1qdPuXICe8SevSpoBVHxncVQlWFOBZdJWsOfP/2bs7Qn4H8DDQMLgQupUsplA33S34Of4KSLgAJKt1EkDz7IG06cUNiehRhhmCF/guVUTYcePuLURbmMSGI0O1VjSooIUuTgiIjA2BMwl1DoWUWnZHhHjT0tM0soofxo0Sl//PGJMMZFKeWUOlVjSymZZJkJJ7HA9tE322gjppjbdEMTMpxoqWaWsXgU5phwiqmPTGmuuSYxHH0T557a0GnnnXnyGadMztT5pyxuCirnTFZiqSUosnjpEZhxlknlpZhmuhI0u8QSC3AZSQMNNNJsI9QxqYyiqqqgWiQNM/6wwupMNj5pE8uquDJY0auxxgrNnDpp4wquuDKDkTa99voMsDgNS6yqtWgUTbKxPpMTMc9Cy9G01DLzl023ZKtrOs8EU4xD0DzzrUC8JsuaTccQW8u7Avniyr3nLgTNL/wWR9A33MZKK07M7LLLMX0WpMu990ZL0KgFGcMvv8sYpE820kiTsFDFMNwwQcPUUsswBEk88S/wdTWNx/cGM1A0IousI7kn/xKMqVctzPLMIcdMskDZ1PxLMldt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AQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NjZGxiaINhapVhbKRgbrRfcMNecdBdcthcc95cc+NcdORddOVedeZfd+ZheOdjeedle+hmfehpf+hqgOlrgelug+lwhepyh+p0iep2iup3i+t4jOt4jOt5jet6jet7jut8j+t9keyAk+yDleyGmO2LnO2Pn+6RoO6Soe6Sou6Tou+Uo++VpO+Xpu+Yp++aqPCcqvCdq/CfrfChrvChrvCir/GjsPGksfGmsvGntPGptfKrt/KtufKvuvKvuvOwu/OxvPOxvPOyvfO1v/O2wPS4wvS6w/S8xfS9xvW+x/W/yPXAyfXCyvXDy/bFzfbIz/bJ0fbK0fbL0vbL0vfL0vfM0/fN1PfP1ffR2PjU2vjW3PnZ3vna4Pnb4Prc4frd4vrf5Prg5frh5fri5vrj6Pvl6fvn6/vo7Pzo7Pzo7Pzp7fzr7vzs8Pzu8f3v8v3w8/3y9P309v319/329/32+P32+P32+P73+P73+P74+f75+v76+/77+/77/P78/f79/f79/v7+/v7+/v/+/v/+/v/+/v/+/v/+/v/+/v/////////////////////////////////////////////////////////////////////+/v/+/v8I/gDbCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0gtFlOkSFlSjdgUIUKkCNtTjLCmToV1leGwWL4QUtKKiBLCW6Z6XUX2qK2obgbJTjV4bZKfu8Oe0mrb1hNcgnIRFby26O7dVXr5tkVVMHDBS4YPPx2muG3egY4H9op8V23SbpUfZSKYiOwjwJz9XLu6KvSzgabImhqYLLWnrtNC0xpYjGyxgas4F4LWtd2uyqIIxkY0e6DdyLGIKuPF69hfgq35Jif461fB53dv/he0xuvUKe84jWVav14WtYKx+O5iGMtw84HPMtnZv3/+TV7sBchLQcjQ4h99q1wGG38M3lcTMAEGKAtH+jHI34Q4mRIhexhiVKGFdgiWUzcabpiJUxf9AuJ+iFizUzeumDjgRaasGImLPRkDSoRhXcSKhYMc+BM0vKiiSo8YscKUKccU5+STUOr0zS+ujGLlKKfo8tpHvkxCxxtgviEIKNXM9MwpV6ZppS4eSRLmm2DSQYxMaKqpZjIc3QLnnnTQaeedee4JZ58xSVPnn0Jq5Kagb8g505StpKnKLlt65IskX4YZCJlRdurppypRM8wuuyCjUTjeeBMOOUI5I0sr/rDC2uRF4Whjq63bhOMTOLvE6quCFdV6663e8ATOLb76Gg1G4ww77HU40ZJsrEhe5I2zt0JbUzLTwlotRtdiq404OAHTLbDtUJPMMg5VQ02xBAnrrK43OZOsL9sUdEwu/LK7UDXLBPweQeaEeyu9N0UzzDDOgGMQMfzyi95A1Aw8UDQBBzzNQeF0PA5Ry0QsMUHLAAOMvwJhnPEyZXbljcj84imQNiabrA3FKy/zDMJJQQwzju2UXDPK4OS8zMZPhQNzLjMKJEzNwAhD0DNGf5xUNEsvOxDUJhPUjdHaFpUMzMAUxHXZBEmTs8VHjR2xLzy3c3ZB40CzMttGURPxUC9xy821QeOovAy8Vx9TaUHGQG0MQttQE3aU0EBNHKgMjfN01FZTvpA2wgjzuOaghy766KSXbvrpqKeu+uqst+7667DHLvvstNdu++244xQQACH5BAkDAPQALAAAAABoAGgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2dpd2ZtjGZwomVzsmR1wmN2zGJ31WJ33GF44WF55WJ55mN65mR752V86Gd+6GqA6WuC6W6E6W+F6nGG6nSJ6naK63iM63qO63uP63yP7H2Q7H2R7H6R7H+S7ICT7IGU7IOW7YaY7Yqb7Y2e7pKi7pWk75al75em75en75in75mo8Jqp8Juq8Jyr8J6s8KCu8aKw8aSx8aWy8aaz8ae08qi18qm28qq38qy48q6687C787K987O+87W/87bA9LbA9LbA9LbB9LjC9LrE9LzG9b/I9cHK9cPL9cTM9sXN9sbO9sjP9snQ9szT987U98/V99DW99HX99HX+NHX+NPY+NXa+Nfc+Nje+Nrf+dzh+d7i+d/j+eHk+uLm+uPm+uTn+uXo+ufq++nr++vt++zu++3v/O3v/O7v/O7w/O/x/PDy/PHz/PLz/PP0/fT1/fb3/ff4/ff4/vn5/vr7/vv8/vz8/vz9//39//39//39/v3+/v3+//39//39//39//39//z9//z9//z9//z9//z9//39//3+//7+//7+//7+//7+//7+//////////////7+//////////////////////////////7+/wj+AOkJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC0WY8RIWVKN2RgpUsQo21OMsaZOjXWV4bBYvxBe0qroEkJbpnpdRSapLSltBslONXitUqC7wp7WatsWFFyCchUVvNbo7l1Wevm2VVUwcMFMhg8/Haa47TDAcgn2inxXbVJtlSVtIihVqySCizgHuna1VehlA1ORTTUwmWpQXauFrjWwGNliA1lxRgStKz1elUcRlK2I9kBLnLkOVcaLl7G/BF3zVU4QGLCC0A3+4x7MS5Wq7ziPcVq/fla1grH48mIYy3Cpgs005dm/XxdOXuwFOB9ByNQyIH2s5LUcfww6Z5MwAQY4C0eZMMjghDipEiF7GGJUoYX7CZaTNhpuyIlTFwEDYois6aTNKyYeWFEqK07SIk/HjBJhWBe1YqEh/gUFDS+ssMIjRq0wlYoxxjXp5JM6bQMMLKZUacoqvDQDki+V3CHHl3IQIoo1MzWzipVoVimjRpSA6eaXdxAj05lppomiRrW8qecdc9ZpJ0d56ukmnzFJQ6efQXLUpqByxDmTlFRa2YouWn7kCyVegjnImFB26umnKlVTTHXJaPSON96MM1QztcDiqqv+yGB0Kqq0vuMTN7y8qitwF41D66+q7sTNLbrqKo2svya7E7HFuooeRr4mS2tOyjTrLEfRSmvrTcJYy+tA1SjDjEPZXLNNQdkCi1MzxQJjFUHJVMcLbAtlA829Nw6Urjfb3iRNMcU0w41BxsjLSzCD5UtPNffeS6ZB74wzTr9BLWPwwQQxQwwx44Lb8L3vXqXNxbzcqc3GG2N3zcfQRBNOVwVffKPGKHdMjzcsQ/NwUt2QfCQ9xaBMzLf0SJMzxUZNQ/I0BAm9MUHa5IzdUdQZfFnTThdkDcsKF1V1dcB0U5DTchL0jtENd01UNfIGI/bYWRf0DsP3nvvUNMkUd1A/MkKXepA210ztqTRCHwsqQ+EEPfTLhzOkDcB2Ny755JRXbvnlmGeu+eacd+7556CHLvropJdu+umop656TwEBACH5BAkDAPEALAAAAABoAGgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2NkbGNmdGNnfWNphGJqkmFrnWFsp19ut11vxFxw0Vtw2Vpx3lpx4Vlw41lw5Flw5Vlw5Vlx5Vpy5lxz5l105l515mB352N552V752Z86Gh+6Gl/6GyB6W+E6XGG6nSI6nWK63eL63qO63uP7H6R7H+S7ICT7IGU7YKV7YOV7YSW7YWX7YaY7YeZ7Yqb7o2e7pCh75am75mo8Juq8Jyr8J2s8J2s8J6t8Z+u8aGv8aKw8aSy8ae08qi18qu38qy48q25866686+787C887G987O/9LXA9LbB9LjC9LnD9LnE9LrE9brF9bzG9b7H9cDJ9cPM9sbO9sfP9sjQ98nR98vT98zU987V99HY+NTa+NXb+Nbc+Nbc+dfd+dje+drf+dzh+d3i+t/k+uHl+uPn+uTo++Xp++bq++fr++ns++zu/O3v/O7w/O/x/PDy/PLz/fP0/fP1/fT1/fT1/fT2/fX2/fX2/fb3/ff4/fj5/fr6/fv8/v39/v39/v39/v39/v39/vz9/vz8/vz8/vz9/vz9/v39/v3+/v3+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////wj+AOMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC0iq1SpWVKN3CpRolSJ21OMt6ZOvXWV4TFcwxB+0krpE0JerIJdXbapLStvBslONcitE6O7xp7uatsWFVyCcikV5Gbp7t1Zevm2lVUwcMFQhg8/Paa47THAcgkGi3xXbVJvlTeJIihV6ybAnBlZfUor9LOBrsi6Gsgs9amu1ULvGoiMLLKBszhLgtY1Xq/KqwjGpjR7oN3IXIc2AwZM2V+CrfkmJ0iMWMHnd2/+F9zWy5Ur7ziVkVq/Xle2grf49mJ4y3Crgs9CDdq/f/5NYOwFCExBy+ziH32z5KUcfww2Z9MxAQaoC0f6MchfLjnFEiF7E2ZUoYWDTKKTNxpuSIpTFxED4n6TbLOTN7WYOOBFrqzIiYs9KbNKhGFdRIuFjxz4UzTAzDJLjxjRwpQryhTn5JNQ6vRNMbfAYiUss/hC3EfCcBJIH2D20Qgq78kEzSxXpmmlLx5tEuabYAZyWUyyqGknihrtAueegchUp51p4pmRnnu+2WdM0/wJqJAauVloH3LONKUtadLSy5YeCbPJl2EuQmaUoIYqqkrZJBNMMMxopMoii4yiIFD+0PCCy6yzpnqRKnPkmisguPj0TTC0BpsMRqLoauwk2Oz0TS/BBjsNRr4Ya2whyebEbLOzFqNRJdLqWkhOzmCbLUfcdjsHYzd9he2wBGXjzGsNeeONOQUV2+1oN0HTbDHdFNTMqcHAq5A31hTcL0HNlKtrrzhNk0wy0Hxj0DIABzPnQNwcjHHBBhuEDS6iiMLmUM9UbDFB0iijjDQEccNxwdc95Y3JwTgzkDcqq3wdwS9nA05XFJu8Wjwp58yyQOC83PFT4NCMnkDM5KyMrQJto7Q17TxVDc3VECS1ygR9c7XESTlj8m9efz2Y0jEbZTbAxvycttQFtWM1x20XlQ1PwMfIPXfOBrXjcsH0at3M0QY1I7WgYXdD9qjTSP3sqAytE/XU61AeLzPM5K3556CHLvropJdu+umop6766qy37vrrsMcu++y012777TkFBAAh+QQJAwD2ACwAAAAAaABoAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2trbHNrbXtrb4NrcItpcZdpcqJoc6xmdLdldMBjdcxiddNhddpgdd9gduJfduRfdeVfduZfduZfduZgdudhd+djeedle+dnfehqf+hsgelug+lvhOlxhul0iOp2iup4i+p7jet8j+t/keuBk+yDleyFluyGl+yHmO2Ime2Ime2Jmu2Km+2LnO2Mne6Pn+6Sou+Vpe+aqfCdrPCfrfGgr/Ghr/GisPGjsfGjsfGksvKms/KntfKptvKsuPKuuvOvu/OxvfOyvvOzvvSzv/S1wPS3wvS5w/S6xfW8xvW9x/W+yPW/yPXAyfbByvbDzPbGz/bI0PfK0vfM1PfO1ffP1ffP1vjR2PjT2fjW3PjZ3vna4Pnc4fnd4vnd4vre4/rg5Prh5frj5/rl6fvn6vvo6/vp7Pvr7fzs7vzu8Pzu8fzv8fzx8vzy8/zz9P309f319/329/33+P33+P34+f35+f77+/77+/79/f79/f7+/v7+/v79/v79/f79/f78/P78/P77/P77+/77/P78/P7+/v7+/v7+/v7+/v7+/v7+/v////////////////////////////////////////8I/gDtCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0gtOvPkSVpSjd88ceLk6dtTjL2mTu11lSEzX8kQotLKCRXCYbSKXYVWqu0sqwXJTjXYzRSlu8yeCmvbFhbcgXI5Fezm6e5dXXr5tsUVV25BVYYPP2WmuG1ewI4HFot8V23Sb5VLrSIoVesogpw4U+p2dVdoagNrka01EJrqV12zhRY20BlZZwN1cdZkras9YpVnEZTNifZAu5G5DpVWrNizcAZd81VOUJmygtDv/uIuyI0YLVphcT5rxZ59sG0Fe/ElxrCXYe4Dq6VixJ8//ZvFtCegZ7UJ8199ulw2EC39NUgLTswIKGAwHO3XYH++5JSLhO1RmJGFFzKyiU7hbMhhK05dlEyI/G3CzU7h9HIigRUxGKIoL/b0zCwSpmeRLhdecuBP1xSzyy4+XqRLJ53QApxxUEYpZU7hLONLLljmoksxxX1UjCiJFCJmIZTAAp9M1uiS5ZpY0qiRKGPGKWYizcikJptspqiRMHL2mYideObJEZ99xvlnTNncGaibGcFZaCF0zlTllVnywiVIX4Y55iRmTunpp6CqxM0zxhij50WxTDKJKssIdQ0x/sHEGuupFMXCx623IpJhT+MYI+uvz2CkCq7EaqLNTuMU8+uv2WBEDLHENnJsTsouG6uCF3UCLa6N5DSNtddypO22fOSCkzPgBktQN9Vc49A46ozzGLmq4HTNssyAU9A0yfTr7kLjgCOwOgVJMy6uu96UzTPPXCNvQdH02++TAwlcUDgCC4xdQdr4oooq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p6766qy37vrrsMcu++y012777bjnrvvuIwUEACH5BAkDAPYALAAAAABoAGgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW1vdWxxhGxykWt0nWp1p2d1t2R2yGJ20mF22V923l514V1141115Vx05V115l525mB352J552N66GR76GV86Gd96Gh+6Gl/6WuB6WyC6W+E6XKG6nSI6nWK6neL63iM63qO63yQ63+S7IKV7IWX7YeY7Yma7Yuc7o6f7pCg7pGh7pKi75Ki75Oj75Sk75Wk75al75em75qo8J6s8KGu8aWy8ai08aq28qu38qy48q658q+68q+68rG787K987S+87bA87jC9LrE9LzF9L3G9b7H9b/I9b/I9cDJ9cHK9cPL9cTM9sXN9sfP9snR9svS9szT983T987V99DX+NLZ+NXb+Nbc+dje+dnf+dvg+dzh+t7j+uDl+uLn+uTp++bq++fr++fr++js++nt/Ort/Ovu/Ozv/O7x/PHz/fP1/fT2/fX3/fX3/fb4/ff4/vf4/vj5/vj5/vn6/vr7/vv7/vz8/v7+/v7+/v7+/v7+/v7+/v7+//7+//7+//7+//7+//7+//7+//7+//7+//7+//7+//7+//7+/////////////////////////////////////////wj+AO0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC06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6Oz86u386+787fD87vH88PL88fP98vT99PX99ff99/j9+Pn9+vv++/z+/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////CP4A2QkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNILVqjRStbUo3faMmSRevbU4zJpk5NdpWhtWXUEObSKisXwmW/nl3NpqutMXAGyU41GLWV3WlPnbVtCwwuQbmyCn6bZdcusbx72yIrCLggrsKGn1pL3NbaX7kEn0G2qzYpOMq6fhGUqrUWwVibW1l9mgz0toHDyA4beC01r67eQDsbaI2sZYHENr963TUaZWMEY8uaPZDW5sVDt1Gjls0vwdZ7kROchnc05NuCmf79+hUtZzZj6NE/Wz1Q2d7yC5EVFk1QW61R+PEvw0ktvf+wBGXjDHwMIUNMdwP5kt+CvuB0jX/+dabRfQvmB91NyUCYnoQXUVjhKK/oBE6GGhpDnEXRfIjfK+zhBA4zJQJokYIfztKiTtkgA2E1GBlT4Sr7BdUNNcssw2NGxsQSiy9HduXkk1DyFE420jhjpTPPWOMNSM3IAkonYHZiSi7dzOTNM1emaeVvHMkS5ptggoLgS2iqqSY3HCUD556gyFSnnVfiuZGee775iUzf/Gknmxu5WWgnn8z50pTTpCmNllzK8smbY5YZ5aeghtoSON5ww82WGe1SSim1SCPUN/7aZCOrrKhatIsluOLqyTE+icPNrMDWWhEtuRariqc5ibMNsMBaV9EyxRYbCrI3LcusrIJi9Eq0uYaS0zfXYsvRttxaQp9N3YQrLDvGtBKLQ7XIwtVo5dKCE7jAchNOQaQE4u+7C9XiyMAhEnQNubny6qI33nwjjkGg+OsvJQX5cq5AoAw8cCoGdXMMU0EKFYvEExM0yiGHkEJQxho7YlpX1JDsLysDHYMyygqzI0vLjkjCKFIRyxzyyTePMtAzPDvC8VPbyByIIgQtcvMhjBB0SdLZHsWL0+AJNDXKBAWTdDBPsSKzJgV9fQi/PAeWlNkSP3Ki118XxM0mLbuN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TU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcG9weG5xgGxyjWpymWhzqGd0tGV0vWR0xWJ0zGF001902V5z3V1z4Fxy4lty41ty5Fty5Vty5V105l925mF452N552R752V752V752Z86GZ86GZ86Gd86Gd96Gp/6G2C6XCF6XKH6nSJ6naK63iM63qO636R7ICU7IOW7YaY7Ymb7Yyd7o2f7o+g7pCh75Oj75am75mo8Juq8J2s8KCu8aKw8aSy8ae08qq28qy48q6686+787G887K987S/87XA9LfC9LnE9LrE9LvF9b3H9b/I9cLL9sfP9snR98zU99DX+NLY+NLZ+NPZ+NTa+NXa+Nbb+Nfc+djd+dne+drf+dzh+d3i+t7j+uDk+uHl+uLm+uPn+uTo+uXo++bp++fq++jr++ns++vt++zu/O3w/PDy/PHz/PL0/fP0/fT1/fT1/fX2/fb3/fb3/fj5/fn5/vv7/v39/v7+/v7+/v7+/v7+/v7+/v7+/v////////7+//7+//7+/v7+//7+/////////////////////////////////////////////////////////////////wj+ANMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC1e06WLW1KN4XTlyqUr3FOMzaZObXaVYTZp1hD60prLF0JnxKRd7TasrTJxBslONRiVlt1qT6m1bZsMLkG5uQqGy2XX7rG8e9ty/Su34K7Chp9mS9w2G2OyBKVBtqs2qTjKww4PlKp1F8Fbm2lZffoMdLeBx8iKToct9a+u4UBTG3iN7DXYm2297lqNsjKCsXPNTqdr8/Gh4LBh+7bOYOu9zwdWw0uweeHbBcH+ORMmbFrObs/Sp7fmd6C0vdwVKitMrCA3Xavy53eGE5v6/9gU1A018S2kzDEFpiOMfgwKgxM3//0X1kb4MahfMjlNE6F6E2JUoYWr0KLTOhpu+Aw4GE0DYn60oDhiNSYGeNGCIOLiIk/dSBOhNhgVY2Es/AUVDjbUUMNjRsXccoswHXbl5JNQ7jQOON1oY6U23HyzmkfQ3HJKKWCW0souN8IUDjdXpmnlNx7dEuabYJ6SYEtq1qnNlhkpA+eep8hkp5p4YqTnnm/2GZM4f67ZJqFxztnSlFVe2Y2WIHX5ZZhjlhnlppx2qhIyqmCCCSwa6aKKKriYF1QukATiqqv+pF6kyye00kqKMT5pg8mrvKaCES61BuvKcDlpUwmvvAKD0TLBBnsKsTdRguyroWgkS7O1GnqTLdO6Wu1G12L7STA4ldKtrwQN44qIDeVyC4YEAYstLjjlgmwonQ2EiiL8sqtQLpkEHEtB14RbK644AZNKKrkcSVAp/PLLSUG+mEWQKQEH3IpB3RiDCy7LEEVLxBIThMokk6ByccYBB9YVNSTz68pAxqCMMsLp2MJyJps4WhTEMWd3ss0qCwTNzpls/BQ3MStSCUGX2DzJJQR9gjS0Ru3StGkDSY0yQcIg7WBSrsQMSkFeT1JQKjvb8lTZEWPiFEFpCygKy24nNUxTxJzMTbfXHGMcMLxJ7YIKvQd1InUnCO0iy9iepiOL1LJE3lA3UU+NteUIGXPJJUFyLvropJdu+umop6766qy37vrrsMcu++y012777bjnrntPAQEAIfkECQMA8gAsAAAAAGgAaACHAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaWlpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcHJ5cHOBbnSObXafbHeta3i4aXjBaHjJZ3jOZnnWZXjbY3jfYnjhYnfjYXflYXflYXfmYnjmY3nnZXvnZ33oaX7oaoDoa4Doa4DobIHpbIHpbIHpbYLpboPpcYXpdYjqd4rqeYzqe47rfY/rf5HrgZPsg5XshpfsiZrtjJztjp/ukaHuk6PvlaTvlqbvl6fvmajwnKvwn63xoa/xo7HxpbPyp7TyqbbyrbnzsLzzsb3zs770tcD0t8H0uML0ucT0vMb1vcf1v8j1wMr1wcv2wsz2xc72ydH3zNP3z9b40tn41Nr41dv51dz51tz519352N752N752d/52+D53OH63eL63uP63+P64OT64eX64ub65Oj65un75+v76Oz76ez76u376u376+787O/87vD87/H88fL88vT89PX99vf99/j9+Pn9+fn9+vr9+vr++/v++/v+/Pz+/f3+/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7//v7//v7//v7//v7/////////////////////////////////////////////////////////CP4A5QkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNILWbjxWtbUo3jeO3axWvcU4zPpk59dpWhtmrZEArTuksYwmfGqF3ldqytM3IGyU41GG5XrbvXnlpr25YZXIJydxUMp+vu3WR6+bblClhuQV+GDz/VprittsZkCVKLfFdtUnKVjy0jKFWrL4K5ONcKdzVaaHADl5EdLVCb6mBdw4W2NjAb2bACk3HG5bQrtsrOCMreRVug3cjNiILTpg1cO4Ou+SYniA1bwed3cf4XBPeMGDHPN8FRW79e29+B1fh6X9jMsLGC23a12r+fsU1t7AV4GUHcWDMfQ80kkxdBxPDnIDE4cROggBzp5yB/zOR0zYTsDYiRhRe2YotO7WzIITWwXURNiPvZkmJO7WBzoocVNRhiLi/uBI41ExZn0TEXyuLfT+Fo052PFx2DCy7EHNjVk1BGydM44YBjpZXhvNfRM7ikcsqXp7jCSzczkXPlmVey1hEuYLb5ZSq8xYTmnOBoiREzbuaZikx0omnnRXjm2eaeMbXTJ5YesSnoKXDSRCWaWYLEpZdgikmmlJhmqmlLyqiSSSaxaLQLK6zogt5PukAiyKqrwvIhKP6wwmoKMj5pkwmruKqCUS6x9vrKpTlpUwmuuAKDkTO99poKsDdRQiyromg0S7KxEnqTLc+uGu1G01ILing2mZKtrgy6QotDudzSnEC8UpsLTroQK4o0BaWyyL2zMJSLJvzKUhA23cZKK07AqKKKLjQKZMq993by2GkEncIvv64Y1A0yueSynVCzMNwwQapQQom18kg8sSbvdlWNx/dWLNAxIot8zEC3nKxJJws+tTDLGQoUcszkyvOMzZq0ctU2LC9SCUGXxEzJJQSBQjQ3T/GSNC8EOS0yg0RDmJQrLG87kNaUFKSKzbc8BTbDmSApD9kFcTPKyWknRQzDnbj9tk/WBnFjsibrHsVLKikb1InTDh/EiyxebyqPLE776zhD2zT9tN6TH3TMJZdsnPnnoIcu+uikl2766ainrvrqrLfu+uuwxy777LTXbvvtPAUEACH5BAkDAN0ALAAAAABoAGgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWRmbmRofWRqi2Nsl2Ftql9uuF1vw1xwz1tw11pw3Flx4Flw4lhw5Fdv5VZv5Vdv5Vhw5lpy5ltz5l11519352F452J552R76GZ96Gl/6GyB6W6D6XCF6XGG6nGG6nGG6nKH6nSI6neL6nqN632Q63+S7IKU7IWW7IeY7Yqb7Y2d7Y+f7pKh7pSj7pel75mn75up75yq8J2r8KCt8KKv8aWy8ai08aq28qy38q658rC787K987XA9LfC9LnD9LrE9bzG9b7I9cDK9sLL9sPN9sXO9sfP98jQ98nR98zT98/X+NLZ+NXb+dfd+dje+dnf+dnf+drg+dvh+dzi+t7j+t/k+uHm+uLm+uPn++Po++To++Xp++bq++jr++ns++rt/Ovu/Ozv/O3w/O7x/O/x/O/y/PDy/PHz/PHz/fHz/fL0/fP0/fT1/fX3/fb3/fn6/vz8/v39/v7+/v7+/v7+/v7+/v7+/v////////////////7+//7+//7+//7+//7+/////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ALsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC1KmzWLWlKN1mbJkjXL2lOMxaZOLXaVIbVk0hDm0iorF8Jiu5BdrearbbFwBslONWhNFqu7zp46a9t2GFyCcmUVtAbr7l1fevm2NVYwcEFahg8/paa4rdOBjgcii3xXbdJwlX0JIyhVay2Crzizsvr0WOhqA4GRBTZQmmpcXa2FzitQGtmwAn1xdgW7a7TKXGNPpY2Z8+ih1qpVs/aXoGu+yQc6493cMO6C1Yb+4cLl+aa17eipVReYjG80hsIM6ypILRap+/eJ4ayGvn/xgfy915AwvnAnEC74JfidTfz1lx5H9iWIH3M3RePggxlFKCEpq+gUjoUXOsOaRchseN8q/+EUzjQhpkgRghvC4mJO1oCI3owS7SIhKvoFFd000+A40S6uuIKLgV0lqeSSOknTySF0REmHHpMI9hExrnzSyZadkCKLkCvJooeUZEY5iUeucKnmlp8oI9OYZZbpCkfArGnnJ2/GKSeddq4Jiky7wKnnmR2l2WcnoLgpk5NQSvlHlSBhCYqaXoLJ5KWYZloSL6A88kgpGskiiiiwHCPUK4j0oaqqoF4kyyX+sMLKyS4+TfPIqrj+edErsfZaiqUxTbMIrrjOgpEwvfb6CbAvDUusqphohEqyseKJkyrPQsvRtNRectpNnGSr60C3kIKKQ6+s0ktBvFL7Ck6vEIsJYwSBMsi95y70SiT85jsQNNzGSitOs4ACyivTGLTJvfcSOhBTBXXCL7+jGFTNLq+88pxQqDDccL2LLDJuNxJPHMm7XR3j8b0VC6RLyCHPJ9AqJkcyCZJHLbwyhaDALPJAxNQcSctJTbPyIIwQ5IjPjhB0idCXIRXL0bEQ5HPIBOUitFlJjbJytFZfXRAoNXfYtceQJBy2z/RpYrLZSN3C8CRqrw2zQdSUHMlKuk/FAsqcB1HiMyUIyXIK15p2c4rPpyTeEDVLL+JI1I4rpIsjjmxc+eacd+7556CHLvropJdu+umop6766qy37vrrsMcu++w8BQQAIfkECQMA3wAsAAAAAGgAaACHAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaWlpampqaWtyaW2BaHCUZ3GkZXKwY3PAYnTLYHTUYHXaX3XfXnTiXXTkXHTlXXTmXnXmYHfnYXjnY3rnZXvoZ33oaH7oaoDpbILpb4TqcofqdInqdorrd4vrd4vreIzreY3rfI/rfpHsgpTshZftiJntiZrti5ztj5/ukqHulKTvl6XvmafvnKrwn6zwoK7woq/xo7DxpbLxqLTxrLfyrrnyr7rysbzzs77ztb/zucL0vMX0vcb0v8j1wcn1w8v1xcz2x872ydD2ytH2y9L3zdT3ztT3z9b30tj41dv42N752t/52+H53OL53eL63uP63uT64OX64eb64+f75On75er75+v76Oz76Oz86e386u386+/87O/87fD87vH87/L98PP98fT98/X99Pb99Pf99ff99ff99vf99vj+9vj+9/n++Pn++fr++/z+/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AvwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNILUazZYtaUo3XbNGiZevaU4zGpk41dpUhNWXREO7SSmsXQmK7jl2tFqztMasFyU41aG1Wq7vKni5r27YY3IFyaRW0JuvuXV96+bZFFlduwVqGDz+lpritU8COBx6LfFdt0muVgxEjeItsLoKxOLeydjVZaNYCg5ENNtCZalxdrYVeNjAa2bACfXGGVa3rN2aVPceeSnug3cjNhV6zRv2ga77KBS7jTfD5XdyDif7hwsUYp7Vo6NFXw1ZQGV9mDIMZNkswmixT+PEPM5++P+yB1SwDX0PB+JIXQbjkpyB4Nl3TX3/FbXSfgvkhhhM1D6YXIUYTUmjKKjthmGE0f1WEjIf4rfJfTtWMuCJFCXoYy4s5WTPNgzRKtAuFqewX1HTVVJPjRLu88gou3Bmn5JJM4sSMJ4ncIeUdfVQiC0jDvCIKKFyCYsosG8IkSx9TlillJR690uWaXIpSHkxkmmlmKxz5wuadosgUp5xT0rmRnXeumWdMuewpJ5odqRkoKG7O9GSUUwpiJZZarvllmE1mqummJu0iSiSRlKKRLKOMAgtXQcGiCCCssirqRf6yZCKrrJ7o4pMzkbSqaygYwTLrr6ZclpMzjeiq6ywY/fLrr6EIe1OxxrKaiUapLDsrrzipEq20HFVrbSa14NTJttgOdAspqDgECyu9FOSrtbDgBIuxmYxGECiG5JvuQrBM4u++Ay3j7ay24jRLKKHA4oxBnOSbL6LOIUuQJ/76S4pB1OgCCyy/EIWKww/f20gj5X5DccWTxNuVMSDne7FAuow8csHfrILyJJYk01XDLbcrECgyNwLKQMTcPMnLSUHTsiGOEARJ0JEQhInRzholy9JXDhT0yKQZfctTpLSMSUFbN1KQKDeDmFTYDkcCDdlbF0QNJyirjdQtDlfyNlDcQWN88iQ+JyULKH4aZEnQliAkCypfc/rNKUGf4jhD0DzdCCR7T66QLpBA0rHmoIcu+uikl2766ainrvrqrLfu+uuwxy777LTXbvvtuJMUEAAh+QQJAwDuACwAAAAAaABoAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBvcXhvc4dvdZNud59seK1rebhpecNnetBmethlet1le+FkeuRjeuZieedheedieedjeuhlfOhnfuhof+lqgelsgultg+lwhupziOp2i+t4jOt6jut7j+t8kOx8kOx8kOx9keyAk+yDlu2Hme2KnO6Mne6On+6Qoe6To++Vpe+Yp/CaqfCcqvCerfChr/GksfGls/GntPKotPKptvKsuPKwu/OyvfO0v/O2wPS3wfS5w/S7xfS/yPXByvXEzPbFzfbGzvbJ0PbL0vfO1PfP1ffQ1/fS2PjS2PjT2fjV2/jX3PjZ3vnc4Pne4/ng5Prh5fri5vrj5vrk5/rl6Prm6fvn6vvp6/vq7Pvr7vvt7/zt7/zu8Pzu8Pzv8fzw8vzx8vzy8/zz9f319v329/329/33+P34+f74+f75+v76+/76+/77/P77/P78/f78/f78/f78/f78/f79/f79/v7+/v7+/v7+/v7+/v7+/v7+/v/+/v/+/v/+/v////////////////////////////////////////////////////////////////////////8I/gDdCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0gtXgMGLFtSjeOA/foFbNxTjM+mTn12lWE2ak4PFtP6qxhCZsWgXdXGrG00dQbJTjXIrdetu9KeUmvbFhpcgnJ/FeTG6+7dY3r5ts0LWG7BX4YPP82muG1YgYEJQot8V21SdZWZcR0oVeswgoU5c7sqLbS3gcnIJhtIjfMtYV3HhaY28BrZawOPcc51+am1ytEIxv41e6DdyM2FqiNH7m/B1nyTE6TGm+Dzu7gH/isLFmz0TXXe0qcnZ3BvW2sMkxk2S9Aar1f48SvDSU69f/YEaUMNfA0lcwxjAwWT34LB4ISef+oBqNF9C+aHGE4Q/jdhhfnVslOG6llX0TMc4lfLajv1l6GEFSnI4S4o8vSgfyJSREyFs+wnlIo1VkTMXcEg2NWQRBa50zSmRPLHkn8U0skuIClzyyqpVJnKK7xoM9MuhTDp5ZKdeGSLlWRWuYpnMBHy5Zq0cHRMmXCuIpOaa3rZ5kZvwkmmnDEBQ2edYXY0pp6pnDkTkkoymciTUdpCpZVYamnkpJRW2pIwqmSSiSsTssJKLswIdYskh5RaaisY8SLKqqueclpP/tNkYuqsqWCUC6u4vlLcTdNUMuusvGB0DK64qrJrTZT8aiooGsVCLKuq5CSLsqUyu5Gzz4riC06lUFsrQb60EotDt9BC30C3PpsLTrf8CoqOA6HiyLywMHTLJvjWS5A02LL66k28VHnLNAaVMu+8nhTESy8FnYIvvqgWlM0wueRyoVCwHIwwQalUUkm0Azn88Ca3DMmMxvNG7A4wHnsMzECzjLyJJ9o9ZTDK53bc8rfuJCPzJiojRQ3KjlhCUCYtV5IJQaH8DFxSuhCtC0FJewzuz9sm1QrK1g5UdSUFrSLzLE9tfXAm3XlddUHXlDIy2Un5crAnaaudtEHXiLzJR7lI6YLKnQZ9kvQnCPECS9aWugNL0vomvpA1SCtNoOMLAaPpxZRnrvnmnHfu+eeghy766KSXbvrpqKeu+uqst+7667DHzlNAACH5BAkDAOgALAAAAABoAGgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3Z4f3R4jHF4nWx3r2h2vGV2xmJ10F9z111y3Vty4Vpx41lx5Flw5Vlw5Vlx5Vlx5Vpx5lty5l105l515mB352J452N552R652V752Z86Gh+6GuA6W2C6XCF6nKH6nSJ6neL63qO632Q7H6R7ICT7IGU7IKV7IOV7YSX7YeZ7Yqb7o6f7pGh75Oj75Wl75io8Jyr8J6t8aGv8aOx8aa08qm28qu38qy48q2586+687K987XA9LfC9LnE9LvF9bzG9b/J9cPM9sbO9sjQ9snR98vT987V99HX+NLZ+NTa+NXb+Nbc+Nje+dnf+dvg+d3i+d/k+uLm+uTo+ubp++bq++fq++jr++rs++vu++3v/O7w/PDy/PHz/PL0/fP0/fT1/fT2/fb3/fb3/ff4/fn6/vr7/vr7/v39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v////7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////wj+ANEJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC1yc+asW1KN35wtW+bs21OM1aZOrXaVYTduTg8+07oMGsJpz6xd/Xat7TZwBslONfgtGbG72J5ya9s2G1yCcpcV/Ibs7l2zSffyvbatYOCCdg0TQ4y02+K2YQU+HmhN8l21ScFdvpaNoFStzwga80zMqt7RrtFNIztt4DbWzLqyvcxtIDeyvQVC81ws81PLixsPnL2s9sDIhqMRFfbqVa+8BRW7LbhN+XPJuQv+dpOmTBm1nLwIqVd/KjVB7cYRRjPs3vcxXvjxS8Ppar3/V4OB5VA00GA3kDL5JagMTrj4598pHN2XYH6U2YSJg+tBmJGEE/ICjE7YXIghIcJgRE2H+AETn03YiDKiKxgh2GFxPvEyiYOzYNTMhL7sFxQyrnDCSY4ZNTPMMMoY2NWSTDa5EzayfBLJlJFUkgoxIEkjDC62dGnLLses2BIxlVBp5pSpeBSMl2x2iQtXMZV55pm+cPRMm3jiIpOcc1JZ50Z34smmnjElw+ecaXa0pqC2vDkTlJ2YicmVWQbDpZe6hOnkppx26tIytZhiSi4aGYMLLsM4B1QwoFziqqv+pF5kDCy00kqLYD1lY8qrvNaC0TC1BqtLcDllMwqvvBqD0TPBBnsLsTcdi6yrrWjUS7O13pJTL9NSy9G12MKCDE6ydOsrQcjgwotDwfjSTEHAYjsMTsEg24p0BNXiyb67MBRMKgCvSxA24NaK603G1FJLMKUVFMu++6pSkDHHFDQLwADH+t4yR9YX1C4QR5wvKaTYQtDFGKcSzJLShLwvoegkQzLJyQzkS8qpsALaUw+7/K5AtcxMyrnoRINzKhojtY3LnpBCkClCayiQK0dDaxQxTGM5kNAkE5TM0TUnhYvL1RLEtdME3YLzn0iNDfEp3gl0dnaxpMz2UchArEpR3HJzbRA3KKfyc1LE1PILQqsIvQpCxuwStqfo7CJ0v5AztA3UpJjCd+UIJSOqx5yHLvropJdu+umop6766qy37vrrsMcu++y012777bjnvlNAACH5BAkDAOkALAAAAABoAGgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHh5gHZ6jXV7mXB6rG16umt6xWh5z2V412N33WF24WB241925F915V915l915l925mB25mB352J452R652Z76Gd96Gl+6Gp/6GuA6GuA6G2C6W+E6XGG6XSI6neK6niL6nuO636Q64GT7ISV7IWW7IaX7IeY7IiZ7Yma7Yyd7Y6e7pGh7pWl75in8Jmp8Jys8J+u8aKw8aSy8ae08qm28qy486+787C987G987O/9LTA9LfC9LrE9bzG9b7I9cDJ9cLK9sTM9sjQ9svS983U98/W+NHY+NPZ+NXb+Nfc+dne+drf+dzh+d3i+t7j+uDl+uLm+uPn+uXp++jr++ns++rt++zv/O3w/O/x/PDy/PLz/PP0/fT1/fb3/fj4/fj5/fn6/fr6/vr7/vv7/vv8/vz8/v39/v3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v////////7+/////////////////////////////////////////////////////////////////////////////////wj+ANMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSC1ue/asW1KN65gyXfcUYzWpz6pVZfjN2zeE0bBGQ0gta9Vv2tJyO4iVqcFvy4zJvfbUW1q1Bts+K/hNmVy5Y5PavavNW0G9BZn9BfwULWFtXwciHlhtsVytTx+nJdgWGsFklo1FTspNM1WBZaVSG5gtdLOt4TQbFrhU6raB0SwfW7vV8V3eqJmuHhh3sTSiwl696oWZYOnfBbNlK1hc7uuC3qQxYzb8Ji9D4MH+n3KG/e7ohNL+7iWIDZmv9++P33wVvv4rvl4dSotGlyAz+AAyg1Mu9dV3CkfuAQjfejdlUmB4B2aUoIK+DKNTNQ4+aIgwGFFD4XvDzJZTNaNoeN9F/1F4jIg78VJJgbRg5IyCwcgHFDKveOJJjBk5QwwxzFiz1ZBEFumTNbOAMsmSk1iiioUfRTOMLrlUmUsvyAAH0zCWMOnlkqp4NIyVZFapS3cvdfnll79w9EyZcOoik5prMtnmRm/CSaacMSlD55phdjSmnrmcOROSn3ipyZMgSUmllVhqaeSklFaq0jK2nHIKnxgZo4suw9j4UzChZGKqqZxWZIwsrLJqi4D+PVlzyqm02oLRMK3mysttOllDCq20GoPRM7nmiguvOP0KrKmuaORLsa3iklMvyzLL0bPQypIMTrJUaytByOjCi0PC/ALrQLhCC6VNwQDrSmAD1QLKvOMuJMwq+PZSkDXYtnquTcbYYkswQhYky7zzslLQMccUVAu++KZKGzPDDMNgULwgnDBBtpRSyrcCPQzxKhxuFY3G8+ZCnMceLzPQLyOv0gqaSB2M8rkdswwyNDGvsktV2KAMSikEocJyKagQ9ErP2Dw1jNDrpnO0x5/1vG1SuaDcLEFTE00QLjHfiVTWCKPSNNdTF4TNLCOLfRQyCLNyNtpHG4SNyKv8e9RGMLUAg1ArR7eCkDG8XG1pOrwcXe/hC2FjNNJzM67QMqigQp7kmGeu+eacd+7556CHLvropJdu+umop6766qy37vrrsPsUEAAh+QQJAwDSACwAAAAAaABoAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2dmaHBla4ZkbZhjb6dhcLdgccJecc1dcdRbcdpacd5ZcOFYcONYcORYcOVZceVbc+ZcdOZededgd+dieedieedjeedjeuhle+hnfehpf+hsgelvhOlwhelxhelzh+p2iep5jOp7jut+keuAkuyClOyFluyIme2Kmu2LnO2Nne2Onu6QoO6Tou6Wpe+aqO+dq/ChrvCjsPGmsvGotfKrt/KuufKwvPO0v/S2wPS3wvS5w/S6xPS8xvW+yPXByvXDzPbFzvbHz/bK0vfM1PfP1vfR2PjU2/jW3fnX3vnZ3/nb4fnd4vrf5Prg5fri5/rj6Pvk6Pvl6fvn6/vo7Pvp7fvq7vzs7/zt8Pzv8fzw8vzx8/zx8/zy9P3z9f309v319v329/34+f36+/78/P7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gClCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0gtLiNGbFlSjcyICRNGjNlTjMmmTk12laEqTKUQFtMqrBhCY8CQXXVVp+0iYwbJTjXIjJetu1yTbmrb9hBcgnKFFWS26+5dwXr5tn1UMHBBX4YPP1WluK0qwHIJIot8V21SY5XrBCIoVSsxgrk427L6tFJoWgORkfUsTZlqX115hd40cBlZpwKFccYF/Oqnyoo0T6UtzW5ks0NfefLE6phB13yTE1SmrKDzu7gL/vrmxevvzVV+0qe/1KsgJr6fGBYzDKygMlyu8udHbNOT+v+eFOTKJvE1NFZeA/Gi34K84HTKf/9dwhF+C+pXH06LQKiehBlRWKErsuh0TIYa+vEKRsZ8mJ8sxeF0DCUlBniRgh/W0qJOqxwC4SgY+VJhLPz9VIsnjzzCY0a+0EILL8x15eSTUIoYCiSGVGlIIpqE+JEwsqiSypeptHLLjS7JkoiVaFapiUeygOnml6qY99KZaabZCke/vKnnZTHRWaeVd26Up55u8gkTLn7WuWZHbRKaSpwzHTMlmoxkCRKXXoIpJplRdurppyjpYgommKSiUS2qqCJLkD69Mski/rDCaupFtYhiq62m7OITMpjE6mtYF8ly67CsdKcTMpX46itsF/0y7LCoGItTssrC2olGrTx7Kyo5sVKttRxlq60ouOAUyrfADmQLKqs4FIsruhIkrLZa2vSKsp1cOFApkvTb7kKxcCIwKwUhI+6t8d5ESymlvNKkNKH02y9vBNFSS0GlCCywoQMps4sssvxC1CoST0yQKZdcYgpBGWvMSSxOClNyv9wKlEvKKecykCsuc9KJnEhFPHPCKOO8skDA9MwJx0chM7MkHAqUCc6XZELQJ0pLe5QsT9crDdUpE4SL0uUmhcrMMg4EdtQCndKzK0+dLXEmTa5tnyguw52UUy0Sb/Kw3fa1zEnCSMlSit4GdUL1tQfRwkrZoEqzCtX/Rr6QMlNXrbXlCeWSSSbhcS766KSXbvrpqKeu+uqst+7667DHLvvstNdu++245657TwEBADsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50px 50px;
    content: "";
}


.invalid-feedback {
    display: block !important;
}

/**
 * kb-crop — Stage 2 seller product-image crop workflow.
 * Namespaced only: no existing marketplace/AdminLTE selectors are modified.
 */

/* Progressive enhancement: the legacy second upload field is visible only
   without JavaScript (product-crop.js adds the kb-js class to <html>). */
.kb-js .kb-crop-thumb-field {
    display: none;
}

.kb-crop-thumb-field {
    margin-top: 0.75rem;
}

.kb-crop-status,
.kb-crop-error {
    display: none;
    align-items: flex-start;
    margin-top: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid transparent;
    border-left-width: 4px;
    border-radius: 0.25rem;
    font-size: 0.9rem;
    line-height: 1.45;
}

.kb-crop-status.is-visible,
.kb-crop-error.is-visible {
    display: flex;
}

.kb-crop-status {
    border-color: #bee5eb;
    border-left-color: #17a2b8;
    background-color: #f5fbfd;
    color: #0c5460;
}

.kb-crop-error {
    border-color: #f5c6cb;
    border-left-color: #dc3545;
    background-color: #fdf5f6;
    color: #721c24;
}

.kb-crop-status i,
.kb-crop-error i {
    margin: 0.15rem 0.5rem 0 0;
}

.kb-crop-hint {
    margin: 0.5rem 0 0;
    font-size: 0.85rem;
    color: #6c757d;
}

.kb-crop-hint i {
    margin-right: 0.35rem;
}

/* --- crop modal --- */

.kb-crop-modal .modal-body {
    overflow-x: hidden;
}

.kb-crop-container {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 4 / 3;
    max-height: 55vh;
    margin: 0 auto 0.75rem;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    touch-action: none;
}

.kb-crop-container:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
}

.kb-crop-container img {
    display: block;
    max-width: 100%;
}

.kb-crop-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.kb-crop-toolbar .btn {
    margin: 0.25rem;
}

.kb-crop-actions {
    flex-wrap: wrap;
}

.kb-crop-actions .btn {
    margin: 0.25rem;
}

/* --- previews (current / pending / confirmed) --- */

.kb-crop-previews {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0.75rem;
}

.kb-crop-preview {
    display: inline-block;
    margin: 0 0.75rem 0.5rem 0;
    text-align: left;
}

.kb-crop-preview__badge {
    display: inline-block;
    margin-bottom: 0.35rem;
    padding: 0.15rem 0.5rem;
    border: 1px solid transparent;
    border-radius: 10rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.kb-crop-preview__badge--current {
    background-color: #e9ecef;
    border-color: #adb5bd;
    color: #383d41;
}

.kb-crop-preview__badge--confirmed {
    background-color: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

.kb-crop-preview__badge--new {
    background-color: #fff3cd;
    border-color: #ffe69c;
    color: #856404;
}

.kb-crop-preview__img {
    display: block;
    max-width: 150px;
    max-height: 150px;
    border: 2px solid #ced4da;
    border-radius: 8px;
    background-color: #f8f9fa;
    object-fit: cover;
}

.kb-crop-preview--confirmed .kb-crop-preview__img {
    border-color: #28a745;
}

.kb-crop-preview--new .kb-crop-preview__img {
    border: 2px dashed #ffc107;
}

/* --- responsive / mobile --- */

@media (max-width: 768px) {
    .kb-crop-container {
        max-height: 50vh;
    }

    .kb-crop-toolbar .btn,
    .kb-crop-actions .btn {
        min-height: 44px;
    }
}

@media (max-width: 576px) {
    .kb-crop-toolbar,
    .kb-crop-actions {
        flex-direction: column;
    }

    .kb-crop-toolbar .btn,
    .kb-crop-actions .btn {
        width: 100%;
        margin: 0.2rem 0;
    }

    .kb-crop-preview__img {
        max-width: 120px;
        max-height: 120px;
    }
}

/* --- Phase 2C responsive mobile patch (audit findings 2, 4, 5) --- */

@media (max-width: 767.98px) {
    .bg-light-blue.vh-100 {
        height: auto;
        min-height: 100vh;
    }

    .card.w-75 {
        width: 100%;
    }

    .table-wrapper .btn-sm,
    td.text-right .btn-sm {
        min-height: 44px;
        min-width: 44px;
    }
}

/* --- Phase 4E admin dashboard UI consolidation --- */
/*
 * Every selector below is rooted at #admin-dashboard — the landmark on the
 * dashboard's own <section> element — so none of it can reach the storefront,
 * another admin page or AdminLTE/Bootstrap themselves. Scoped fixes only:
 * section rhythm, equal-height KPI cards, KPI value overflow on phones,
 * whole order numbers in Recent Orders, and 44px touch targets on
 * touch-sized screens. No selector outside #admin-dashboard is touched.
 */

/*
 * 1. Vertical rhythm. The stacked dashboard sections previously depended on
 *    .small-box's own margin, which does not reliably survive the flex row,
 *    so the last KPI row, Seller Account States and Recent Orders sat flush
 *    against the card below them. Spacing is now owned by the sections
 *    themselves and every gap in the dashboard is the same 20px.
 */
#admin-dashboard .dashboard-kpi-row {
    margin-bottom: 20px;
    row-gap: 20px;
}

#admin-dashboard .dashboard-kpi-row .small-box {
    margin-bottom: 0;
}

#admin-dashboard #seller-state-breakdown,
#admin-dashboard #recent-orders {
    margin-bottom: 20px;
}

/*
 * 2. Equal-height KPI cards. Without this a card whose label wraps —
 *    "Customer Registrations" on a phone, for instance — is taller than its
 *    neighbour and the "More info" footers stop lining up.
 */
#admin-dashboard .dashboard-kpi-row > div {
    display: flex;
}

#admin-dashboard .dashboard-kpi-row .small-box {
    display: flex;
    flex-direction: column;
    flex: 1;
}

#admin-dashboard .dashboard-kpi-row .small-box > .small-box-footer {
    margin-top: auto;
}

/*
 * 3. Phones. AdminLTE leaves the KPI value at 2.2rem below 992px, which
 *    overflows a half-width card once a value gets long (Revenue is seven
 *    characters and white-space: nowrap prevents it from wrapping).
 *    Scaling with the viewport keeps every value inside its card, and from
 *    503px upward the result is the same 2.2rem as before, so only the
 *    narrowest viewports change.
 */
@media (max-width: 991.98px) {
    #admin-dashboard .dashboard-kpi-row .small-box h3 {
        font-size: clamp(1.25rem, 7vw, 2.2rem);
    }
}

/*
 * 4. Recent Orders. Order numbers are single unbreakable tokens; keep them
 *    whole on one line and let the existing .table-responsive wrapper scroll
 *    for them rather than letting a long number split mid-token in its cell.
 */
#admin-dashboard #recent-orders td:first-child {
    white-space: nowrap;
}

/*
 * 5. Touch targets on touch-sized screens — the same 44px floor the Phase 2C
 *    patch set for the admin table buttons. Desktop keeps AdminLTE's original
 *    footer sizing, which already clears the 24px pointer target minimum.
 */
@media (max-width: 767.98px) {
    #admin-dashboard #recent-orders .btn-sm {
        min-height: 44px;
        min-width: 44px;
    }

    #admin-dashboard .dashboard-kpi-row .small-box > .small-box-footer {
        min-height: 44px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/*
 * Phase 10 — customer static pages (Contact / Help / Privacy / Refund /
 * Cancellation). The inner-page layout already supplies the header,
 * breadcrumb and footer, so this block only styles the text content and
 * keeps it readable on phones. The note box marks placeholder sections —
 * content the project does not define yet, deliberately left unfilled
 * instead of inventing policies.
 */
.kb-static-page {
    padding: 8px 0 24px;
}

.kb-static-page h2 {
    font-size: 26px;
    font-weight: 600;
    color: var(--heading);
    margin-bottom: 14px;
}

.kb-static-page h5 {
    font-size: 17px;
    font-weight: 600;
    color: var(--heading);
    margin-top: 22px;
    margin-bottom: 10px;
}

.kb-static-page p,
.kb-static-page li {
    font-size: 15px;
    line-height: 1.7;
    color: var(--text);
}

.kb-static-page a {
    color: var(--primary);
    text-decoration: underline;
}

.kb-static-list {
    padding-left: 18px;
    margin-bottom: 8px;
}

.kb-static-list li {
    margin-bottom: 6px;
}

.kb-static-note {
    background: var(--chalk);
    border-left: 4px solid var(--primary);
    border-radius: 3px;
    padding: 12px 16px;
    margin: 14px 0 18px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--text);
}

/*
 * Phase 10 — customer profile sidebar: the Logout entry is a <form> with a
 * <button> (logout is a POST), but main.css only styles `li a` inside the
 * Account widget, so the button rendered as a default browser control next
 * to three styled links. These rules mirror `.blog-widget-category li a`
 * so the logout row looks like its siblings; the markup fix that pulls the
 * form out of the <ul> lives in profilesidebar.blade.php.
 */
.blog-widget-category li button {
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    font-family: inherit;
    font-size: 17px;
    font-weight: 400;
    line-height: inherit;
    text-align: left;
    text-transform: capitalize;
    color: var(--text);
    cursor: pointer;
    transition: all linear .3s;
}

.blog-widget-category li:hover button {
    color: var(--primary);
}

.blog-widget-category li:hover button span {
    background: var(--primary);
}

.blog-widget-category li button span {
    font-size: 14px;
    float: right;
    width: 30px;
    height: 30px;
    line-height: 32px;
    text-align: center;
    border-radius: 50%;
    color: var(--white);
    background: var(--heading);
    transition: all linear .3s;
}

/*
 * Mobile navigation drawer redesign
 * (customer/home/sidebar/nav.blade.php).
 *
 * The template's drawer skeleton — and with it main.js's open/close and
 * sub-menu toggle behaviour — is kept; only the skin changes to follow the
 * reference design: a white, spacious column with a logo / close-icon header
 * on a hairline divider, a small circular avatar (shared User accessor,
 * default avatar when no picture) with a thin green ring plus the customer's
 * first name and a "My Account" subtitle, evenly spaced rows carrying inline
 * Lucide outline SVG icons, a pale-green pill for the expanded account entry,
 * an indented sub-menu behind a vertical guide line, subtle section
 * dividers, and the existing contact details.
 *
 * Scoping: the customer drawer is the only <aside class="nav-sidebar"> —
 * the seller/admin sidebars reuse the class name on their AdminLTE <ul>
 * (and those layouts load custom.css without main.css), so every rule below
 * is anchored on aside.nav-sidebar. That keeps the seller/admin nav links,
 * their .nav-header section labels and the category sidebar's .dropdown-link
 * untouched.
 */

/* --- shell: fixed column, header pinned, content scrolls inside it --- */
aside.nav-sidebar {
    width: 340px;
    max-width: 100%;
    left: -360px;
    height: 100vh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

aside.nav-sidebar .nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    text-align: left;
    flex: 0 0 auto;
}

aside.nav-sidebar .nav-header a {
    line-height: 0;
}

aside.nav-sidebar .nav-header a img {
    width: auto;
    height: 42px;
}

aside.nav-sidebar .nav-close {
    position: static;
    transform: none;
    margin: 0;
    padding: 4px;
    border: 0;
    background: none;
    line-height: 0;
    color: var(--heading);
    cursor: pointer;
    transition: color linear .3s;
}

aside.nav-sidebar .nav-close .nav-ico {
    width: 22px;
    height: 22px;
}

aside.nav-sidebar .nav-close:hover {
    color: var(--primary);
}

aside.nav-sidebar .nav-content {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 0 20px;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* --- profile row: avatar, first name, "My Account" subtitle --- */
aside.nav-sidebar .nav-btn {
    width: auto;
    margin: 0 -20px;
    padding: 18px 20px;
    text-align: left;
    background: none;
    border-bottom: 1px solid var(--border);
}

/* guest state: the template's green Login button, tidied for the drawer */
aside.nav-sidebar .nav-btn .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 8px 22px;
    border-radius: 8px;
}

aside.nav-sidebar .nav-btn .btn img {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
}

aside.nav-sidebar .nav-profile {
    padding: 0;
    text-align: left;
}

aside.nav-sidebar .nav-profile-link {
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: left;
}

aside.nav-sidebar .nav-user {
    flex: 0 0 auto;
    margin: 0;
    padding: 2px;
    line-height: 0;
    border: 1.5px solid var(--primary);
    border-radius: 50%;
}

aside.nav-sidebar .nav-user img {
    display: block;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    object-fit: cover;
}

aside.nav-sidebar .nav-name {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
    line-height: 1.2;
}

aside.nav-sidebar .nav-name span {
    color: var(--heading);
    font-size: 17px;
    font-weight: 600;
    transition: all linear .3s;
}

aside.nav-sidebar .nav-role {
    color: var(--gray);
    font-size: 14px;
    font-weight: 400;
}

aside.nav-sidebar .nav-profile-link:hover .nav-name span {
    color: var(--primary);
}

/* --- navigation rows: one outline icon, one label, generous spacing --- */
aside.nav-sidebar .nav-list {
    margin: 0;
    padding: 6px 0 4px;
    list-style: none;
}

aside.nav-sidebar .nav-list li {
    margin: 0;
    list-style: none;
}

aside.nav-sidebar .nav-list .nav-link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 12px;
    font-size: 16px;
    line-height: 20px;
    color: var(--heading);
    text-align: left;
    border-radius: 10px;
}

aside.nav-sidebar .nav-list .nav-link:hover {
    color: var(--primary);
    background: var(--chalk);
}

aside.nav-sidebar .nav-list .nav-link.active {
    color: var(--primary);
    background: var(--green-chalk);
}

aside.nav-sidebar .nav-list button.nav-link {
    margin: 0;
    border: 0;
    background: none;
    font-family: inherit;
    cursor: pointer;
}

aside.nav-sidebar .nav-ico {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
}

/* expanded account row: pale-green pill, green label and chevron */
aside.nav-sidebar .nav-list .dropdown-link {
    margin: 6px 0;
    padding-top: 10px;
    padding-bottom: 10px;
}

aside.nav-sidebar .nav-list .dropdown-link.active {
    font-weight: 600;
    background: var(--green-chalk);
}

aside.nav-sidebar .dropdown-link::before {
    right: 16px;
    font-size: 12px;
}

/* hairline divider between the account sub-menu and the secondary group */
aside.nav-sidebar .nav-list li.nav-sep {
    width: auto;
    margin: 12px -20px 0;
    padding: 12px 20px 0;
    border-top: 1px solid var(--border);
}

/* --- account sub-menu: indented behind a vertical guide line --- */
aside.nav-sidebar .dropdown-list {
    position: relative;
    margin: 0;
    padding: 4px 0 8px 31px;
    list-style: none;
}

aside.nav-sidebar .dropdown-list::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 16px;
    left: 30px;
    width: 1px;
    background: var(--gray-chalk);
}

aside.nav-sidebar .dropdown-list li a {
    display: block;
    padding: 12px 15px;
    font-size: 15.5px;
    line-height: 20px;
    color: var(--gray);
    background: none;
}

aside.nav-sidebar .dropdown-list li a::before {
    content: none;
}

aside.nav-sidebar .dropdown-list li a:hover {
    color: var(--primary);
    background: none;
}

/* --- contact block: green outline icons, verified details unchanged --- */
aside.nav-sidebar .nav-info-group {
    margin: 14px -20px 8px;
    padding: 18px 20px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

aside.nav-sidebar .nav-info {
    gap: 14px;
    margin-bottom: 16px;
    padding: 0 12px;
}

aside.nav-sidebar .nav-info:last-child {
    margin-bottom: 0;
}

aside.nav-sidebar .nav-info .nav-ico {
    width: 22px;
    height: 22px;
    color: var(--primary);
}

aside.nav-sidebar .nav-info p {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin: 0;
}

aside.nav-sidebar .nav-info p small {
    color: var(--gray);
    font-size: 13px;
    line-height: 17px;
}

aside.nav-sidebar .nav-info p span {
    color: var(--heading);
    font-size: 15.5px;
    line-height: 20px;
    font-weight: 600;
}

aside.nav-sidebar .nav-info p .nav-info-mail {
    color: var(--primary);
    font-size: 15px;
    font-weight: 500;
}

aside.nav-sidebar .nav-footer {
    padding-bottom: 20px;
}

/*
 * Profile page account window (customer/Profile/profile.blade.php): circular
 * avatar above the picture management controls, plus the Security card
 * spacing. Everything else reuses the existing account-card / profile-card
 * template components.
 */
.kb-profile-picture {
    text-align: center;
    padding: 6px 0 4px;
}

.kb-profile-avatar {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--primary);
    padding: 3px;
    background: var(--white);
    margin-bottom: 16px;
}

.kb-profile-picture .form-group {
    text-align: left;
}

/*
 * Phase 13A — customer cart mobile card layout
 * (customer/pages/cart.blade.php, page marker: .cart-card).
 *
 * Desktop/tablet (>= 768px) keeps the existing .table-list table layout
 * completely untouched. Below 768px the SAME server-rendered row is re-flowed
 * into a self-contained product card with CSS grid only — the DOM (forms,
 * classes, ids) that the Phase 12 delegated handlers rely on is never
 * duplicated or renamed, so +/-, quantity-1-remove, trash, Clear Cart, badge
 * and pricing-panel updates behave exactly as before. Each card carries the
 * image, name, availability, price/package, quantity controls and the remove
 * button, so no phone viewport ever needs to scroll sideways to operate an
 * item. Everything is scoped: no site-wide or checkout styles change.
 */
@media (max-width: 767px) {

    /* Clear Cart stays comfortable to tap on small screens. */
    .cart-card .account-title button {
        min-height: 44px;
        padding: 8px 14px;
    }

    /*
     * Nothing overflows in card layout: release main.css's horizontal scroll
     * container (overflow-x: scroll at <=1199px) and orderlist.css's
     * overflow: hidden clip on .table-list. Future overflow is thereby made
     * visible instead of being concealed behind a scrollbar or a clip.
     */
    .cart-card .table-scroll,
    .cart-card .table-list {
        overflow: visible;
    }

    .cart-card .table-list,
    .cart-card .table-list tbody {
        display: block;
        width: 100%;
    }

    /* Column headers are superseded by the per-card content. */
    .cart-card .table-list thead {
        display: none;
    }

    /*
     * Each <tr> becomes one product card:
     *   [image + serial]  name (+ availability)
     *                     price / package
     *     qty controls                        remove
     */
    .cart-card .table-list tbody tr {
        display: grid;
        grid-template-columns: 84px minmax(0, 1fr) auto;
        grid-template-areas:
            "img  name  name"
            "img  price price"
            "qty  qty   act";
        column-gap: 12px;
        row-gap: 8px;
        padding: 12px;
        margin-bottom: 12px;
        background: var(--white);
        border: 1px solid var(--border);
        border-radius: 8px;
    }

    .cart-card .table-list tbody tr td {
        display: block;
        min-width: 0;
        padding: 0;
        text-align: left;
        border: none;
    }

    /* Row number rides on the product image corner. */
    .cart-card .table-list td.table-serial {
        grid-area: img;
        align-self: start;
        justify-self: start;
        position: relative;
        z-index: 1;
        margin: 4px;
    }

    .cart-card .table-list td.table-serial h6 {
        margin: 0;
        padding: 3px 8px;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.3;
        color: var(--heading);
        background: var(--white);
        border: 1px solid var(--border);
        border-radius: 12px;
    }

    .cart-card .table-list td.table-serial h6::before {
        content: "#";
    }

    .cart-card .table-list td.table-image {
        grid-area: img;
        align-self: start;
        text-align: left;
    }

    .cart-card .table-list td.table-image img {
        display: block;
        width: 70px;
        height: auto;
        border-radius: 6px;
    }

    /* Long product names must wrap inside the card, never clip. */
    .cart-card .table-list td.table-name {
        grid-area: name;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .cart-card .table-list td.table-name .details-meta {
        margin-bottom: 0;
        justify-content: flex-start !important;
    }

    /* Price / package strings wrap the same way. */
    .cart-card .table-list td.table-price {
        grid-area: price;
    }

    .cart-card .table-list td.table-price h6 {
        margin-bottom: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .cart-card .table-list td.table-quantity {
        grid-area: qty;
        align-self: center;
    }

    .cart-card .table-list td.table-action {
        grid-area: act;
        justify-self: end;
        align-self: center;
    }

    /* Touch-friendly quantity controls and remove button (~44px targets). */
    .cart-card .table-list button.q-action,
    .cart-card .table-list input.q-action.action-input {
        width: 44px;
        height: 44px;
    }

    .cart-card .trash {
        width: 44px;
        height: 44px;
        line-height: 44px;
    }

    /* Keyboard focus stays clearly visible on every cart control. */
    .cart-card .account-title button:focus-visible,
    .cart-card .cart-quantity button:focus-visible,
    .cart-card .action-input:focus-visible,
    .cart-card .trash:focus-visible {
        outline: 2px solid var(--primary);
        outline-offset: 2px;
    }
}


/*
 * Phase 13B-2 — customer profile: Figma-faithful dashboard rebuild from the
 * "Redesign Customer Profile Dashboard" reference, recreated with the
 * existing Laravel/Bootstrap stack (no Tailwind, no new fonts or icon sets).
 *
 * SCOPE: every selector is namespaced `.kb-account-*`, plus the two page
 * wrappers `.kb-account-page` / `.container.kb-account-wide` that the shared
 * profile layout applies ONLY when a view provides the profile route's
 * 'sidebar' section (address pages get neither). Shared selectors
 * (.account-card, .profile-card, .blog-widget-*, .table-list, Bootstrap
 * classes, main.css tokens) are untouched and no other page's markup uses
 * these classes. The obsolete Phase 13B-1 hero/band/info/security-intro
 * rules were replaced in place — one authoritative rule set per element.
 *
 * Figma metrics mapped: page bg #f5f7f5, 1280px content max-width, 240px
 * sticky sidebar (hidden <1024px), 28px shell gap, 20px card gap, 16px card
 * radius, #f3f4f6 borders, shadow-sm, banner #1c5727 (112px / 144px >=640)
 * with radial highlights + corner ellipses + watermark, 88px avatar
 * overlapping the banner by 44px, 3-column personal grid >=640px with 32px
 * gutters, Security + Seller two-up >=1280px, 36px icon chips, 64px action
 * rows, amber verified-seller pill, ~44px touch targets, focus-visible
 * rings, min-width:0/wrapping everywhere (never overflow-x: hidden).
 * Rubik stays the typeface and the site green (--primary) stays the accent.
 */

/* --- Page frame (profile route only) ---------------------------------- */

.container.kb-account-wide {
    max-width: 1280px;
}

@media (min-width: 640px) {
    .container.kb-account-wide {
        padding-left: 32px;
        padding-right: 32px;
    }
}

/* Figma gray-50 page canvas behind the dashboard cards. */
.kb-account-page {
    background: #f5f7f5;
}

/* --- Shell: sticky sidebar + main column ------------------------------ */

.kb-account-shell {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    min-width: 0;
}

.kb-account-shell-side {
    flex: 0 0 240px;
    width: 240px;
    min-width: 0;
    position: sticky;
    top: 96px; /* Figma top-24 — clears the site's sticky header */
}

.kb-account-shell-main {
    flex: 1 1 auto;
    min-width: 0;
}

/* Figma `hidden lg:block` — the sidebar collapses into the single-column
   mobile flow (the Account Actions card remains the mobile nav surface). */
@media (max-width: 1023.98px) {
    .kb-account-shell {
        display: block;
    }

    .kb-account-shell-side {
        display: none;
    }
}

/* --- Account sidebar --------------------------------------------------- */

.kb-account-side {
    background: var(--white, #fff);
    border: 1px solid #f3f4f6;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16, 40, 24, .05);
    overflow: hidden;
    min-width: 0;
}

.kb-account-side-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 20px;
    border-bottom: 1px solid #f3f4f6;
    min-width: 0;
}

.kb-account-side-avatar {
    display: flex;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 50%;
    border: 2px solid #fff;
    background: #dcf0e1;
    box-shadow: 0 1px 3px rgba(16, 40, 24, .15);
    overflow: hidden;
}

.kb-account-side-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kb-account-side-id {
    min-width: 0;
}

.kb-account-side-name {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #123a1b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kb-account-side-role {
    margin: 2px 0 0;
    font-size: 12px;
    color: #9ca3af;
}

.kb-account-side-nav {
    display: flex;
    flex-direction: column;
    padding: 8px 0;
    min-width: 0;
}

.kb-account-side-link {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 44px;
    padding: 11px 20px;
    border: 0;
    background: transparent;
    color: #4b5563;
    font-family: var(--pfamily);
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    min-width: 0;
    transition: background-color .15s linear, color .15s linear;
}

.kb-account-side-link i {
    width: 16px;
    flex: 0 0 auto;
    font-size: 15px;
    text-align: center;
    color: #9ca3af;
    transition: color .15s linear;
}

.kb-account-side-link > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.kb-account-side-link:hover {
    background: #f9fafb;
    color: #1f2937;
}

/* Active Profile item: green tint + right-hand dot (Figma). */
.kb-account-side-link.is-active {
    background: #f0f9f2;
    color: #1c5727;
    font-weight: 600;
}

.kb-account-side-link.is-active i {
    color: #236e31;
}

.kb-account-side-dot {
    margin-left: auto;
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #2d8a3f;
}

.kb-account-side-divider {
    margin: 8px 20px;
    border-top: 1px solid #f3f4f6;
}

.kb-account-side-logout {
    color: #dc3545;
}

.kb-account-side-logout i {
    color: #ef4444;
}

.kb-account-side-logout:hover {
    background: #fef2f2;
    color: #b91c1c;
}

.kb-account-side-logout:hover i {
    color: #dc3545;
}

/* --- Dashboard column (card stack, Figma space-y-5) ------------------- */

.kb-account {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

/* --- Profile hero ------------------------------------------------------ */

.kb-account-hero {
    background: var(--white, #fff);
    border: 1px solid #f3f4f6;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16, 40, 24, .05);
    overflow: hidden;
    min-width: 0;
}

.kb-account-banner {
    position: relative;
    height: 112px;
    background: #1c5727; /* Figma green-700 */
    overflow: hidden;
}

/* Soft light pools across the banner (Figma radial highlights). */
.kb-account-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(255, 255, 255, .07) 0, transparent 60%),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .05) 0, transparent 50%);
    pointer-events: none;
}

/* Twin white ellipses bleeding off the bottom-right corner (Figma SVG). */
.kb-account-banner::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 260px;
    height: 120px;
    background-image:
        radial-gradient(ellipse 120px 60px at 200px 80px, rgba(255, 255, 255, .10) 0, rgba(255, 255, 255, 0) 70%),
        radial-gradient(ellipse 80px 40px at 80px 100px, rgba(255, 255, 255, .10) 0, rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
}

.kb-account-banner-mark,
.kb-account-banner-label {
    position: absolute;
    top: 16px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: .4;
    pointer-events: none;
}

.kb-account-banner-mark {
    left: 24px;
}

.kb-account-banner-label {
    right: 24px;
}

.kb-account-hero-body {
    position: relative;
    padding: 0 20px 20px;
    min-width: 0;
}

.kb-account-avatar-row {
    display: flex;
    align-items: flex-end;
    margin-top: -44px; /* avatar overlaps the banner (Figma -44px) */
}

.kb-account-avatar-wrap {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    width: 88px;
    height: 88px;
    cursor: pointer; /* Phase 13B-2: the round avatar is the choose control */
}

.kb-account-avatar {
    display: block;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--white, #fff);
    background: #dcf0e1;
    box-shadow: 0 2px 8px rgba(16, 40, 24, .18);
}

/* Figma camera badge — opens the same crop-capable file input. */
.kb-account-avatar-camera {
    position: absolute;
    right: -2px;
    bottom: -2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: var(--primary, #119744);
    color: #fff;
    font-size: 12px;
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(16, 40, 24, .25);
    transition: background-color .15s linear;
}

/* Grow the camera hit area to ~44px without changing its visual size. */
.kb-account-avatar-camera::before {
    content: "";
    position: absolute;
    inset: -8px;
}

.kb-account-avatar-camera:hover {
    background: #0e8139;
}

.kb-account-name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 16px;
    min-width: 0;
}

.kb-account-name {
    margin: 0;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    color: #123a1b; /* Figma green-900 */
    overflow-wrap: anywhere;
    min-width: 0;
}

/* Amber verified-seller pill (Figma SellerBadge). */
.kb-account-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #b45309;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.kb-account-pill i {
    color: #f59e0b;
    font-size: 12px;
}

.kb-account-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin: 6px 0 0;
    font-size: 12px;
    color: #9ca3af;
    min-width: 0;
}

.kb-account-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.kb-account-meta i {
    flex: 0 0 auto;
    color: #cbd2d9;
    font-size: 12px;
}

/* Picture management strip inside the hero (existing mechanism). */
.kb-account-hero-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #f3f4f6;
    min-width: 0;
}

.kb-account-picture-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1 1 320px;
    min-width: 0;
    margin: 0;
}

.kb-account-upload-fields {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.kb-account-field-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--heading, #39404a);
}

.kb-account-file {
    display: block;
    width: 100%;
    max-width: 420px;
    font-size: 14px;
    color: var(--heading, #39404a);
    min-height: 44px;
}

.kb-account-file::file-selector-button {
    margin: 0 12px 0 0;
    padding: 11px 16px;
    border: 1px solid #cfe3d6;
    border-radius: 12px;
    background: #f2f9f4;
    color: var(--primary, #119744);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s linear, border-color .15s linear;
}

.kb-account-file::file-selector-button:hover {
    background: #e7f6ec;
    border-color: var(--primary, #119744);
}

.kb-account-help {
    font-size: 12.5px;
    line-height: 1.5;
    color: #6c757d;
    max-width: 560px;
}

.kb-account-picture-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.kb-account-remove-form {
    margin: 0;
    flex: 0 0 auto;
}

/* --- Buttons ----------------------------------------------------------- */

.kb-account-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 20px;
    border: 1px solid var(--primary, #119744);
    border-radius: 12px;
    background: var(--primary, #119744);
    color: #fff;
    font-family: var(--pfamily);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .15s linear, border-color .15s linear, color .15s linear;
}

.kb-account-btn:hover {
    background: #0e8139;
    border-color: #0e8139;
    color: #fff;
}

.kb-account-btn:focus-visible {
    outline: 2px solid rgba(17, 151, 68, .6);
    outline-offset: 2px;
}

/* Neutral outline variant (Remove picture) with a destructive hover. */
.kb-account-btn--ghost {
    background: var(--white, #fff);
    border-color: #d7e2db;
    color: var(--heading, #39404a);
}

.kb-account-btn--ghost:hover {
    background: #fdf3f4;
    border-color: #e8a5a8;
    color: #c82333;
}

/* --- Cards (Personal Information / Security / Seller / Account Actions)  */

.kb-account-card {
    background: var(--white, #fff);
    border: 1px solid #f3f4f6;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16, 40, 24, .05);
    overflow: hidden;
    min-width: 0;
}

.kb-account-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 24px;
    border-bottom: 1px solid #f3f4f6;
    min-width: 0;
}

.kb-account-card-head h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #174620; /* Figma green-800 */
    overflow-wrap: anywhere;
}

/* Bare 16px green glyph in the card head (Figma SectionCard title row). */
.kb-account-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    color: #236e31;
    font-size: 16px;
    flex: 0 0 auto;
}

/* 36px rounded icon chip (Security summary, Seller highlight, action rows). */
.kb-account-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #f0f9f2;
    color: #236e31;
    font-size: 15px;
    flex: 0 0 auto;
}

.kb-account-chip--verified {
    background: #dcf0e1;
}

/* --- Personal information (Figma 3-up grid) ---------------------------- */

.kb-account-info {
    display: grid;
    grid-template-columns: 1fr;
    padding: 0 20px;
    min-width: 0;
}

.kb-account-info-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 0;
    border-top: 1px solid #f3f4f6;
    min-width: 0;
}

.kb-account-info-row:first-child {
    border-top: 0;
}

/* Smaller 32px chip inside personal rows (Figma InfoRow). */
.kb-account-info-row .kb-account-chip {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 14px;
    margin-top: 2px;
}

.kb-account-info-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1 1 auto;
    min-width: 0;
}

.kb-account-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #9ca3af;
}

.kb-account-value {
    font-size: 14px;
    font-weight: 500;
    color: #1f2937;
    overflow-wrap: anywhere;
}

.kb-account-value--muted {
    color: #9ca3af;
    font-weight: 400;
}

.kb-account-info-foot {
    display: flex; /* Phase 13B-2: hint left, UI-only Edit Information right */
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    border-top: 1px solid #f3f4f6;
}

.kb-account-info-foot p {
    margin: 0;
    font-size: 12px;
    color: #9ca3af;
}

/* --- Security + Seller duo (two-up >=1280px) --------------------------- */

.kb-account-duo {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    min-width: 0;
}

/* --- Security card: Figma summary row + the real password form --------- */

.kb-account-security-summary {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    min-width: 0;
}

.kb-account-security-summary .kb-account-info-text {
    flex: 1 1 auto;
}

.kb-account-mask {
    letter-spacing: .16em;
    color: #1f2937;
}

/* "Change" jumps to the real form below (native fragment link, no JS). */
.kb-account-change {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: var(--white, #fff);
    color: #374151;
    font-family: var(--pfamily);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .15s linear, background-color .15s linear, color .15s linear;
}

.kb-account-change:hover {
    border-color: #4daa61;
    background: #f0f9f2;
    color: #1c5727;
}

.kb-account-password-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
    padding: 18px 20px 22px;
    border-top: 1px solid #f3f4f6;
    max-width: 560px;
    min-width: 0;
}

.kb-account-form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.kb-account-form-field label {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--heading, #39404a);
}

.kb-account-password-form .form-control,
.kb-account-edit-form .form-control {
    min-height: 44px;
    border-radius: 12px;
    border-color: #d7e2db;
    font-size: 15px;
}

.kb-account-password-form .form-control:focus,
.kb-account-edit-form .form-control:focus {
    border-color: var(--primary, #119744);
    box-shadow: 0 0 0 .2rem rgba(17, 151, 68, .15);
    background-color: var(--white, #fff);
    color: var(--heading, #39404a);
}

.kb-account-password-form .kb-account-btn {
    align-self: flex-start;
}

/* --- Seller card ------------------------------------------------------- */

.kb-account-seller-body {
    padding: 20px 0 0;
    min-width: 0;
}

.kb-account-seller-highlight {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 24px 12px;
    padding: 16px;
    border: 1px solid #dcf0e1;
    border-radius: 12px;
    background: #f0f9f2;
    min-width: 0;
}

.kb-account-seller-highlight-text {
    min-width: 0;
}

.kb-account-seller-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #174620;
}

.kb-account-seller-desc {
    margin: 2px 0 0;
    font-size: 12px;
    color: #236e31;
    overflow-wrap: anywhere;
}

.kb-account-seller-rows {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* --- Account action rows (Figma ActionRow) ----------------------------- */

.kb-account-actions {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.kb-account-action {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-height: 64px;
    padding: 12px 24px;
    border: 0;
    border-top: 1px solid #f3f4f6;
    background: transparent;
    color: #1f2937;
    font-family: var(--pfamily);
    font-size: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    min-width: 0;
    transition: background-color .15s linear;
}

.kb-account-action:first-child {
    border-top: 0;
}

.kb-account-action:hover {
    background: #f0f9f2;
}

.kb-account-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #f0f9f2;
    color: #236e31;
    font-size: 15px;
    flex: 0 0 auto;
    transition: background-color .15s linear, color .15s linear;
}

.kb-account-action:hover .kb-account-action-icon {
    background: #dcf0e1;
}

.kb-account-action-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1 1 auto;
    min-width: 0;
}

.kb-account-action-title {
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    overflow-wrap: anywhere;
}

.kb-account-action-desc {
    font-size: 12px;
    color: #9ca3af;
    overflow-wrap: anywhere;
}

.kb-account-action-chevron {
    color: #d1d5db;
    font-size: 14px;
    flex: 0 0 auto;
    transition: transform .15s linear, color .15s linear;
}

.kb-account-action:hover .kb-account-action-chevron {
    color: #2d8a3f;
    transform: translateX(2px);
}

/* Destructive row (Logout). */
.kb-account-action--danger .kb-account-action-icon {
    background: #fef2f2;
    color: #dc3545;
}

.kb-account-action--danger .kb-account-action-title {
    color: #dc3545;
}

.kb-account-action--danger .kb-account-action-chevron {
    color: #f5b5ba;
}

.kb-account-action--danger:hover {
    background: #fef2f2;
}

.kb-account-action--danger:hover .kb-account-action-icon {
    background: #dc3545;
    color: #fff;
}

.kb-account-action--danger:hover .kb-account-action-chevron {
    color: #dc3545;
}

/* --- Accessibility: consistent focus rings on every profile control ---- */

.kb-account a:focus-visible,
.kb-account button:focus-visible,
.kb-account input:focus-visible,
.kb-account label:focus-visible,
.kb-account-side a:focus-visible,
.kb-account-side button:focus-visible {
    outline: 2px solid rgba(17, 151, 68, .6);
    outline-offset: 2px;
}

/* --- Responsive -------------------------------------------------------- */

@media (min-width: 640px) {
    /* Figma sm: banner grows, 3-up personal grid, 32px body gutters. */
    .kb-account-banner {
        height: 144px;
    }

    .kb-account-hero-body {
        padding: 0 32px 24px;
    }

    .kb-account-info {
        grid-template-columns: repeat(3, 1fr);
        column-gap: 24px;
        padding: 0 32px;
    }

    .kb-account-info-row {
        border-top: 0;
        padding: 20px 0;
    }

    .kb-account-info-foot {
        padding: 14px 32px;
    }

    .kb-account-security-summary {
        padding: 20px 32px;
    }

    .kb-account-password-form {
        padding: 20px 32px 28px;
    }
}

/* Figma xl: Security + Seller sit beside each other. */
@media (min-width: 1280px) {
    .kb-account-duo--pair {
        grid-template-columns: 1fr 1fr;
    }
}

/*
 * Phase 13B-2 — profile interaction finishing (collapsed password form,
 * avatar-triggered picture editor, UI-only Edit Information).
 *
 * SCOPE: `.kb-account` descendants only — no other page uses these
 * classes. Author `display` rules outrank the browser's UA `[hidden]`
 * rule, so every collapsible profile block needs this scoped override.
 * The page's <noscript> styles selectively re-reveal the same blocks
 * when JavaScript is off. Nothing is hidden with overflow-x tricks.
 */

.kb-account [hidden] {
    display: none !important;
}

/* Keyboard focus lands on the (visually hidden) file input — show the
   focus ring around the avatar it belongs to. */
.kb-account-avatar-wrap:focus-within {
    outline: 2px solid rgba(17, 151, 68, .6);
    outline-offset: 2px;
    border-radius: 50%;
}

/* Picture editor panel inside the hero: crop result + Save/Cancel/Remove,
   opened only while a picture change is pending. */
.kb-account-picture-editor {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

/* Password toggle row (between the summary row and the collapsed form). */
.kb-account-password-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 0 20px 18px;
    min-width: 0;
}

/* Neutral "Cancel"-style button — never the destructive ghost hover. */
.kb-account-btn--quiet {
    background: var(--white, #fff);
    border-color: #e5e7eb;
    color: #374151;
}

.kb-account-btn--quiet:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #111827;
}

/* Button row inside the password form (submit + cancel), no overflow. */
.kb-account-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.kb-account-password-form .kb-account-form-actions,
.kb-account-edit-form .kb-account-form-actions {
    align-self: flex-start;
}

/* UI-only Edit Information affordance — visibly present, inert, neutral. */
.kb-account-edit-btn:disabled,
.kb-account-edit-btn:disabled:hover {
    background: #f3f4f6;
    border-color: #e5e7eb;
    color: #9ca3af;
    cursor: not-allowed;
}

@media (min-width: 640px) {
    .kb-account-password-actions {
        padding: 0 32px 20px;
    }
}

/*
 * Phase 13B-3 — inline Edit Information form (same Personal Information
 * card body as the read-only rows it replaces while editing).
 *
 * SCOPE: `.kb-account-*` only. The gutters mirror .kb-account-info (20px,
 * 32px at >=640px) so the form sits exactly where the rows sat; field
 * styling reuses the shared .kb-account-form-field / .form-control rules
 * extended above. Nothing here touches other pages.
 */

.kb-account-edit-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
    padding: 0 20px 18px;
    max-width: 560px;
    min-width: 0;
}

@media (min-width: 640px) {
    .kb-account-edit-form {
        padding: 0 32px 20px;
    }
}

/*
 * Phase 16 — customer global Back navigation control.
 *
 * SCOPE: `.kb-back-nav*` only, used by resources/views/customer/layouts/
 * backnav.blade.php (rendered beside the existing breadcrumb in the shared
 * customer layouts and on the shop/product/category pages). Bootstrap's
 * .breadcrumb, .table-list, product cards, cart and checkout styling are
 * untouched; no other page uses these classes.
 *
 * Layout: flex + wrap puts [ <- Back ] and the breadcrumb on one row, and
 * lets them stack on narrow screens (never overflow-x: hidden). The control
 * is a real <a href> (internal route fallback) with ~44px touch height,
 * visible hover and focus-visible states, Rubik + the site green accent.
 */

.kb-back-nav-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
    min-width: 0;
}

.kb-back-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 18px;
    border: 1px solid #d7e2db;
    border-radius: 12px;
    background: var(--white, #fff);
    color: var(--heading, #39404a);
    font-family: var(--pfamily);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .15s linear, border-color .15s linear, color .15s linear;
}

.kb-back-nav:hover {
    background: #f0f9f2;
    border-color: var(--primary, #119744);
    color: var(--primary, #119744);
}

.kb-back-nav:focus-visible {
    outline: 2px solid rgba(17, 151, 68, .6);
    outline-offset: 2px;
}

.kb-back-nav i {
    font-size: 14px;
}

/* Standalone row (shop listing - no breadcrumb beside it). */
.kb-back-nav-row--solo {
    padding-top: 16px;
}

/* ==========================================================================
 * Phase 17D — Seller Centre Online/Offline toggle
 * (Livewire `toggle-switch`, dashboard "Set Your Business Online/Offline").
 *
 * Presentation only: the control is still the SAME checkbox bound to
 * wire:model="isActive" -> business_status. This block replaces the scaled
 * Bootstrap-5 `form-switch` tick with a scoped, rounded switch in the site
 * green. Scoped to kb-seller-* classes only (no page-wide switch restyle,
 * no Bootstrap 5 dependency - the seller layout is AdminLTE 3.1.0 /
 * Bootstrap 4). Note: `--primary` on seller pages resolves to AdminLTE
 * blue, so the brand green is written literally (#119744, same green as
 * the main-sidebar). The ON look keys off `:checked` on the real input
 * (flips instantly on click); the Online/Offline word re-renders from
 * $isActive.
 * ========================================================================== */

.kb-seller-switch-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 0; /* vertical spacing only when the row wraps (mobile) */
    margin: 1rem 0; /* replaces the old my-3 on the row */
}

.kb-seller-switch-title {
    margin: 0 16px 0 0;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    color: #343a40;
}

/* The <label> is the clickable target: it wraps the input, the track and
   the state word, giving a >= 44px tall hit area on desktop and mobile. */
.kb-seller-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 44px; /* touch target */
    padding: 6px 0;
    margin: 0;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

/* The genuine form control. Visually collapsed to 1px but never removed:
   still focusable, still toggleable via Space and via the wrapping label. */
.kb-seller-switch-input {
    position: absolute;
    top: 6px;
    left: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
}

.kb-seller-switch-track {
    position: relative;
    flex: 0 0 auto;
    width: 48px;
    height: 26px;
    border-radius: 999px;
    background: #ced4da; /* OFF - neutral gray */
    transition: background-color .18s ease;
}

.kb-seller-switch-thumb {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
    transition: transform .18s ease;
}

/* ON - driven directly by the checkbox's own state. */
.kb-seller-switch-input:checked + .kb-seller-switch-track {
    background: #119744;
}

.kb-seller-switch-input:checked + .kb-seller-switch-track .kb-seller-switch-thumb {
    transform: translateX(22px);
}

/* Visible keyboard focus ring, drawn on the track (the input itself is 1px). */
.kb-seller-switch:focus-within .kb-seller-switch-track {
    outline: 2px solid rgba(17, 151, 68, .55);
    outline-offset: 2px;
}

.kb-seller-switch-state {
    font-size: .95rem;
    font-weight: 600;
    color: #6c757d; /* "Offline" */
    transition: color .18s ease;
}

.kb-seller-switch-state.is-online {
    color: #119744; /* "Online" - matches the brand green */
}

/* ==========================================================================
   Phase 18B — Market Portal: header + marketplace navigation
   Customer storefront only: every selector below renders in the shared
   customer header, its category navbar, or the checkout layout's own
   header copy — admin/seller pages use AdminLTE class names and never
   match these. Scoped overrides appended after main.css and after
   custom.css:434 (the 85px logo rule); no :root, .btn, .badge, banner,
   back-nav or profile rules are touched, and there is no overflow-x:hidden
   — category overflow is contained by a localized scroll container on
   .navbar-list itself. Palette: forest green #14532d + warm neutrals.
   ========================================================================== */

/* --- Utility strip: forest green, compact type -------------------------- */
.header-top {
    padding: 5px 0;
    background: #14532d;
}

.header-top-welcome p {
    font-size: 13px;
    letter-spacing: 0.2px;
    color: rgba(255, 255, 255, 0.85);
}

.header-top-list li {
    margin-left: 24px;
}

.header-top-list li a {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.2px;
}

.header-top-list li a:hover {
    color: #ffffff;
}

/* --- Header bar: compact logo, tighter horizontal rhythm ---------------- */
.header-logo {
    margin-right: 32px;
}

.header-logo img {
    height: 52px;
}

.header-part.active .header-logo img {
    height: 44px;
}

.header-media-group a img {
    height: 44px;
}

.header-part.active .header-content {
    padding: 10px 0;
}

/* --- Search field: warm neutral, forest focus ring ---------------------- */
.header-form {
    background: #f7f7f4;
    border: 1px solid #e2e6e0;
    border-radius: 10px;
}

.header-form:focus-within {
    background: #ffffff;
    border-color: #14532d;
    box-shadow: 0 0 0 3px rgba(20, 83, 45, 0.14);
}

.header-part.active .header-form {
    background: #ffffff;
    border-color: #14532d;
    box-shadow: none;
}

.header-part.active .header-form:focus-within {
    box-shadow: 0 0 0 3px rgba(20, 83, 45, 0.14);
}

.header-form input {
    color: #2e3a33;
}

.header-form input::placeholder {
    color: #8a938d;
}

.header-form button i {
    color: #14532d;
}

.header-form button i:hover {
    color: #ffffff;
    background: #14532d;
}

/* --- Account / cart / mobile controls: consistent 44px targets ---------- */
.header-widget img {
    width: 44px;
    height: 44px;
    background: #ffffff;
    border: 1px solid #e2e6e0;
}

.header-widget i {
    width: 44px;
    height: 44px;
    line-height: 44px;
    color: #14532d;
    background: #ffffff;
    border: 1px solid #e2e6e0;
}

.header-widget span {
    font-weight: 500;
    color: #2e3a33;
}

.header-widget:hover i {
    color: #ffffff;
    background: #14532d;
    border-color: #14532d;
    text-shadow: none;
}

.header-widget:hover span {
    color: #14532d;
}

.header-part.active .header-widget:hover i {
    background: #14532d;
}

.header-widget sup {
    background: #14532d;
    text-shadow: none;
}

.header-user img,
.header-src img {
    width: 44px;
    height: 44px;
    border: 1px solid #e2e6e0;
}

.header-user i,
.header-src i {
    width: 44px;
    height: 44px;
    line-height: 44px;
    color: #14532d;
    background: #ffffff;
    border: 1px solid #e2e6e0;
}

.header-user:hover i,
.header-src:hover i {
    color: #ffffff;
    background: #14532d;
    border-color: #14532d;
}

/* --- Category navigation: compact type, no wrap, localized scroll -------- */
.navbar-part {
    background: #ffffff;
    border-bottom: 1px solid #e2e6e0;
}

.navbar-list {
    min-width: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}

.navbar-list::-webkit-scrollbar {
    display: none;
}

.navbar-list .navbar-item {
    flex: 0 0 auto;
    margin-right: 4px;
}

.navbar-list .navbar-item:last-child {
    margin-right: 0;
}

.navbar-link {
    display: inline-block;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 500;
    color: #46524b;
    white-space: nowrap;
}

.navbar-link:hover {
    color: #14532d;
}

.navbar-link.is-active {
    color: #14532d;
    font-weight: 600;
    box-shadow: inset 0 -3px 0 #14532d;
}

/* --- Visible keyboard focus (inset ring: never clipped by the scroll) ---- */
.header-top a:focus-visible,
.header-part a:focus-visible,
.header-part button:focus-visible,
.navbar-part a:focus-visible {
    outline: 2px solid #14532d;
    outline-offset: -2px;
}

/* --- Desktop spacing; mobile keeps main.css's rules --------------------- */
@media (min-width: 992px) {
    .header-content {
        padding: 12px 0;
    }

    /* --- Header row: Logo | Deliver to | Search | Account | Cart ----------
       main.css sets `.header-form { width: 100% }`, so the search bar claims
       the whole row and everything painted after it is squeezed into the
       right-hand remainder — which is what crushed the location chip. The
       chip now sits between the logo and the search, so each block gets an
       explicit role: logo / chip / account / cart keep their natural width,
       and the search grows (flex-basis 0) into whatever space is left. No
       absolute positioning, no fixed pixel widths, no !important. */
    .header-logo,
    .header-content > .header-widget,
    .header-content > .header-widget-group {
        flex: 0 0 auto;
    }

    /* The chip keeps main/widget sizing but never shrinks past a readable
       width; its own value line ellipsises instead of overflowing. */
    .header-content > .kb-loc-trigger {
        flex: 0 1 auto;
        min-width: 140px;
    }

    .header-form {
        flex: 1 1 0;
        min-width: 0;
        margin: 0 32px;
    }

    /* The text input's automatic minimum (its intrinsic `size` width) would
       otherwise hold the form open and overflow the row on narrow desktops. */
    .header-form input {
        min-width: 0;
    }
}

/* --- Mobile: the category bar becomes a visible scrolling strip --------- */
@media (max-width: 991px) {
    .navbar-part {
        display: block;
    }
}
