@media (min-width: 1001px) {
.doc-columns{
    display: grid;
    grid-template-columns: minmax(13rem, 20%) minmax(0, 70%);
    grid-auto-flow: column
     }
.left-column{
 font-size: smaller;
 grid-column: 1;
 grid-row: 1;
  }
.right-column{
 grid-column: 2;
 grid-row: 1;
 min-width: 0;
  }
}

@media (max-width: 1000px) {
.doc-columns{
    display: flex;
    flex-direction: column;
     }
.left-column{
 grid-column: auto;
 grid-row: auto;
 order: -1;
 padding-right: 0;
  }
.right-column{
 grid-column: auto;
 grid-row: auto;
 min-width: 0;
 order: 0;
  }
}

@media (min-width: 1280px) {
.doc-columns{
    grid-template-columns: minmax(14rem, 20%) minmax(0, 1fr);
  }
}

@media (min-width: 1500px) {
.left-column{
    box-sizing: border-box;
    margin-left: -50%;
    width: 150%;
  }
}

.statustrue{
    background:palegreen;
}

.challenge-progress-table{
    width: 100%;
}

.challenge-progress-table th,
.challenge-progress-table td{
    vertical-align: top;
}

.challenge-progress-table .challenge-description-cell,
.challenge-progress-table .challenge-description-cell *{
    max-width: 100%;
}

.challenge-progress-table .challenge-name-cell,
.challenge-progress-table .challenge-description-cell{
    min-width: 0;
    overflow-wrap: anywhere;
}

.challenge-progress-table .sim-live-request-details,
.challenge-progress-table .api-live-request{
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
}

@media (max-width: 800px) {
    .challenge-progress-table,
    .challenge-progress-table thead,
    .challenge-progress-table tbody{
        display: block;
        width: 100%;
    }

    .challenge-progress-table thead tr,
    .challenge-progress-table tr[data-challenge-id]{
        display: grid;
        grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr) minmax(4rem, auto);
        gap: 0.35rem 0.5rem;
        width: 100%;
    }

    .challenge-progress-table tr[data-challenge-id]{
        box-sizing: border-box;
        margin-bottom: 0.75rem;
        padding: 0.5rem;
    }

    .challenge-progress-table th,
    .challenge-progress-table td{
        box-sizing: border-box;
        display: block;
        min-width: 0;
    }

    .challenge-progress-table .challenge-description-heading{
        display: none;
    }

    .challenge-progress-table .challenge-id-cell,
    .challenge-progress-table .challenge-id-heading{
        grid-column: 1;
    }

    .challenge-progress-table .challenge-name-cell,
    .challenge-progress-table .challenge-name-heading{
        grid-column: 2;
    }

    .challenge-progress-table .challenge-done-status,
    .challenge-progress-table .challenge-done-heading{
        grid-column: 3;
        text-align: center;
    }

    .challenge-progress-table .challenge-description-cell{
        border-top: 1px solid rgba(0, 0, 0, 0.18);
        grid-column: 1 / -1;
        padding-top: 0.5rem;
    }

    .challenge-progress-table .challenge-description-cell::before{
        content: "Description";
        display: block;
        font-weight: bold;
        margin-bottom: 0.35rem;
    }
}

.challenge-status-newly-completed{
    animation: challenge-status-complete-flash 1.5s ease-in-out 3;
}

.challenge-progress-refresh-message{
    margin-left: 0.75em;
    color: #2f5f36;
}

.challenge-progress-refresh-message.is-error{
    color: #8a1f11;
}

@keyframes challenge-status-complete-flash {
    0% { box-shadow: inset 0 0 0 0 rgba(46, 125, 50, 0); }
    50% { box-shadow: inset 0 0 0 4px rgba(46, 125, 50, 0.5); }
    100% { box-shadow: inset 0 0 0 0 rgba(46, 125, 50, 0); }
}

.youtube-video {
  aspect-ratio: 16 / 9;
  width: 100%;
}

/* for youtube player facade https://github.com/justinribeiro/lite-youtube */
.lite-youtube-fallback {
	aspect-ratio: 16 / 9; /* matches YouTube player */
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 1em;
	padding: 1em;
	background-color: #000;
	color: #fff;
	text-decoration: none;
}

/* right-facing triangle "Play" icon */
.lite-youtube-fallback::before {
	display: block;
	content: '';
	border: solid transparent;
	border-width: 2em 0 2em 3em;
	border-left-color: red;
}

.lite-youtube-fallback:hover::before {
	border-left-color: #fff;
}

