@opensite/ui 2.6.6 → 2.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/article-breadcrumb-social.cjs +7 -28
- package/dist/article-breadcrumb-social.d.cts +5 -1
- package/dist/article-breadcrumb-social.d.ts +5 -1
- package/dist/article-breadcrumb-social.js +7 -27
- package/dist/article-chapters-author.cjs +7 -39
- package/dist/article-chapters-author.d.cts +5 -1
- package/dist/article-chapters-author.d.ts +5 -1
- package/dist/article-chapters-author.js +7 -39
- package/dist/article-compact-toc.cjs +23 -31
- package/dist/article-compact-toc.d.cts +5 -1
- package/dist/article-compact-toc.d.ts +5 -1
- package/dist/article-compact-toc.js +23 -31
- package/dist/article-hero-prose.cjs +1 -1
- package/dist/article-hero-prose.js +1 -1
- package/dist/article-sidebar-sticky.cjs +2 -2
- package/dist/article-sidebar-sticky.js +2 -2
- package/dist/article-split-animated.cjs +9 -28
- package/dist/article-split-animated.d.cts +1 -11
- package/dist/article-split-animated.d.ts +1 -11
- package/dist/article-split-animated.js +9 -28
- package/dist/carousel-portfolio-hero.cjs +1 -1
- package/dist/carousel-portfolio-hero.js +1 -1
- package/dist/registry.cjs +50 -78
- package/dist/registry.js +50 -78
- package/package.json +1 -1
package/dist/registry.cjs
CHANGED
|
@@ -21241,7 +21241,7 @@ function CarouselPortfolioHero({
|
|
|
21241
21241
|
"div",
|
|
21242
21242
|
{
|
|
21243
21243
|
className: cn(
|
|
21244
|
-
"ml-auto flex items-center gap-2",
|
|
21244
|
+
"ml-auto flex items-center gap-2 mt-4 md:mt-8",
|
|
21245
21245
|
navigationClassName
|
|
21246
21246
|
),
|
|
21247
21247
|
children: [
|
|
@@ -37620,7 +37620,7 @@ function ArticleHeroProseComponent({
|
|
|
37620
37620
|
dateFormat = "MMMM d, yyyy",
|
|
37621
37621
|
optixFlowConfig,
|
|
37622
37622
|
background,
|
|
37623
|
-
containerClassName
|
|
37623
|
+
containerClassName,
|
|
37624
37624
|
spacing = "hero",
|
|
37625
37625
|
pattern,
|
|
37626
37626
|
patternOpacity
|
|
@@ -37782,7 +37782,7 @@ function ArticleSidebarStickyComponent({
|
|
|
37782
37782
|
{
|
|
37783
37783
|
href: backHref,
|
|
37784
37784
|
className: cn(
|
|
37785
|
-
"inline-flex items-center gap-2 text-sm
|
|
37785
|
+
"inline-flex items-center gap-2 text-sm",
|
|
37786
37786
|
backLinkClassName
|
|
37787
37787
|
),
|
|
37788
37788
|
children: [
|
|
@@ -37811,7 +37811,7 @@ function ArticleSidebarStickyComponent({
|
|
|
37811
37811
|
children: authorName
|
|
37812
37812
|
}
|
|
37813
37813
|
) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: authorName }),
|
|
37814
|
-
publishDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs
|
|
37814
|
+
publishDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs", children: publishDate })
|
|
37815
37815
|
] })
|
|
37816
37816
|
] });
|
|
37817
37817
|
},
|
|
@@ -38154,7 +38154,8 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
38154
38154
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
38155
38155
|
spacing = "hero",
|
|
38156
38156
|
pattern,
|
|
38157
|
-
patternOpacity
|
|
38157
|
+
patternOpacity,
|
|
38158
|
+
patternClassName
|
|
38158
38159
|
}) {
|
|
38159
38160
|
const [activeSection, setActiveSection] = React30__namespace.useState(
|
|
38160
38161
|
sections?.[0]?.id || ""
|
|
@@ -38221,7 +38222,7 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
38221
38222
|
] }),
|
|
38222
38223
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
38223
38224
|
author.name && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: author.name }),
|
|
38224
|
-
(author.role || publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm
|
|
38225
|
+
(author.role || publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
|
|
38225
38226
|
] })
|
|
38226
38227
|
]
|
|
38227
38228
|
}
|
|
@@ -38265,7 +38266,7 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
38265
38266
|
href: `#${section.id}`,
|
|
38266
38267
|
className: cn(
|
|
38267
38268
|
"block text-sm transition-colors",
|
|
38268
|
-
isActive ? "
|
|
38269
|
+
isActive ? "underline" : ""
|
|
38269
38270
|
),
|
|
38270
38271
|
children: section.title
|
|
38271
38272
|
},
|
|
@@ -38281,7 +38282,8 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
38281
38282
|
spacing,
|
|
38282
38283
|
pattern,
|
|
38283
38284
|
patternOpacity,
|
|
38284
|
-
|
|
38285
|
+
patternClassName,
|
|
38286
|
+
className: cn(pattern && "overflow-visible", className),
|
|
38285
38287
|
containerClassName,
|
|
38286
38288
|
children: [
|
|
38287
38289
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
@@ -38306,7 +38308,6 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
38306
38308
|
}
|
|
38307
38309
|
) : title),
|
|
38308
38310
|
authorContent,
|
|
38309
|
-
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-8" }),
|
|
38310
38311
|
heroMediaContent,
|
|
38311
38312
|
children
|
|
38312
38313
|
]
|
|
@@ -38319,7 +38320,7 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
38319
38320
|
"button",
|
|
38320
38321
|
{
|
|
38321
38322
|
onClick: scrollToTop,
|
|
38322
|
-
className: "fixed bottom-8 right-8 flex h-10 w-10 items-center justify-center rounded-full
|
|
38323
|
+
className: "fixed bottom-8 right-8 flex h-10 w-10 items-center justify-center rounded-full shadow-lg transition-opacity hover:opacity-90",
|
|
38323
38324
|
"aria-label": "Back to top",
|
|
38324
38325
|
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up", size: 20 })
|
|
38325
38326
|
}
|
|
@@ -38361,7 +38362,8 @@ function ArticleCompactTocComponent({
|
|
|
38361
38362
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
38362
38363
|
spacing = "hero",
|
|
38363
38364
|
pattern,
|
|
38364
|
-
patternOpacity
|
|
38365
|
+
patternOpacity,
|
|
38366
|
+
patternClassName
|
|
38365
38367
|
}) {
|
|
38366
38368
|
const [activeSection, setActiveSection] = React30__namespace.useState(
|
|
38367
38369
|
sections?.[0]?.id || ""
|
|
@@ -38402,7 +38404,7 @@ function ArticleCompactTocComponent({
|
|
|
38402
38404
|
if (shareSlot) return shareSlot;
|
|
38403
38405
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
38404
38406
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-6 flex items-center gap-2", shareClassName), children: [
|
|
38405
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm
|
|
38407
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: "Share:" }),
|
|
38406
38408
|
socialLinks.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
38407
38409
|
Pressable,
|
|
38408
38410
|
{
|
|
@@ -38429,7 +38431,7 @@ function ArticleCompactTocComponent({
|
|
|
38429
38431
|
href: `#${section.id}`,
|
|
38430
38432
|
className: cn(
|
|
38431
38433
|
"block text-sm transition-colors",
|
|
38432
|
-
isActive ? "
|
|
38434
|
+
isActive ? "underline" : ""
|
|
38433
38435
|
),
|
|
38434
38436
|
onClick: onLinkClick,
|
|
38435
38437
|
children: section.title
|
|
@@ -38473,23 +38475,14 @@ function ArticleCompactTocComponent({
|
|
|
38473
38475
|
)
|
|
38474
38476
|
] }) });
|
|
38475
38477
|
}, [tocSlot, sections, isTocOpen, tocClassName, renderTocLinks]);
|
|
38478
|
+
const hasDesktopToc = !tocSlot && sections && sections.length > 0;
|
|
38476
38479
|
const desktopTocContent = React30__namespace.useMemo(() => {
|
|
38477
|
-
if (
|
|
38478
|
-
|
|
38479
|
-
|
|
38480
|
-
|
|
38481
|
-
|
|
38482
|
-
|
|
38483
|
-
"hidden lg:block fixed top-24 right-8 w-64 max-h-[calc(100vh-8rem)] overflow-y-auto",
|
|
38484
|
-
tocClassName
|
|
38485
|
-
),
|
|
38486
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "space-y-2 rounded-lg border bg-background p-4", children: [
|
|
38487
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-3 block text-sm font-semibold", children: "Table of Contents" }),
|
|
38488
|
-
renderTocLinks()
|
|
38489
|
-
] })
|
|
38490
|
-
}
|
|
38491
|
-
);
|
|
38492
|
-
}, [tocSlot, sections, tocClassName, renderTocLinks]);
|
|
38480
|
+
if (!hasDesktopToc) return null;
|
|
38481
|
+
return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block w-64 shrink-0", tocClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "sticky top-24 max-h-[calc(100vh-8rem)] overflow-y-auto space-y-2 rounded-lg border p-4", children: [
|
|
38482
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-3 block text-sm font-semibold", children: "Table of Contents" }),
|
|
38483
|
+
renderTocLinks()
|
|
38484
|
+
] }) });
|
|
38485
|
+
}, [hasDesktopToc, tocClassName, renderTocLinks]);
|
|
38493
38486
|
const heroMediaContent = React30__namespace.useMemo(() => {
|
|
38494
38487
|
if (heroMediaSlot) return heroMediaSlot;
|
|
38495
38488
|
if (!heroImageSrc) return null;
|
|
@@ -38512,20 +38505,20 @@ function ArticleCompactTocComponent({
|
|
|
38512
38505
|
heroImageClassName,
|
|
38513
38506
|
optixFlowConfig
|
|
38514
38507
|
]);
|
|
38515
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
38508
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38516
38509
|
Section,
|
|
38517
38510
|
{
|
|
38518
38511
|
background,
|
|
38519
38512
|
spacing,
|
|
38520
38513
|
pattern,
|
|
38521
38514
|
patternOpacity,
|
|
38522
|
-
|
|
38515
|
+
patternClassName,
|
|
38516
|
+
className: cn(pattern && "overflow-visible", className),
|
|
38523
38517
|
containerClassName,
|
|
38524
|
-
children: [
|
|
38525
|
-
|
|
38526
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("
|
|
38527
|
-
|
|
38528
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
38518
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
38519
|
+
breadcrumbsContent,
|
|
38520
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative", hasDesktopToc && "lg:flex lg:gap-8"), children: [
|
|
38521
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(hasDesktopToc && "min-w-0 lg:flex-1"), children: [
|
|
38529
38522
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
38530
38523
|
"h1",
|
|
38531
38524
|
{
|
|
@@ -38540,11 +38533,11 @@ function ArticleCompactTocComponent({
|
|
|
38540
38533
|
"div",
|
|
38541
38534
|
{
|
|
38542
38535
|
className: cn(
|
|
38543
|
-
"mt-4 flex flex-wrap items-center gap-4 text-sm
|
|
38536
|
+
"mt-4 flex flex-wrap items-center gap-4 text-sm",
|
|
38544
38537
|
metaClassName
|
|
38545
38538
|
),
|
|
38546
38539
|
children: [
|
|
38547
|
-
authorName &&
|
|
38540
|
+
authorName && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: authorHref, children: authorName }),
|
|
38548
38541
|
authorName && publishDate && /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "vertical", className: "h-4" }),
|
|
38549
38542
|
publishDate && /* @__PURE__ */ jsxRuntime.jsx("span", { children: publishDate }),
|
|
38550
38543
|
publishDate && readTime && /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "vertical", className: "h-4" }),
|
|
@@ -38553,7 +38546,6 @@ function ArticleCompactTocComponent({
|
|
|
38553
38546
|
}
|
|
38554
38547
|
),
|
|
38555
38548
|
shareContent,
|
|
38556
|
-
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-8" }),
|
|
38557
38549
|
tocContent,
|
|
38558
38550
|
children && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
38559
38551
|
"article",
|
|
@@ -38568,9 +38560,10 @@ function ArticleCompactTocComponent({
|
|
|
38568
38560
|
]
|
|
38569
38561
|
}
|
|
38570
38562
|
)
|
|
38571
|
-
] })
|
|
38563
|
+
] }),
|
|
38564
|
+
desktopTocContent
|
|
38572
38565
|
] })
|
|
38573
|
-
]
|
|
38566
|
+
] })
|
|
38574
38567
|
}
|
|
38575
38568
|
);
|
|
38576
38569
|
}
|
|
@@ -38609,6 +38602,7 @@ function ArticleChaptersAuthorComponent({
|
|
|
38609
38602
|
background,
|
|
38610
38603
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
38611
38604
|
spacing = "hero",
|
|
38605
|
+
patternClassName,
|
|
38612
38606
|
pattern,
|
|
38613
38607
|
patternOpacity
|
|
38614
38608
|
}) {
|
|
@@ -38662,16 +38656,14 @@ function ArticleChaptersAuthorComponent({
|
|
|
38662
38656
|
href: `#${chapter.id}`,
|
|
38663
38657
|
className: cn(
|
|
38664
38658
|
"flex items-center gap-3 text-sm transition-colors",
|
|
38665
|
-
isActive ? "
|
|
38659
|
+
isActive ? "underline" : ""
|
|
38666
38660
|
),
|
|
38667
38661
|
children: [
|
|
38668
38662
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38669
38663
|
"span",
|
|
38670
38664
|
{
|
|
38671
38665
|
className: cn(
|
|
38672
|
-
"flex h-6 w-6 items-center justify-center rounded-full text-xs"
|
|
38673
|
-
getNestedCardBg(background),
|
|
38674
|
-
getNestedCardTextColor(background)
|
|
38666
|
+
"flex h-6 w-6 items-center justify-center rounded-full text-xs"
|
|
38675
38667
|
),
|
|
38676
38668
|
children: chapter.number
|
|
38677
38669
|
}
|
|
@@ -38744,10 +38736,10 @@ function ArticleChaptersAuthorComponent({
|
|
|
38744
38736
|
] }),
|
|
38745
38737
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
38746
38738
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: author.name }),
|
|
38747
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs
|
|
38739
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs", children: author.role })
|
|
38748
38740
|
] })
|
|
38749
38741
|
] }),
|
|
38750
|
-
author.bio && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-sm
|
|
38742
|
+
author.bio && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-sm", children: author.bio }),
|
|
38751
38743
|
socialLinksContent
|
|
38752
38744
|
] });
|
|
38753
38745
|
}, [authorSlot, author, authorClassName]);
|
|
@@ -38782,8 +38774,6 @@ function ArticleChaptersAuthorComponent({
|
|
|
38782
38774
|
{
|
|
38783
38775
|
className: cn(
|
|
38784
38776
|
"mt-12 rounded-lg border p-6 not-prose",
|
|
38785
|
-
getNestedCardBg(background, "subtle"),
|
|
38786
|
-
getNestedCardTextColor(background),
|
|
38787
38777
|
conclusionClassName
|
|
38788
38778
|
),
|
|
38789
38779
|
children: [
|
|
@@ -38830,7 +38820,8 @@ function ArticleChaptersAuthorComponent({
|
|
|
38830
38820
|
spacing,
|
|
38831
38821
|
pattern,
|
|
38832
38822
|
patternOpacity,
|
|
38833
|
-
|
|
38823
|
+
patternClassName,
|
|
38824
|
+
className: cn(pattern && "overflow-visible", className),
|
|
38834
38825
|
containerClassName,
|
|
38835
38826
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
38836
38827
|
breadcrumbsContent,
|
|
@@ -38882,7 +38873,6 @@ function ArticleChaptersAuthorComponent({
|
|
|
38882
38873
|
}
|
|
38883
38874
|
function ArticleSplitAnimatedComponent({
|
|
38884
38875
|
className,
|
|
38885
|
-
containerClassName,
|
|
38886
38876
|
imageContainerClassName,
|
|
38887
38877
|
contentClassName,
|
|
38888
38878
|
titleClassName,
|
|
@@ -38906,25 +38896,16 @@ function ArticleSplitAnimatedComponent({
|
|
|
38906
38896
|
category,
|
|
38907
38897
|
categoryHref,
|
|
38908
38898
|
categorySlot,
|
|
38909
|
-
ctaActions
|
|
38910
|
-
ctaText,
|
|
38911
|
-
ctaHref,
|
|
38899
|
+
ctaActions,
|
|
38912
38900
|
ctaSlot,
|
|
38913
38901
|
enableAnimations = true,
|
|
38914
38902
|
optixFlowConfig,
|
|
38915
38903
|
background,
|
|
38916
|
-
spacing,
|
|
38917
38904
|
pattern,
|
|
38918
|
-
patternOpacity
|
|
38905
|
+
patternOpacity,
|
|
38906
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
38907
|
+
spacing = "lg"
|
|
38919
38908
|
}) {
|
|
38920
|
-
const ctaActions = ctaActionsProp ?? (ctaText ? [
|
|
38921
|
-
{
|
|
38922
|
-
label: ctaText,
|
|
38923
|
-
href: ctaHref || "#",
|
|
38924
|
-
variant: "default",
|
|
38925
|
-
size: "lg"
|
|
38926
|
-
}
|
|
38927
|
-
] : []);
|
|
38928
38909
|
const MotionWrapper = enableAnimations ? framerMotion.motion.div : "div";
|
|
38929
38910
|
const categoryContent = React30__namespace.useMemo(() => {
|
|
38930
38911
|
if (categorySlot) return categorySlot;
|
|
@@ -38934,7 +38915,7 @@ function ArticleSplitAnimatedComponent({
|
|
|
38934
38915
|
{
|
|
38935
38916
|
href: categoryHref,
|
|
38936
38917
|
className: cn(
|
|
38937
|
-
"inline-block rounded-full bg-primary
|
|
38918
|
+
"inline-block rounded-full bg-primary px-3 py-1 text-sm font-medium text-primary-foreground backdrop-blur-sm transition-colors",
|
|
38938
38919
|
categoryClassName
|
|
38939
38920
|
),
|
|
38940
38921
|
children: category
|
|
@@ -38971,7 +38952,7 @@ function ArticleSplitAnimatedComponent({
|
|
|
38971
38952
|
children: authorName
|
|
38972
38953
|
}
|
|
38973
38954
|
) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: authorName }),
|
|
38974
|
-
authorRole && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm
|
|
38955
|
+
authorRole && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm ", children: authorRole })
|
|
38975
38956
|
] })
|
|
38976
38957
|
] });
|
|
38977
38958
|
}, [
|
|
@@ -39056,7 +39037,7 @@ function ArticleSplitAnimatedComponent({
|
|
|
39056
39037
|
"div",
|
|
39057
39038
|
{
|
|
39058
39039
|
className: cn(
|
|
39059
|
-
"flex items-center gap-4 text-sm
|
|
39040
|
+
"flex items-center gap-4 text-sm ",
|
|
39060
39041
|
metaClassName
|
|
39061
39042
|
),
|
|
39062
39043
|
children: [
|
|
@@ -39075,17 +39056,8 @@ function ArticleSplitAnimatedComponent({
|
|
|
39075
39056
|
),
|
|
39076
39057
|
children: title
|
|
39077
39058
|
}
|
|
39078
|
-
) :
|
|
39079
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39080
|
-
"p",
|
|
39081
|
-
{
|
|
39082
|
-
className: cn(
|
|
39083
|
-
"mt-4 text-lg text-muted-foreground",
|
|
39084
|
-
descriptionClassName
|
|
39085
|
-
),
|
|
39086
|
-
children: description
|
|
39087
|
-
}
|
|
39088
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
|
|
39059
|
+
) : title),
|
|
39060
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : description),
|
|
39089
39061
|
authorContent,
|
|
39090
39062
|
ctaContent
|
|
39091
39063
|
]
|