.lite-youtube-fallback:focus {
	outline: 2px solid red;
}

/*
    CSS Menu
 */

.css-menu {
	width:100%;
	overflow:hidden;
}

.sub-menu {
    position: relative;
    margin-bottom: 2em;
    background:#e4e5eb;
}

.sub-menu a {
    display: block;
    color: #000000;
    text-decoration: none;
    padding: 0.5em;
}

.sub-menu a:hover {
    background-color: #d7d6d5;
}

/* remember to adjust both hover and dropped */
.sub-menu li:hover a{
    color: #000000;
    background: #efefef;
}
.sub-menu li.dropped a {
    color: #000000;
    background: #efefef;
}

.sub-menu li { display: inline-block; }


.sub-menu li ul { display: none; }

/* remember to adjust both hover and dropped */
@media (min-width: 1000px) {
    .sub-menu li:hover ul {
        display: block;
        position: absolute;
        left: 0;
        width: 100%;
        background: #efefef;
    }
    .sub-menu li.dropped ul {
        display: block;
        position: absolute;
        left: 0;
        width: 100%;
        background: #efefef;
    }
}

.sub-menu li ul li:hover a { color: #000; }

/* minimal screensize based responsiveness */
@media (max-width: 1000px) {
    .sub-menu li { display: grid; }
    .sub-menu li ul {display: grid;}
    .sub-menu li:hover ul {
        display: grid;
        position: relative;
    }
}

/* Left Side Menu */

.side-toc > ul {
    padding-inline-start: 0;
}

.side-toc > ul ul {
    padding-inline-start: 1rem;
}

.side-toc-root,
.side-toc-section-links {
    margin-block-start: 0;
}

.side-toc-section {
    margin: 0.15rem 0 0.65rem;
}

.side-toc-section-summary {
    align-items: start;
    cursor: pointer;
    display: grid;
    gap: 0.1rem 0.45rem;
    grid-template-columns: 1rem minmax(0, 1fr);
    list-style: none;
    padding: 0.15rem 0;
}

.side-toc-section-summary::-webkit-details-marker {
    display: none;
}

.side-toc-section-summary::before {
    border: 1px solid currentColor;
    border-radius: 4px;
    content: "+";
    display: grid;
    font-size: 0.8rem;
    height: 0.95rem;
    line-height: 1;
    margin-top: 0.15rem;
    place-items: center;
    width: 0.95rem;
}

.side-toc-section[open] > .side-toc-section-summary::before {
    content: "-";
}

.side-toc-section-title,
.side-toc-section-description {
    grid-column: 2;
    min-width: 0;
}

.side-toc-section-title {
    line-height: 1.25;
}

.side-toc-section-description {
    display: block;
    font-size: 0.8rem;
    font-weight: normal;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.side-toc-section[open] > .side-toc-section-summary .side-toc-section-description {
    display: none;
}

.side-toc-section-links {
    padding-top: 0.2rem;
}

.side-toc-section:not([open]) > .side-toc-section-links {
    display: none;
}

.side-toc-section-links li {
    font-weight: normal;
    padding-bottom: 0.2em;
    padding-top: 0.2em;
}

.left-column {
    padding-right: 2em;
}

.side-toc > ul > li > ul li {
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    font-weight: normal;
}

.side-toc > ul > li {
    list-style-type: none;
    font-weight: bold;
}

/* breadcrumb */
div.breadcrumb blockquote {
}

/* main-text-content formatting */
div.main-text-content ul li { margin-bottom: 0.5rem;}

div.main-text-content blockquote {
    background: #f5f5f5;
    padding: 0.5em;
}

figure.site-hero-figure,
figure.content-hero-figure {
    margin: 1rem 0 1.75rem;
}

figure.site-hero-figure img,
figure.content-hero-figure img {
    border-radius: 8px;
    box-shadow: 0 16px 42px rgba(6, 26, 53, 0.18);
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

figure.fromhell-hero-image img {
    background: #090b0f;
}

div.main-text-content pre {
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: auto;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

div.main-text-content pre code {
    white-space: inherit;
}

p.article-byline {
    color: #526272;
    font-size: 0.95rem;
    margin: -0.25rem 0 1rem;
}

p.article-byline a {
    color: #1f4e79;
}

span.article-byline-separator {
    color: #6b7280;
}

div.sponsor-top {
    background-color:#403f4c;
    color: #ffffff;
    text-align: center;
    font-size: .875em;
    padding-top: .5rem;
    padding-bottom: .5rem;
}

div.sponsor-top a {
    color: #c0e0de;
}
aside.author-bio-snippet {
    margin-top: 1.5rem;
    padding: 1rem;
    border-left: 4px solid #1f4e79;
    background: #f2f6fb;
}

aside.author-bio-snippet p {
    margin: 0.25rem 0;
}

aside.next-challenge-cta {
    margin-top: 1.25rem;
    margin-bottom: 1rem;
}

aside.concept-learned {
    margin: 1.5rem 0 1.25rem;
    padding: 1rem;
    border-left: 4px solid #20756b;
    background: #f0f8f6;
}

aside.concept-learned p {
    margin: 0.35rem 0;
}

.concept-learned-title {
    color: #163858;
}

.concept-learned-summary {
    color: #243748;
}

.concept-learned-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    list-style: none;
    margin: 0.65rem 0;
    padding: 0;
}

.concept-learned-tags li {
    border: 1px solid #a8cbc4;
    border-radius: 4px;
    background: #ffffff;
    color: #243748;
    font-size: 0.9rem;
    line-height: 1.25;
    margin: 0;
    padding: 0.25rem 0.45rem;
}

.concept-learned-links {
    font-size: 0.95rem;
}

a.next-challenge-cta-link {
    display: inline-block;
    background: #1f4e79;
    color: #ffffff;
    text-decoration: none;
    padding: 0.6rem 0.9rem;
    border-radius: 4px;
    font-weight: 600;
}

a.next-challenge-cta-link:hover {
    background: #163858;
}

/* Simulation mode live request widgets */
.sim-live-widget {
    border: 1px solid #c6d3df;
    background: #f8fbfd;
    margin: 1rem 0 1.5rem;
    padding: 1rem;
}

.sim-live-title {
    font-weight: 700;
    margin: 0 0 0.75rem;
}

.api-live-widget {
    border-color: #9bbf9f;
    background: #f7fcf7;
}

.sim-live-expected {
    color: #334155;
    font-weight: 600;
    margin: -0.35rem 0 0.75rem;
}

.sim-live-tabs,
.sim-live-response-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
}

.sim-live-tab,
.sim-live-response-tab,
.sim-live-copy,
.sim-live-execute {
    border: 1px solid #8fa7bc;
    background: #ffffff;
    color: #152536;
    cursor: pointer;
    font: inherit;
    padding: 0.45rem 0.65rem;
}

.sim-live-tab.active,
.sim-live-response-tab.active {
    background: #1f4e79;
    border-color: #1f4e79;
    color: #ffffff;
}

.sim-live-execute {
    background: #16803a;
    border-color: #16803a;
    color: #ffffff;
    margin: 0;
}

.sim-live-execute:hover,
.sim-live-execute:focus-visible {
    background: #116830;
    border-color: #116830;
}

.sim-live-execute:disabled {
    background: #6f7f8f;
    border-color: #6f7f8f;
    cursor: wait;
}

.sim-live-execute-icon {
    display: inline-block;
    margin-right: 0.4rem;
}

.sim-live-execute-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0.75rem 0;
}

.sim-live-challenge-feedback {
    border: 1px solid #8fa7bc;
    border-radius: 999px;
    font-weight: 700;
    padding: 0.35rem 0.65rem;
}

.sim-live-challenge-feedback.is-passed {
    background: #e3f8ec;
    border-color: #18a058;
    color: #0b5f2a;
}

.sim-live-challenge-feedback.is-not-passed {
    background: #fff3d0;
    border-color: #d97706;
    color: #7c2d12;
}

.solution-challenge-completed {
    background: #e3f8ec;
    border: 1px solid #18a058;
    color: #0b5f2a;
    font-weight: 700;
    margin: 0 0 1rem;
    padding: 0.65rem 0.85rem;
}

.sim-live-fireworks {
    animation: sim-live-firework-overlay 4200ms ease-out forwards;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    z-index: 9999;
}

.sim-live-fireworks::before {
    animation: sim-live-firework-glow 1800ms ease-out forwards;
    background:
        radial-gradient(circle at 50% 35%, rgb(255 255 255 / 35%), transparent 22rem),
        radial-gradient(circle at 20% 25%, rgb(24 160 88 / 24%), transparent 18rem),
        radial-gradient(circle at 80% 22%, rgb(245 158 11 / 24%), transparent 18rem),
        radial-gradient(circle at 50% 65%, rgb(219 39 119 / 18%), transparent 20rem);
    content: "";
    inset: 0;
    opacity: 0;
    position: absolute;
}

.sim-live-firework-burst {
    animation: sim-live-firework-burst 1800ms ease-out forwards;
    animation-delay: var(--delay);
    display: block;
    height: 0;
    left: var(--x);
    position: absolute;
    top: var(--y);
    transform: scale(var(--size));
    width: 0;
}

.sim-live-firework-ring {
    animation: sim-live-firework-ring 1500ms ease-out forwards;
    animation-delay: var(--delay);
    border: 0.2rem solid var(--color);
    border-radius: 999px;
    box-shadow:
        0 0 1.25rem var(--color),
        inset 0 0 1rem var(--color);
    display: block;
    height: 1rem;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transform: translate(-50%, -50%) scale(0.15);
    width: 1rem;
}

.sim-live-firework-spark {
    animation: sim-live-firework-spark 1500ms cubic-bezier(0.16, 0.85, 0.34, 1) forwards;
    animation-delay: var(--delay);
    background: linear-gradient(90deg, rgb(255 255 255 / 92%), var(--color), transparent);
    border-radius: 999px;
    box-shadow: 0 0 1rem var(--color);
    display: block;
    height: 0.34rem;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transform: translate(-50%, -50%) rotate(var(--angle)) translateX(0) scaleX(0.25);
    transform-origin: 0 50%;
    width: 2rem;
}

.sim-live-firework-confetti {
    animation: sim-live-firework-confetti var(--duration) ease-in forwards;
    animation-delay: var(--delay);
    background: var(--color);
    border-radius: 0.12rem;
    box-shadow: 0 0 0.6rem rgb(255 255 255 / 40%);
    display: block;
    height: 0.75rem;
    left: var(--left);
    opacity: 0;
    position: absolute;
    top: -12vh;
    transform: translate3d(0, 0, 0) rotate(0);
    width: 0.45rem;
}

@keyframes sim-live-firework-overlay {
    0%,
    88% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes sim-live-firework-glow {
    0% {
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes sim-live-firework-spark {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) rotate(var(--angle)) translateX(0) scaleX(0.25);
    }

    15% {
        opacity: 1;
    }

    45% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform:
            translate(-50%, -50%)
            rotate(var(--angle))
            translateX(var(--distance))
            scaleX(0.05);
    }
}

@keyframes sim-live-firework-ring {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.15);
    }

    12% {
        opacity: 0.9;
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(11);
    }
}

@keyframes sim-live-firework-burst {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes sim-live-firework-confetti {
    0% {
        opacity: 0;
        transform: translate3d(0, 0, 0) rotate(0);
    }

    10% {
        opacity: 1;
    }

    78% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate3d(var(--drift), 118vh, 0) rotate(var(--spin));
    }
}

.sim-live-request-line {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.sim-live-method {
    background: #e1edf7;
    border: 1px solid #9bb6cd;
    color: #102d46;
    padding: 0.2rem 0.4rem;
}

.sim-live-request-details {
    border: 1px solid #c9d5df;
    margin: 0.75rem 0 1rem;
    padding: 0.5rem 0.75rem;
}

.sim-live-request-details > summary {
    cursor: pointer;
    font-weight: 700;
}

.sim-live-request-details .sim-live-title {
    display: none;
}

.sim-live-request-details .sim-live-widget {
    border: 0;
    margin-top: 0.75rem;
    padding: 0;
}

.sim-live-request-line code {
    overflow-wrap: anywhere;
}

.sim-live-validation {
    background: #fff5d6;
    border: 1px solid #e5b84a;
    color: #5c4300;
    margin-top: 0.5rem;
    padding: 0.45rem 0.6rem;
}

.simpleapi-random-isbn-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.75rem 0 0.25rem;
}

.simpleapi-random-isbn-form input {
    border: 1px solid #9bb6cd;
    box-sizing: border-box;
    font: inherit;
    max-width: 18rem;
    padding: 0.45rem;
}

.sim-live-edit-controls {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.sim-live-edit-controls label {
    display: grid;
    gap: 0.25rem;
    font-weight: 600;
}

.sim-live-edit-method,
.sim-live-edit-url,
.sim-live-edit-query,
.sim-live-edit-headers,
.sim-live-edit-body {
    border: 1px solid #9bb6cd;
    box-sizing: border-box;
    font: inherit;
    padding: 0.45rem;
    width: 100%;
}

.sim-live-locked-fields {
    background: #eef4f8;
    border: 1px solid #b6cad9;
    color: #234;
    font-family: Consolas, "Courier New", monospace;
    padding: 0.45rem 0.55rem;
}

.sim-live-edit-query,
.sim-live-edit-headers,
.sim-live-edit-body {
    font-family: Consolas, "Courier New", monospace;
    min-height: 7rem;
    resize: vertical;
}

.sim-live-edit-query {
    min-height: 3rem;
}

.sim-live-edit-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.sim-live-reset {
    border: 1px solid #8fa7bc;
    background: #ffffff;
    color: #152536;
    cursor: pointer;
    font: inherit;
    padding: 0.45rem 0.65rem;
}

.sim-live-pretty-print {
    border: 1px solid #8fa7bc;
    background: #f5f9fc;
    color: #152536;
    cursor: pointer;
    font: inherit;
    padding: 0.45rem 0.65rem;
}

.sim-live-command-panel {
    position: relative;
}

.sim-live-command,
.sim-live-request-body,
.sim-live-response-panel {
    background: #ffffff;
    border: 1px solid #c9d5df;
    max-height: 24rem;
    overflow: auto;
    padding: 0.75rem;
    white-space: pre-wrap;
}

.sim-live-copy {
    margin-top: 0.5rem;
}

.sim-live-command-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.sim-live-command-actions .sim-live-copy {
    margin-top: 0;
}

.sim-live-response-actions {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    margin: 0.5rem 0 0.75rem;
}

.sim-live-response-actions .sim-live-copy {
    margin-top: 0;
}

.sim-live-curl-exe-toggle {
    align-items: center;
    display: inline-flex;
    gap: 0.25rem;
    font-weight: 600;
}

.sim-live-status {
    border-left: 4px solid #1f4e79;
    background: #eef4f9;
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.75rem;
    font-weight: 600;
}

.online-swagger-client {
    border: 1px solid #c9d5df;
    margin: 1rem 0 1.5rem;
    padding: 1rem;
}

.openapi-converter-tool {
    border: 1px solid #c9d5df;
    margin: 1rem 0 1.5rem;
    padding: 1rem;
}

.online-swagger-controls,
.online-swagger-file-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.online-swagger-controls {
    align-items: flex-end;
}

.online-swagger-controls label,
.online-swagger-file-row label {
    display: grid;
    flex: 1 1 18rem;
    font-weight: 600;
    gap: 0.25rem;
}

.online-swagger-controls input,
.online-swagger-file-row input {
    border: 1px solid #9bb6cd;
    box-sizing: border-box;
    font: inherit;
    padding: 0.45rem;
    width: 100%;
}

.online-swagger-controls button,
.openapi-converter-actions button {
    border: 1px solid #8fa7bc;
    background: #ffffff;
    color: #152536;
    cursor: pointer;
    font: inherit;
    padding: 0.45rem 0.65rem;
}

.openapi-converter-actions button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.openapi-tester-controls {
    border-top: 1px solid #d7e1e8;
    display: grid;
    gap: 0.75rem;
    margin-top: 0.9rem;
    padding-top: 0.9rem;
}

.openapi-profile-row,
.openapi-converter-actions {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.openapi-profile-row label {
    display: grid;
    flex: 1 1 14rem;
    font-weight: 600;
    gap: 0.25rem;
}

.openapi-profile-row select {
    border: 1px solid #9bb6cd;
    box-sizing: border-box;
    font: inherit;
    padding: 0.45rem;
    width: 100%;
}

.openapi-converter-options {
    border: 1px solid #d7e1e8;
    padding: 0.75rem;
}

.openapi-converter-options summary {
    cursor: pointer;
    font-weight: 600;
}

.openapi-option-grid,
.openapi-verb-grid {
    display: grid;
    gap: 0.4rem 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    margin-top: 0.75rem;
    padding-left: 0;
}

.openapi-option-grid li,
.openapi-verb-grid li {
    list-style: none;
}

.openapi-option-grid label,
.openapi-verb-grid label {
    align-items: start;
    display: flex;
    gap: 0.4rem;
}

.openapi-converter-output {
    border: 1px solid #9bb6cd;
    box-sizing: border-box;
    font: 0.9rem/1.45 Consolas, "Liberation Mono", monospace;
    min-height: 20rem;
    padding: 0.75rem;
    width: 100%;
}

.online-client-status {
    border-left: 4px solid #1f4e79;
    background: #eef4f9;
    font-weight: 600;
    margin: 0.75rem 0;
    padding: 0.5rem 0.75rem;
}

.online-client-status-error {
    background: #fff1f1;
    border-left-color: #b42318;
    color: #681212;
}

#online-swagger-ui {
    background: #ffffff;
    border: 1px solid #d7e1e8;
    margin-top: 1rem;
    min-height: 20rem;
}
