From 9de25fecff3432fe9aff09f416ed921938f863ed Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Mon, 5 Oct 2026 13:53:14 -0400 Subject: [PATCH] feat: refactored docs structure --- AGENTS.md | 29 +- apps/docs/.gitignore | 1 - apps/docs/appendix.ts | 232 -------- apps/docs/blume.config.ts | 152 ----- apps/docs/components.json | 21 - apps/docs/components.ts | 20 - apps/docs/components/BacklinksList.astro | 95 ---- apps/docs/components/Carousel.astro | 170 ------ apps/docs/components/CarouselImage.astro | 45 -- apps/docs/components/ProblemBadges.astro | 134 ----- apps/docs/components/progress/shared.tsx | 67 --- apps/docs/components/ui/card.tsx | 91 --- apps/docs/components/ui/chart.tsx | 372 ------------ apps/docs/components/ui/skeleton.tsx | 13 - apps/docs/components/ui/toggle-group.tsx | 83 --- apps/docs/components/ui/toggle.tsx | 47 -- .../binary-search/meta.ts | 3 - .../(01-linear-structures)/hash-table/meta.ts | 3 - .../content/(01-linear-structures)/meta.ts | 3 - .../monotonic-stack/meta.ts | 3 - .../(01-linear-structures)/prefix-sum/meta.ts | 3 - .../sliding-window/meta.ts | 3 - .../(01-linear-structures)/stack/meta.ts | 3 - .../two-pointers/meta.ts | 3 - .../(02-nodal-grid)/hybrid-structures/meta.ts | 3 - .../(02-nodal-grid)/linked-list/meta.ts | 3 - .../(02-nodal-grid)/matrix-index-math/meta.ts | 3 - apps/docs/content/(02-nodal-grid)/meta.ts | 3 - .../binary-search-tree/meta.ts | 3 - .../heap-priority-queue/meta.ts | 3 - apps/docs/content/(03-hierarchical)/meta.ts | 3 - .../(03-hierarchical)/tree-bfs/meta.ts | 3 - .../(03-hierarchical)/tree-dfs/meta.ts | 3 - .../content/(03-hierarchical)/trie/meta.ts | 3 - .../content/(04-relational)/graph-bfs/meta.ts | 3 - .../content/(04-relational)/graph-dfs/meta.ts | 3 - apps/docs/content/(04-relational)/meta.ts | 3 - .../(04-relational)/topological-sort/meta.ts | 3 - .../(04-relational)/union-find/meta.ts | 3 - .../1d-dynamic-programming/meta.ts | 3 - .../(05-decision-space)/backtracking/meta.ts | 3 - .../(05-decision-space)/greedy/meta.ts | 3 - .../(05-decision-space)/intervals/meta.ts | 3 - apps/docs/content/(05-decision-space)/meta.ts | 3 - .../multi-d-grid-dp/meta.ts | 3 - apps/docs/islands/DependencySpine.tsx | 381 ------------- apps/docs/islands/RecentSolves.tsx | 81 --- apps/docs/islands/SolvedRing.tsx | 145 ----- apps/docs/islands/SubmissionChart.tsx | 222 -------- apps/docs/islands/SubmissionHeatmap.tsx | 165 ------ apps/docs/islands/TopicBubbles.tsx | 139 ----- apps/docs/lib/env.d.ts | 14 - apps/docs/lib/releases.ts | 91 --- apps/docs/lib/stats.ts | 90 --- apps/docs/lib/tag-colors.ts | 129 ----- apps/docs/lib/utils.ts | 7 - apps/docs/package.json | 28 - apps/docs/pages/appendix.astro | 293 ---------- apps/docs/pages/changelog.astro | 120 ---- apps/docs/public/binary_search.001.png | Bin 32411 -> 0 bytes apps/docs/public/binary_search.002.png | Bin 36982 -> 0 bytes apps/docs/public/binary_search.003.png | Bin 46257 -> 0 bytes apps/docs/public/binary_search.004.png | Bin 34256 -> 0 bytes apps/docs/public/binary_search.005.png | Bin 38316 -> 0 bytes apps/docs/public/binary_search.006.png | Bin 48093 -> 0 bytes apps/docs/public/binary_search.007.png | Bin 33133 -> 0 bytes apps/docs/public/binary_search.008.png | Bin 43575 -> 0 bytes apps/docs/public/hash-table-operations.svg | 48 -- apps/docs/public/icon.png | Bin 50825 -> 0 bytes apps/docs/public/intervals_merge-formula.svg | 29 - .../public/intervals_overlap-condition.svg | 28 - .../docs/public/intervals_overlap-formula.svg | 28 - apps/docs/public/logo.svg | 17 - apps/docs/public/prefix-sum_1.png | Bin 43723 -> 0 bytes .../docs/public/sliding-window-fixed-size.svg | 66 --- apps/docs/public/sliding-window-flexible.svg | 66 --- apps/docs/public/sliding-window-frequency.svg | 54 -- apps/docs/public/topo_intro_1.png | Bin 65516 -> 0 bytes apps/docs/public/topo_intro_2.png | Bin 88739 -> 0 bytes apps/docs/public/topo_kahn.001.png | Bin 72072 -> 0 bytes apps/docs/public/topo_kahn.002.png | Bin 82313 -> 0 bytes apps/docs/public/topo_kahn.003.png | Bin 76262 -> 0 bytes apps/docs/public/topo_kahn.004.png | Bin 69612 -> 0 bytes apps/docs/public/topo_kahn.005.png | Bin 71017 -> 0 bytes apps/docs/public/topo_kahn.006.png | Bin 63872 -> 0 bytes apps/docs/public/topo_kahn.007.png | Bin 65299 -> 0 bytes apps/docs/public/topo_kahn.009.png | Bin 57795 -> 0 bytes apps/docs/public/topo_kahn.010.png | Bin 49082 -> 0 bytes apps/docs/redirects.ts | 95 ---- apps/docs/theme.css | 71 --- apps/docs/topic-landings.ts | 69 --- apps/docs/tsconfig.json | 21 - ...3_find-minimum-in-rotated-sorted-array.mdx | 0 .../(problems)/162_find-peak-element.mdx | 0 .../33_search-in-rotated-sorted-array.mdx | 0 ...st-position-of-element-in-sorted-array.mdx | 0 .../(problems)/35_search-insert-position.mdx | 0 .../(problems)/704_binary-search.mdx | 0 .../(problems)/74_search-a-2d-matrix.mdx | 0 .../(problems)/875_koko-eating-bananas.mdx | 0 .../binary-search/index.mdx | 16 +- .../128_longest-consecutive-sequence.mdx | 0 .../1832_check-if-the-sentence-is-pangram.mdx | 0 .../hash-table/(problems)/1_two-sum.mdx | 0 .../(problems)/205_isomorphic-strings.mdx | 0 .../(problems)/217_contains-duplicate.mdx | 0 .../(problems)/242_valid-anagram.mdx | 0 .../(problems)/290_word-pattern.mdx | 0 .../347_top-k-frequent-elements.mdx | 0 ...387_first-unique-character-in-a-string.mdx | 0 .../451_sort-characters-by-frequency.mdx | 0 .../(problems)/49_group-anagrams.mdx | 0 .../hash-table/index.mdx | 2 +- .../(problems)/739_daily-temperatures.mdx | 0 .../(problems)/853_car-fleet.mdx | 0 .../monotonic-stack/index.mdx | 0 .../238_product-of-array-except-self.mdx | 0 .../303_range-sum-query-immutable.mdx | 0 .../(problems)/525_contiguous-array.mdx | 0 .../(problems)/560_subarray-sum-equals-k.mdx | 0 .../974_subarray-sums-divisible-by-k.mdx | 0 .../prefix-sum/index.mdx | 2 +- .../1004_max-consecutive-ones-iii.mdx | 0 .../121_best-time-to-buy-and-sell-stock.mdx | 0 .../209_minimum-size-subarray-sum.mdx | 0 ...substring-without-repeating-characters.mdx | 0 ...ongest-repeating-character-replacement.mdx | 0 .../(problems)/567_permutation-in-string.mdx | 0 .../643_maximum-average-subarray-i.mdx | 0 .../sliding-window/index.mdx | 6 +- .../150_evaluate-reverse-polish-notation.mdx | 0 .../stack/(problems)/155_min-stack.mdx | 0 .../stack/(problems)/20_valid-parentheses.mdx | 0 .../stack/(problems)/71_simplify-path.mdx | 62 ++ .../(01-linear-structures)/stack/index.mdx | 0 .../11_container-with-most-water.mdx | 0 .../(problems)/125_valid-palindrome.mdx | 0 .../two-pointers/(problems)/15_3sum.mdx | 0 .../167_two-sum-ii-input-array-is-sorted.mdx | 0 .../(problems)/189_rotate-array.mdx | 0 .../(problems)/344_reverse-string.mdx | 0 .../(problems)/392_is-subsequence.mdx | 0 .../(problems)/42_trapping-rain-water.mdx | 0 .../977_squares-of-a-sorted-array.mdx | 0 .../two-pointers/index.mdx | 0 .../(problems)/146_lru-cache.mdx | 0 .../(problems)/2_add-two-numbers.mdx | 0 .../hybrid-structures/index.mdx | 0 .../(problems)/141_linked-list-cycle.mdx | 0 .../(problems)/206_reverse-linked-list.mdx | 0 .../(problems)/21_merge-two-sorted-lists.mdx | 0 .../(02-nodal-grid)/linked-list/index.mdx | 0 .../(problems)/48_rotate-image.mdx | 0 .../(problems)/54_spiral-matrix.mdx | 0 .../(problems)/73_set-matrix-zeroes.mdx | 0 .../matrix-index-math/index.mdx | 0 .../230_kth-smallest-element-in-a-bst.mdx | 0 ...ommon-ancestor-of-a-binary-search-tree.mdx | 0 .../98_validate-binary-search-tree.mdx | 0 .../binary-search-tree/index.mdx | 0 .../215_kth-largest-element-in-an-array.mdx | 0 .../(problems)/23_merge-k-sorted-lists.mdx | 0 .../973_k-closest-points-to-origin.mdx | 0 .../heap-priority-queue/index.mdx | 0 .../102_binary-tree-level-order-traversal.mdx | 0 .../1448_count-good-nodes-in-binary-tree.mdx | 0 .../199_binary-tree-right-side-view.mdx | 0 .../(03-hierarchical)/tree-bfs/index.mdx | 0 .../104_maximum-depth-of-binary-tree.mdx | 0 .../(problems)/226_invert-binary-tree.mdx | 0 ...owest-common-ancestor-of-a-binary-tree.mdx | 0 .../(03-hierarchical)/tree-dfs/index.mdx | 0 .../208_implement-trie-prefix-tree.mdx | 0 ...gn-add-and-search-words-data-structure.mdx | 0 .../(03-hierarchical)/trie/index.mdx | 0 .../graph-bfs/(problems)/127_word-ladder.mdx | 0 .../(problems)/994_rotting-oranges.mdx | 0 .../(04-relational)/graph-bfs/index.mdx | 0 .../graph-dfs/(problems)/133_clone-graph.mdx | 0 .../(problems)/200_number-of-islands.mdx | 0 .../417_pacific-atlantic-water-flow.mdx | 0 .../(04-relational)/graph-dfs/index.mdx | 0 .../(problems)/207_course-schedule.mdx | 0 .../(problems)/210_course-schedule-ii.mdx | 0 .../topological-sort/index.mdx | 22 +- ...cted-components-in-an-undirected-graph.mdx | 0 .../(problems)/684_redundant-connection.mdx | 0 .../(04-relational)/union-find/index.mdx | 0 .../(problems)/198_house-robber.mdx | 0 .../(problems)/322_coin-change.mdx | 0 .../(problems)/70_climbing-stairs.mdx | 0 .../1d-dynamic-programming/index.mdx | 0 .../(problems)/39_combination-sum.mdx | 0 .../(problems)/46_permutations.mdx | 0 .../backtracking/(problems)/78_subsets.mdx | 0 .../backtracking/index.mdx | 0 .../greedy/(problems)/134_gas-station.mdx | 0 .../greedy/(problems)/53_maximum-subarray.mdx | 0 .../greedy/(problems)/55_jump-game.mdx | 0 .../(05-decision-space)/greedy/index.mdx | 0 .../435_non-overlapping-intervals.mdx | 0 .../(problems)/56_merge-intervals.mdx | 0 .../(problems)/57_insert-interval.mdx | 0 .../(05-decision-space)/intervals/index.mdx | 6 +- .../1143_longest-common-subsequence.mdx | 0 .../(problems)/62_unique-paths.mdx | 0 .../(problems)/64_minimum-path-sum.mdx | 0 .../multi-d-grid-dp/index.mdx | 0 {apps/docs/content => docs}/index.mdx | 0 {apps/docs/content => docs}/keywords.mdx | 0 {apps/docs/content => docs}/progress.mdx | 0 docs/site.json | 538 ++++++++++++++++++ 212 files changed, 641 insertions(+), 4169 deletions(-) delete mode 100644 apps/docs/.gitignore delete mode 100644 apps/docs/appendix.ts delete mode 100644 apps/docs/blume.config.ts delete mode 100644 apps/docs/components.json delete mode 100644 apps/docs/components.ts delete mode 100644 apps/docs/components/BacklinksList.astro delete mode 100644 apps/docs/components/Carousel.astro delete mode 100644 apps/docs/components/CarouselImage.astro delete mode 100644 apps/docs/components/ProblemBadges.astro delete mode 100644 apps/docs/components/progress/shared.tsx delete mode 100644 apps/docs/components/ui/card.tsx delete mode 100644 apps/docs/components/ui/chart.tsx delete mode 100644 apps/docs/components/ui/skeleton.tsx delete mode 100644 apps/docs/components/ui/toggle-group.tsx delete mode 100644 apps/docs/components/ui/toggle.tsx delete mode 100644 apps/docs/content/(01-linear-structures)/binary-search/meta.ts delete mode 100644 apps/docs/content/(01-linear-structures)/hash-table/meta.ts delete mode 100644 apps/docs/content/(01-linear-structures)/meta.ts delete mode 100644 apps/docs/content/(01-linear-structures)/monotonic-stack/meta.ts delete mode 100644 apps/docs/content/(01-linear-structures)/prefix-sum/meta.ts delete mode 100644 apps/docs/content/(01-linear-structures)/sliding-window/meta.ts delete mode 100644 apps/docs/content/(01-linear-structures)/stack/meta.ts delete mode 100644 apps/docs/content/(01-linear-structures)/two-pointers/meta.ts delete mode 100644 apps/docs/content/(02-nodal-grid)/hybrid-structures/meta.ts delete mode 100644 apps/docs/content/(02-nodal-grid)/linked-list/meta.ts delete mode 100644 apps/docs/content/(02-nodal-grid)/matrix-index-math/meta.ts delete mode 100644 apps/docs/content/(02-nodal-grid)/meta.ts delete mode 100644 apps/docs/content/(03-hierarchical)/binary-search-tree/meta.ts delete mode 100644 apps/docs/content/(03-hierarchical)/heap-priority-queue/meta.ts delete mode 100644 apps/docs/content/(03-hierarchical)/meta.ts delete mode 100644 apps/docs/content/(03-hierarchical)/tree-bfs/meta.ts delete mode 100644 apps/docs/content/(03-hierarchical)/tree-dfs/meta.ts delete mode 100644 apps/docs/content/(03-hierarchical)/trie/meta.ts delete mode 100644 apps/docs/content/(04-relational)/graph-bfs/meta.ts delete mode 100644 apps/docs/content/(04-relational)/graph-dfs/meta.ts delete mode 100644 apps/docs/content/(04-relational)/meta.ts delete mode 100644 apps/docs/content/(04-relational)/topological-sort/meta.ts delete mode 100644 apps/docs/content/(04-relational)/union-find/meta.ts delete mode 100644 apps/docs/content/(05-decision-space)/1d-dynamic-programming/meta.ts delete mode 100644 apps/docs/content/(05-decision-space)/backtracking/meta.ts delete mode 100644 apps/docs/content/(05-decision-space)/greedy/meta.ts delete mode 100644 apps/docs/content/(05-decision-space)/intervals/meta.ts delete mode 100644 apps/docs/content/(05-decision-space)/meta.ts delete mode 100644 apps/docs/content/(05-decision-space)/multi-d-grid-dp/meta.ts delete mode 100644 apps/docs/islands/DependencySpine.tsx delete mode 100644 apps/docs/islands/RecentSolves.tsx delete mode 100644 apps/docs/islands/SolvedRing.tsx delete mode 100644 apps/docs/islands/SubmissionChart.tsx delete mode 100644 apps/docs/islands/SubmissionHeatmap.tsx delete mode 100644 apps/docs/islands/TopicBubbles.tsx delete mode 100644 apps/docs/lib/env.d.ts delete mode 100644 apps/docs/lib/releases.ts delete mode 100644 apps/docs/lib/stats.ts delete mode 100644 apps/docs/lib/tag-colors.ts delete mode 100644 apps/docs/lib/utils.ts delete mode 100644 apps/docs/package.json delete mode 100644 apps/docs/pages/appendix.astro delete mode 100644 apps/docs/pages/changelog.astro delete mode 100644 apps/docs/public/binary_search.001.png delete mode 100644 apps/docs/public/binary_search.002.png delete mode 100644 apps/docs/public/binary_search.003.png delete mode 100644 apps/docs/public/binary_search.004.png delete mode 100644 apps/docs/public/binary_search.005.png delete mode 100644 apps/docs/public/binary_search.006.png delete mode 100644 apps/docs/public/binary_search.007.png delete mode 100644 apps/docs/public/binary_search.008.png delete mode 100644 apps/docs/public/hash-table-operations.svg delete mode 100644 apps/docs/public/icon.png delete mode 100644 apps/docs/public/intervals_merge-formula.svg delete mode 100644 apps/docs/public/intervals_overlap-condition.svg delete mode 100644 apps/docs/public/intervals_overlap-formula.svg delete mode 100644 apps/docs/public/logo.svg delete mode 100644 apps/docs/public/prefix-sum_1.png delete mode 100644 apps/docs/public/sliding-window-fixed-size.svg delete mode 100644 apps/docs/public/sliding-window-flexible.svg delete mode 100644 apps/docs/public/sliding-window-frequency.svg delete mode 100644 apps/docs/public/topo_intro_1.png delete mode 100644 apps/docs/public/topo_intro_2.png delete mode 100644 apps/docs/public/topo_kahn.001.png delete mode 100644 apps/docs/public/topo_kahn.002.png delete mode 100644 apps/docs/public/topo_kahn.003.png delete mode 100644 apps/docs/public/topo_kahn.004.png delete mode 100644 apps/docs/public/topo_kahn.005.png delete mode 100644 apps/docs/public/topo_kahn.006.png delete mode 100644 apps/docs/public/topo_kahn.007.png delete mode 100644 apps/docs/public/topo_kahn.009.png delete mode 100644 apps/docs/public/topo_kahn.010.png delete mode 100644 apps/docs/redirects.ts delete mode 100644 apps/docs/theme.css delete mode 100644 apps/docs/topic-landings.ts delete mode 100644 apps/docs/tsconfig.json rename {apps/docs/content => docs}/(01-linear-structures)/binary-search/(problems)/153_find-minimum-in-rotated-sorted-array.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/binary-search/(problems)/162_find-peak-element.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/binary-search/(problems)/33_search-in-rotated-sorted-array.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/binary-search/(problems)/34_find-first-and-last-position-of-element-in-sorted-array.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/binary-search/(problems)/35_search-insert-position.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/binary-search/(problems)/704_binary-search.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/binary-search/(problems)/74_search-a-2d-matrix.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/binary-search/(problems)/875_koko-eating-bananas.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/binary-search/index.mdx (90%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/128_longest-consecutive-sequence.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/1832_check-if-the-sentence-is-pangram.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/1_two-sum.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/205_isomorphic-strings.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/217_contains-duplicate.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/242_valid-anagram.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/290_word-pattern.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/347_top-k-frequent-elements.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/387_first-unique-character-in-a-string.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/451_sort-characters-by-frequency.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/(problems)/49_group-anagrams.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/hash-table/index.mdx (97%) rename {apps/docs/content => docs}/(01-linear-structures)/monotonic-stack/(problems)/739_daily-temperatures.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/monotonic-stack/(problems)/853_car-fleet.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/monotonic-stack/index.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/prefix-sum/(problems)/238_product-of-array-except-self.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/prefix-sum/(problems)/303_range-sum-query-immutable.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/prefix-sum/(problems)/525_contiguous-array.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/prefix-sum/(problems)/560_subarray-sum-equals-k.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/prefix-sum/(problems)/974_subarray-sums-divisible-by-k.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/prefix-sum/index.mdx (98%) rename {apps/docs/content => docs}/(01-linear-structures)/sliding-window/(problems)/1004_max-consecutive-ones-iii.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/sliding-window/(problems)/121_best-time-to-buy-and-sell-stock.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/sliding-window/(problems)/209_minimum-size-subarray-sum.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/sliding-window/(problems)/3_longest-substring-without-repeating-characters.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/sliding-window/(problems)/424_longest-repeating-character-replacement.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/sliding-window/(problems)/567_permutation-in-string.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/sliding-window/(problems)/643_maximum-average-subarray-i.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/sliding-window/index.mdx (97%) rename {apps/docs/content => docs}/(01-linear-structures)/stack/(problems)/150_evaluate-reverse-polish-notation.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/stack/(problems)/155_min-stack.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/stack/(problems)/20_valid-parentheses.mdx (100%) create mode 100644 docs/(01-linear-structures)/stack/(problems)/71_simplify-path.mdx rename {apps/docs/content => docs}/(01-linear-structures)/stack/index.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/(problems)/11_container-with-most-water.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/(problems)/125_valid-palindrome.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/(problems)/15_3sum.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/(problems)/167_two-sum-ii-input-array-is-sorted.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/(problems)/189_rotate-array.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/(problems)/344_reverse-string.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/(problems)/392_is-subsequence.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/(problems)/42_trapping-rain-water.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/(problems)/977_squares-of-a-sorted-array.mdx (100%) rename {apps/docs/content => docs}/(01-linear-structures)/two-pointers/index.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/hybrid-structures/(problems)/146_lru-cache.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/hybrid-structures/(problems)/2_add-two-numbers.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/hybrid-structures/index.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/linked-list/(problems)/141_linked-list-cycle.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/linked-list/(problems)/206_reverse-linked-list.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/linked-list/(problems)/21_merge-two-sorted-lists.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/linked-list/index.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/matrix-index-math/(problems)/48_rotate-image.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/matrix-index-math/(problems)/54_spiral-matrix.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/matrix-index-math/(problems)/73_set-matrix-zeroes.mdx (100%) rename {apps/docs/content => docs}/(02-nodal-grid)/matrix-index-math/index.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/binary-search-tree/(problems)/230_kth-smallest-element-in-a-bst.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/binary-search-tree/(problems)/235_lowest-common-ancestor-of-a-binary-search-tree.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/binary-search-tree/(problems)/98_validate-binary-search-tree.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/binary-search-tree/index.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/heap-priority-queue/(problems)/215_kth-largest-element-in-an-array.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/heap-priority-queue/(problems)/23_merge-k-sorted-lists.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/heap-priority-queue/(problems)/973_k-closest-points-to-origin.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/heap-priority-queue/index.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/tree-bfs/(problems)/102_binary-tree-level-order-traversal.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/tree-bfs/(problems)/1448_count-good-nodes-in-binary-tree.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/tree-bfs/(problems)/199_binary-tree-right-side-view.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/tree-bfs/index.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/tree-dfs/(problems)/104_maximum-depth-of-binary-tree.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/tree-dfs/(problems)/226_invert-binary-tree.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/tree-dfs/(problems)/236_lowest-common-ancestor-of-a-binary-tree.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/tree-dfs/index.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/trie/(problems)/208_implement-trie-prefix-tree.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/trie/(problems)/211_design-add-and-search-words-data-structure.mdx (100%) rename {apps/docs/content => docs}/(03-hierarchical)/trie/index.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/graph-bfs/(problems)/127_word-ladder.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/graph-bfs/(problems)/994_rotting-oranges.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/graph-bfs/index.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/graph-dfs/(problems)/133_clone-graph.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/graph-dfs/(problems)/200_number-of-islands.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/graph-dfs/(problems)/417_pacific-atlantic-water-flow.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/graph-dfs/index.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/topological-sort/(problems)/207_course-schedule.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/topological-sort/(problems)/210_course-schedule-ii.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/topological-sort/index.mdx (86%) rename {apps/docs/content => docs}/(04-relational)/union-find/(problems)/323_number-of-connected-components-in-an-undirected-graph.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/union-find/(problems)/684_redundant-connection.mdx (100%) rename {apps/docs/content => docs}/(04-relational)/union-find/index.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/1d-dynamic-programming/(problems)/198_house-robber.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/1d-dynamic-programming/(problems)/322_coin-change.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/1d-dynamic-programming/(problems)/70_climbing-stairs.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/1d-dynamic-programming/index.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/backtracking/(problems)/39_combination-sum.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/backtracking/(problems)/46_permutations.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/backtracking/(problems)/78_subsets.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/backtracking/index.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/greedy/(problems)/134_gas-station.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/greedy/(problems)/53_maximum-subarray.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/greedy/(problems)/55_jump-game.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/greedy/index.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/intervals/(problems)/435_non-overlapping-intervals.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/intervals/(problems)/56_merge-intervals.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/intervals/(problems)/57_insert-interval.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/intervals/index.mdx (97%) rename {apps/docs/content => docs}/(05-decision-space)/multi-d-grid-dp/(problems)/1143_longest-common-subsequence.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/multi-d-grid-dp/(problems)/62_unique-paths.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/multi-d-grid-dp/(problems)/64_minimum-path-sum.mdx (100%) rename {apps/docs/content => docs}/(05-decision-space)/multi-d-grid-dp/index.mdx (100%) rename {apps/docs/content => docs}/index.mdx (100%) rename {apps/docs/content => docs}/keywords.mdx (100%) rename {apps/docs/content => docs}/progress.mdx (100%) create mode 100644 docs/site.json diff --git a/AGENTS.md b/AGENTS.md index 4258f3e..61bcef2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,7 @@ ## Project Overview -LeetCode interview-prep campaign (2026-08-17 → Nov 3: eight weeks of topics, then the Review-issue phase; the end is the last date in `apps/api/data/schedule.json` — `CAMPAIGN_END`/`CAMPAIGN_DAYS` in `apps/api/src/srs.ts` are derived from it, never declared) run as a repo: solution files under `work/`, a Blume docs site under `apps/docs/`, GitHub Actions that reconcile issues and publish docs, and a Cloudflare Worker (`apps/api/`) that runs the spaced-repetition system (SRS) — daily digest email, one-tap logging, weekly review issues, live charts. Issues model the curriculum: ~24 `topic` issues (`Topic NN — Name`) own ~161 `problem` sub-issues titled `LC · `, with difficulty and set carried **only** by labels (`set:core|optional|deferred`, `diff:*`) — never by the title; milestones are phases; a user-level GitHub Project ("Interview Prep", #2) mirrors review state. +LeetCode interview-prep campaign (2026-08-17 → Nov 3: eight weeks of topics, then the Review-issue phase; the end is the last date in `apps/api/data/schedule.json` — `CAMPAIGN_END`/`CAMPAIGN_DAYS` in `apps/api/src/srs.ts` are derived from it, never declared) run as a repo: solution files under `work/`, the docs content under `docs/` (MDX only — the Blume site that publishes it lives in [prdlk/cs](https://github.com/prdlk/cs) and reads `docs/` over HTTP), GitHub Actions that reconcile issues, and a Cloudflare Worker (`apps/api/`) that runs the spaced-repetition system (SRS) — daily digest email, one-tap logging, weekly review issues, live charts. Issues model the curriculum: ~24 `topic` issues (`Topic NN — Name`) own ~161 `problem` sub-issues titled `LC · `, with difficulty and set carried **only** by labels (`set:core|optional|deferred`, `diff:*`) — never by the title; milestones are phases; a user-level GitHub Project ("Interview Prep", #2) mirrors review state. ## Architecture & Data Flow @@ -10,7 +10,8 @@ Three owners, one direction of truth: ```mermaid flowchart LR - work[work/ solutions] -->|bun run sync| docs[apps/docs/content/*.mdx] + work[work/ solutions] -->|bun run sync| docs[docs/*.mdx + docs/site.json] + docs -->|mdxRemote + site.json fetch| Site[prdlk/cs docs site] work -->|close-solved.yml| PI[problem issues] work -->|close-solved.yml POST /admin/solved| D1[(D1 = SRS state)] PI -->|close-topics.yml| TI[topic + Review N issues] @@ -38,7 +39,7 @@ flowchart LR - **Determinism = idempotency.** Drill/gate sampling uses a seeded PRNG (`rng()` in `apps/api/src/srs.ts`, FNV-1a → mulberry32, seed = date / ISO week); the digest is keyed by ET date in `email_log`; one-tap links are unique on (problem, date, kind). - **DST-proof crons:** each event has two UTC crons; code fires only on the computed ET hour (`etHour`), unit-checked in `apps/api/src/srs.test.ts`. - **Chained workflows:** `GITHUB_TOKEN`-driven issue closes fire no `issues` events, so `close-topics.yml` chains off `workflow_run` of Close Solved instead. The Worker's webhook uses its own `GH_PAT`, so its events flow normally. -- **One "finished topic" rule, two consumers.** `apps/cli/topics.ts` (`coreSet()`: every `set:core` sub-issue closed, zero core = never) is read by `close-topics.ts` (closes the topic issue) and `release-topics.ts` (the `release` job of `close-solved.yml`). The release reads the sub-issues, not the topic issue, so the push that finishes a topic releases it in the same run instead of waiting for Close Topics to chain after it. Version = [timever](https://gist.github.com/twolfson/de1b004dd22536b8e668) (`YYYYMMDD.HHMMSS.NNNNNNNNN`, UTC) of the instant the last core problem closed; the tag is annotated and backdated to that instant, on the last first-parent main commit before it; the body is a changelog snapshot at that instant (a one-sentence summary first, then the problems closed on the finish day / earlier, with solution links at the tag — problems still open at the finish are left out). A release is found by its `` body marker, never by tag name, so re-closing a core problem never mints a second one; an existing release keeps its tag and has its name (the topic title) and body rewritten whenever the render changes. The docs `/changelog` is ONE custom page, `apps/docs/pages/changelog.astro` (a NeonUI-style timeline: date left, a card per release right, no per-release subpages, so nothing of it enters the sidebar or prev/next), linked from the header by `navigation.actions` (not a tab). `apps/docs/lib/releases.ts` fetches the releases at build (`GITHUB_TOKEN` in `deploy.yml`; a failed fetch fails the build), dates each by its timever tag, not `published_at` (which the API cannot backdate), tags it `Topic` or `Review` from the release name, and lists the rows of its `### Closed …` tables — so the tag format and that table shape are the page's contract with `render()`. There is no changelog RSS feed. +- **One "finished topic" rule, two consumers.** `apps/cli/topics.ts` (`coreSet()`: every `set:core` sub-issue closed, zero core = never) is read by `close-topics.ts` (closes the topic issue) and `release-topics.ts` (the `release` job of `close-solved.yml`). The release reads the sub-issues, not the topic issue, so the push that finishes a topic releases it in the same run instead of waiting for Close Topics to chain after it. Version = [timever](https://gist.github.com/twolfson/de1b004dd22536b8e668) (`YYYYMMDD.HHMMSS.NNNNNNNNN`, UTC) of the instant the last core problem closed; the tag is annotated and backdated to that instant, on the last first-parent main commit before it; the body is a changelog snapshot at that instant (a one-sentence summary first, then the problems closed on the finish day / earlier, with solution links at the tag — problems still open at the finish are left out). A release is found by its `` body marker, never by tag name, so re-closing a core problem never mints a second one; an existing release keeps its tag and has its name (the topic title) and body rewritten whenever the render changes. The docs site's `/changelog` (prdlk/cs `pages/changelog.astro` + `lib/releases.ts`) fetches this repo's releases at its build, dates each by its timever tag, not `published_at` (which the API cannot backdate), tags it `Topic` or `Review` from the release name, and lists the rows of its `### Closed …` tables — so the tag format and that table shape are its cross-repo contract with `render()`. - **Review issues re-parent problems; topics still own them.** The transfer phase's 20 `Review — ` issues (label `review`, milestone `Review — Transfer & Mocks`; not the Worker's `Review — Week N` gate issues) hold open optional/deferred problems as sub-issues in solve order, moved there with `replace_parent`. `apps/api/src/reviews.ts` is the ONE recovery of ownership — `readReviews()` (one GraphQL request per 50 `review` issues, cheap enough for the Worker's cron subrequest budget) reads each moved problem's topic off its last `parent_issue_removed` event naming a topic, `movedFromTopics()` groups them — shared by the Worker's catalog reconcile (a moved problem's D1 row keeps syncing its labels and `topic_issue`) and `apps/cli/topics.ts` (`readProblems()` returns a topic's sub-issues plus its moved problems, so the finished rule and existing release bodies do not change when a problem moves). A Review issue finishes by `completion()` in `topics.ts` — every sub-issue closed, any set — which `close-topics.ts` closes it on and `release-topics.ts` releases it on, exactly like a topic: timever of the last close, same `` marker (issue numbers never collide), body fields from the review's `**Scheduled:**`/`**Phase:**`/`**Load:**` lines. - **Review days are plan days.** `schedule.json` books each Review issue on its own date — Mon/Tue/Thu/Fri only, Oct 1 → Nov 3 — as `review: { issue, title, problems }` (solve order). The digest renders it as a linked "Today's review" section with the issue's day rules (`REVIEW_RULES` in `email.tsx`, one sentence for HTML and text), its problems join `RESERVED` so drills and sampled gates never draw them early, and `gate: []` skips a Saturday's checkpoint (Oct 3). The issue's sub-issues stay the truth: the catalog reconcile compares every booked review's title and problem list with GitHub and returns any mismatch as `reviewDrift` (also logged), so a re-arranged Review issue shows up the next sync instead of silently disagreeing with the email. Move a review by editing its `schedule.json` date AND the issue's `**Scheduled:**` line (the release body reads it). @@ -48,10 +49,10 @@ flowchart LR |---|---| | `work/<1\|3\|7>///..{js,py}` | Solutions, e.g. `work/1/Easy/Array/1.two-sum.py`. The top directory is the spaced-repetition bucket: `1` = first solve, `3`/`7` = the blind re-solves of that problem 3 and 7 days later. Machine-parsed header comment (title / `Difficulty:` / URL / `─` rule / statement) — preserve its exact shape | | `apps/cli/` | Flat Bun TS workspace: automation entries (shebang + top-level await) and libraries (no shebang, side-effect-free on import). Root `bun run` scripts delegate here | -| `apps/docs/` | Blume site (`blume.config.ts`, `content/`, `pages/`, `components/` + `components.ts`, `islands/`, `public/`). `content/(0N-)//(problems)/_.mdx` plus one `meta.ts` per phase and per topic folder, all generated by sync (a phase's once, then hand-owned): the phase folder is a `(group)` (sidebar section, no route segment), the topic folder is the README campaign topic slug (`tree-dfs/`, `heap-priority-queue/`) and a real route segment, and `(problems)` is a second `(group)` inside it, so `tree-dfs/(problems)/226_invert-binary-tree.mdx` routes to `/tree-dfs/invert-binary-tree` (Blume sorts by the `_` prefix and strips it from the route). The `meta.ts` files carry the exact labels, phase/topic numbers and icons so the sidebar reads in curriculum order; every topic meta is `display: "page"`, so a topic is one sidebar row whose panel holds its landing page and a "Problems" section. A problem page's badge row (between the description and the body) is rendered, not written: the MDX `wrapper` (`components/ProblemBadges.astro`, registered as `mdx.wrapper` in `components.ts` — Blume's page template renders the title and description itself with no slot before the body, so the wrapper, which MDX hands no route, reads it off `Astro.url`) reads the page's `topics:` (LeetCode's topic tags, from sync) and `video:` (NeetCode YouTube id, from `bun run videos`) frontmatter — both declared via `frontmatter.extend` in `blume.config.ts`, hand-rolled Standard Schemas, no zod — and links a tag the campaign teaches to its topic landing page (filled), any other tag to its card on the Appendix glossary `/appendix#` (outlined; LeetCode's problem list if the tag has no term, gray and iconless), and the video as a red `Explanation` badge. Every badge in the row is a pill. A tag badge carries the icon its target shows (a landing's: the topic `meta.ts` icon read off `data.navigation`; an Appendix term's: its `icon` in `appendix.ts`) and the tag's own colour from `lib/tag-colors.ts` — unique per tag site-wide, assigned greedily over every tag with a landing or a term so tags that share problem pages sit furthest apart in OKLab, in a lightness band that keeps ≥ 3:1 contrast in both themes (Blume's Badge takes one hex for both). The reverse direction is the `PageFooter` slot (`components/BacklinksList.astro`): an Obsidian-style ` ` list under every topic landing page of the problems whose badges link there, plus a topic's own folder members (so a topic no tag names, `hybrid-structures`, still lists its problems), in a native `
` open on load whose top-right chevron collapses it (no JS); problem pages are recognised by their `. ` title and render no list. Which tags the campaign teaches is ONE map, `apps/docs/topic-landings.ts` (tag slug → landing routes), and where a badge points is ONE function beside it, `tagTarget()` — read by both components and the Appendix page (so badges, backlinks and term cards cannot disagree) and the map by sync. Every other tag a problem carries is ONE hand-written table, `apps/docs/appendix.ts` (`APPENDIX`: slug → `{ name, icon, category, definition }`), rendered by ONE custom page, `pages/appendix.astro` — a glossary with an A–Z letter index and a filter box (an `` custom element over static markup; no JS, the full list), one card per term (icon tinted the tag's colour, category, definition, LeetCode list link, and a `
` "Solved" list of the problem pages whose badge `tagTarget()` sends there, paged `PAGE_SIZE` (5) rows at a time by numbered buttons under it — a `` custom element; without JS every row shows and the buttons stay hidden), each card `id`'d by slug and highlighted as `:target`. It is no content folder, so it enters neither the sidebar tree nor prev/next: `navigation.featured` pins it above the tree. Sync writes nothing for it — it warns about a carried tag with no term, a term whose tag a topic now teaches (delete it), and a term `icon` that is a `TOPIC_ICONS` value or another term's. The former per-term pages `/appendix/` are exact redirects to `/appendix#` in `blume.config.ts`, generated from `APPENDIX`'s keys. A hand-written `(0N-)//index.mdx` (`hidden: true`) is that topic's landing page: Blume ≥ 1.7.3 links the sidebar group row to it (`sliding-window/index.mdx` → `/sliding-window`) and the hidden flag drops the duplicate row. Two kinds of custom MDX component, both import-free on every page: `islands/.tsx` is hydrated React (auto-discovered; the five `/progress` cards `SolvedRing`/`SubmissionHeatmap`/`SubmissionChart`/`TopicBubbles`/`RecentSolves`, and `DependencySpine` — the README topic map as data, zoom/pan, nodes link to whatever route Blume's `/api/docs/navigation.json` reports for the topic folder, inert until a topic has pages), `components/.astro` registered in `components.ts` is static markup plus a custom element for behaviour, the way Blume's own `Frame` is built (`Carousel`/`CarouselImage`: `src` takes a URL, `/file.png`, or the page-relative `../../public/file.png`) | +| `docs/` | The docs content, and nothing of the site: no `blume.config.ts`, no `meta.ts`, no components. prdlk/cs publishes it with Blume's `mdxRemote()` source, which fetches `.md`/`.mdx` files only. `docs/(0N-)//(problems)/_.mdx` is generated by sync; `(0N-)//index.mdx` (`hidden: true`) is a topic's hand-written landing page, and `index.mdx`/`keywords.mdx`/`progress.mdx` sit at the root. The phase folder is a `(group)` (sidebar section, no route segment), the topic folder is the README campaign topic slug (`tree-dfs/`, `heap-priority-queue/`) and a real route segment, and `(problems)` is a second `(group)` inside it, so `tree-dfs/(problems)/226_invert-binary-tree.mdx` routes to `/tree-dfs/invert-binary-tree` (Blume sorts by the `_` prefix and strips it from the route). `docs/site.json` is sync's generated manifest and the site's ONE other input: `folders` (path under `docs/` → `{ title, order, icon?, display? }`, exactly what a `meta.ts` in that folder would say — every topic `display: "page"`, so it is one sidebar row whose panel holds its landing page and a "Problems" section) and `redirects` (the `/` short links). Images are root-absolute (`![](/topo_intro_1.png)`, ``) and served from the site's `public/` — a page-relative path cannot resolve once the MDX is fetched over HTTP. Frontmatter keys beyond Blume's (`topics:`, `video:`, `issue:`) and the MDX components pages use (``, ``/``, the islands) are the site's to declare — add a new one there before a page uses it | | `apps/api/` | Cloudflare Worker workspace: `src/` modules, `data/schedule.json` (the plan: `date → { topics | problems | review | gate | sweep }`, human-edited, bundled at deploy), `migrations/` (append-only; `0002` is the +3/+7 ladder rebuild) | -| `.github/workflows/` | deploy (docs → Pages with `GITHUB_TOKEN` for the releases-backed changelog, Worker → Cloudflare with the `OPENROUTER_API_KEY` Actions secret put into it first, on every main push), close-solved (issues + `/admin/solved` + Project `Set`/`Difficulty`, needs `SRS_ADMIN_KEY` and `PROJECT_PAT`; then the `release` job: timever tag + release per finished topic, `contents: write`), close-topics, sync-d1 (issue edits → `/admin/reconcile`), spaced-repetition (daily 06:00 ET cron → today's review issue; `GITHUB_TOKEN` only, no secrets) | -| `.githooks/` | Tracked git hooks; `bun install` points `core.hooksPath` here (root `prepare` script, no husky). `pre-commit` runs `bun run sync` and stages only what sync changed (pages, `apps/docs/redirects.ts`), so a solution, its page and its `/` short link land in one commit; it refuses to run while `work/1` has anything unstaged (sync reads the tree, so the page would not match the commit), and leaves pre-existing dirt under `apps/docs/content` (in-progress `## Approach` prose) unstaged. `git commit --no-verify` for a deliberate partial commit | +| `.github/workflows/` | deploy (Worker → Cloudflare with the `OPENROUTER_API_KEY` Actions secret put into it first, on every main push; the docs site deploys from prdlk/cs), close-solved (issues + `/admin/solved` + Project `Set`/`Difficulty`, needs `SRS_ADMIN_KEY` and `PROJECT_PAT`; then the `release` job: timever tag + release per finished topic, `contents: write`), close-topics, sync-d1 (issue edits → `/admin/reconcile`), spaced-repetition (daily 06:00 ET cron → today's review issue; `GITHUB_TOKEN` only, no secrets) | +| `.githooks/` | `bun install` points `core.hooksPath` here (root `prepare` script, no husky). Its `pre-commit` hook (run `bun run sync`, stage only what sync changed — pages and `docs/site.json`) was removed in `e63d517`, so nothing runs on commit today: run `bun run sync` yourself before committing a solution, or its page and short link ship a commit later | ## Development Commands @@ -71,12 +72,11 @@ bun run test # run ONE solution against LeetCode's judge (not a test # most recently tested first, stamped in the db on exit 0) bun run submit # submit ONE solution to LeetCode (newest scaffold first, nothing # hidden; last_submitted stamped in the db on exit 0) -bun run sync # work/1 → apps/docs/content/ pages + apps/docs/redirects.ts (/ short +bun run sync # work/1 → docs/ pages + docs/site.json (folder meta + / short # links; re-solves are never published) bun run videos # docs pages with no `video:` frontmatter → NeetCode video per page # (channel search scraped, no API key; --write adds the # `video:` key; "no NeetCode match" pages stay untouched) -bun run dev|build # Blume docs site (runs in apps/docs/) bun run close-solved -- --dry-run # issue reconcilers (also DRY_RUN=1) bun run close-topics -- --dry-run bun run release-topics -- --dry-run # prints every would-be topic release body @@ -113,21 +113,20 @@ curl -X POST -H "Authorization: Bearer $LINK_KEY" \ - `apps/api/src/ask.ts` — `POST /ask`, the docs assistant's backend. Blume's own assistant route is server-rendered and cannot ship in the static Pages build (`BLUME_SERVER_FEATURE_REQUIRED`), so `blume.config.ts` sets `ai.assistant.endpoint` to this route instead of a `provider`. It speaks the Blume island's wire contract (`{ messages, page: { path } }` in, a plain-text stream out, a 503 "The assistant is not configured…" when the key is missing), validates like Blume's generated route (1–40 user/assistant messages, 24 000 chars, 64 KB — no caller system prompt), grounds on the published `llms-full.txt` (current page first, then keyword-ranked excerpts in Blume's 6 × 2 000 / 10 000-char budget, cached 5 min), and streams OpenRouter's chat completions over plain `fetch` — no AI SDK — for the `ASK_MODEL` var. `:free` models share an upstream pool and often answer 429, which the island shows as its rate-limit notice. - `apps/api/src/digest.ts` / `apps/api/src/email.tsx` — the daily digest, split data/presentation. `digest.ts` reads D1 into a `DigestData`; `email.tsx` owns every colour and every sentence, and renders both the HTML and (via its own `plainDigest`, not React Email's `plainText` mode, which flattens the tables) the text alternative. The retrieval rules hold by construction: `DigestRow` has no title and no issue field, so a review or drill line *cannot* leak the topic or a solution link. Subject is `(Day N/) LeetCode Daily Digest` — 79 with the plan ending Nov 3; booking a later day in `schedule.json` lengthens it, and the heatmaps and `/api/stats` `heat` with it. - `apps/api/src/png.ts` — hand-rolled PNG encoder (RGB8, one IDAT, zlib via `CompressionStream("deflate")`, CRC32, 5×7 bitmap font). It exists because every major email client refuses remote SVG, so `/chart/heatmap.png` rasters the heatmap for the digest while `/chart/heatmap.svg` keeps serving the README byte-for-byte. Both come from one `heatmapCells()` so the two pictures cannot drift. -- `apps/cli/sync.ts` — work→docs contract: on existing pages only the frontmatter `icon:` and the `## Solution` section are regenerated, and `topics:` (LeetCode's `topicTags` as `{ name, slug }`, fetched by GraphQL) and `issue:` (the URL of the problem's `problem`-labelled GitHub issue, `LC · …`, listed via `github()` — rendered as the neutral `Issue #N` badge after `Explanation`) are filled once — on create, or on any run that finds them missing — never refreshed (delete a key to refetch; offline or without `gh` auth, the page is written without it and the next sync retries; a sync with nothing missing makes no request). Only a problem the README plan lists gets `issue:` — an unplanned warm-up has no catalog issue, so it is never looked up. `## Solution` is the latter bounded by `solutionEnd()` at the next unfenced top-level heading; human prose before it and any sections after it are never touched. Never hand-write solution pages or edit inside `## Solution`. Two classifications, two homes: the sidebar group is the README topic (`readmeTopics()`, first listing wins for a problem under two topics; a warm-up outside the plan groups under its category at `order: 0`, ahead of topic 1) and the `work/1///` category, which only places an unplanned problem — the page's topic badges are LeetCode's tags, not either classification. Topics nest under their README phase (`## Phase N — Name` headings, shortened via `PHASE_ALIASES`): `content/(0N-)//`, with every problem page in the topic's `(problems)/` group as `_.mdx` (a page is found by its frontmatter title, wherever it sits, so a layout change is one sync of `rename`s). The topic `meta.ts` is script-owned and rewritten every run (label, curriculum order, `TOPIC_ICONS` icon, `display: "page"`); the phase `meta.ts` is written once when missing (`Phase N: Name`, `order: N`) and hand-owned after — rename its title freely. Never rewriting it loses nothing: its order and name are also the folder name, so a README change to either lands in a new folder with a fresh meta. The phase folder is a Blume `(group)` — no route segment, so `/tree-dfs` is unchanged and a landing page there is one level deep, never at `/` — and the topic folder is the real segment; never put a topic `index.mdx` directly inside a `(group)`. A page is `rename`d when its topic or phase changes; a folder every page has left is deleted (climbing through an emptied `(problems)` and topic into an emptied phase folder) unless it still holds a hand-written `index.mdx` (sync never writes, moves, or deletes one — so page-relative asset paths in a moved landing page are yours to fix). Slugs come from `slugify()`, which glues a leading number to the next token (`1d-dynamic-programming`) because Blume strips `-` prefixes from routes. The hand-owned parts have their own owners: `## Approach` (a Mermaid flowchart tracing the page's code, placed *before* `## Solution` so a re-sync keeps it) is written per the `problem-approach` skill (`/problem-approach` fills every page missing one); the frontmatter `video:` (the NeetCode walkthrough, rendered as the red `Explanation` badge) is added by `bun run videos --write` (`apps/cli/videos.ts`). +- `apps/cli/sync.ts` — work→docs contract: on existing pages only the frontmatter `icon:` and the `## Solution` section are regenerated, and `topics:` (LeetCode's `topicTags` as `{ name, slug }`, fetched by GraphQL) and `issue:` (the URL of the problem's `problem`-labelled GitHub issue, `LC · …`, listed via `github()` — rendered as the neutral `Issue #N` badge after `Explanation`) are filled once — on create, or on any run that finds them missing — never refreshed (delete a key to refetch; offline or without `gh` auth, the page is written without it and the next sync retries; a sync with nothing missing makes no request). Only a problem the README plan lists gets `issue:` — an unplanned warm-up has no catalog issue, so it is never looked up. `## Solution` is the latter bounded by `solutionEnd()` at the next unfenced top-level heading; human prose before it and any sections after it are never touched. Never hand-write solution pages or edit inside `## Solution`. Two classifications, two homes: the sidebar group is the README topic (`readmeTopics()`, first listing wins for a problem under two topics; a warm-up outside the plan groups under its category at `order: 0`, ahead of topic 1) and the `work/1///` category, which only places an unplanned problem — the page's topic badges are LeetCode's tags, not either classification. Topics nest under their README phase (`## Phase N — Name` headings, shortened via `PHASE_ALIASES`): `docs/(0N-)//`, with every problem page in the topic's `(problems)/` group as `_.mdx` (a page is found by its frontmatter title, wherever it sits, so a layout change is one sync of `rename`s). `docs/site.json` is wholly script-owned and rewritten whenever it differs, because `mdxRemote()` reads no `meta.ts`: its `folders` are what a `meta.ts` per phase and topic folder would carry — a phase `N. Name` at `order: N`, a topic its exact label, curriculum order, `TOPIC_ICONS` icon and `display: "page"` — all derived from the README, so a rename there is a rename on the site; its `redirects` are the `/` → `//` short links. Which tags the site teaches as topics (`topic-landings.ts`) and its Appendix glossary (`appendix.ts`) are the site's, in prdlk/cs: sync no longer checks them. The phase folder is a Blume `(group)` — no route segment, so `/tree-dfs` is unchanged and a landing page there is one level deep, never at `/` — and the topic folder is the real segment; never put a topic `index.mdx` directly inside a `(group)`. A page is `rename`d when its topic or phase changes; a folder every page has left is deleted (climbing through an emptied `(problems)` and topic into an emptied phase folder) unless it still holds a hand-written `index.mdx` (sync never writes, moves, or deletes one). Slugs come from `slugify()`, which glues a leading number to the next token (`1d-dynamic-programming`) because Blume strips `-` prefixes from routes. The hand-owned parts have their own owners: `## Approach` (a Mermaid flowchart tracing the page's code, placed *before* `## Solution` so a re-sync keeps it) is written per the `problem-approach` skill (`/problem-approach` fills every page missing one); the frontmatter `video:` (the NeetCode walkthrough, rendered as the red `Explanation` badge) is added by `bun run videos --write` (`apps/cli/videos.ts`). - `apps/cli/work.ts` — the `work/` layout: bucket paths, `isSolution()`/`solvedInBucket()` (the stub test, shared with `close-solved.ts`), `firstSolved()` (one `git log`, ET dates, keyed by LC number so past layout moves don't matter), and `reviewQueues()` (what each window still owes). Everything that needs to know where a solution file lives, or when it was solved, goes through here. -- `apps/api/src/stats.ts` / `apps/cli/stats.ts` / `apps/cli/tui.ts` / `apps/cli/api.ts` / `apps/docs/lib/stats.ts` — the read side. `buildStats()` is the ONE aggregation: phases, ladder, difficulty, `attempting` (open misses, via `MISS_WHERE` in `srs.ts` — the sweep day's definition), per-topic temperature, gates, the 14-day due queue, `heat` (every campaign day, zeros and future days included — the TUI windows its tail rather than asking a second question), `recent` (the ten problems most recently solved, dated by each one's first pass) and `year` (the 365 days ending today — always the calendar year to date — each split by difficulty into attempts and first solves; the docs cards window and bucket it themselves). Two readers consume it, the docs `/progress` islands and `bun run stats`, so its shape is their contract: change the Worker and both readers together (additive fields a reader ignores are safe). `tui.ts` is hand-rolled ANSI (bars, sparklines, heat cells, alternate screen) on charts.ts's palette, and every chart differs by GLYPH as well as by colour so a piped or `NO_COLOR` dashboard still reads. The TUI recomputes nothing: the only local fact it shows is the `work/` solution count, which is inventory, not schedule. -- `README.md` live charts are Worker endpoints (`/chart/*.svg`, `/badge/gate.svg`, 5-min Camo cache). The docs `/progress` page is five LeetCode-style islands — `SolvedRing` (difficulty gauge + "Attempting"), `SubmissionHeatmap` and `SubmissionChart` sharing one row (the heatmap: the last six months in month blocks, the README's colour ramp as theme.css `--heat-0..4`, its attempts / active days / max streak counted from the cells it draws; the chart: this calendar year as stacked Easy/Med./Hard bars per month or week, first solves or every attempt, via two shadcn `ToggleGroup`s), `TopicBubbles` (the campaign topics circle-packed by `d3-hierarchy`, filled by solved share), `RecentSolves` (the ten most recent, linked through `redirects.ts`) — composed from shadcn/ui (`components/ui/{card,chart,skeleton,toggle,toggle-group}.tsx`, Recharts under `chart`, Radix under the toggles) on Blume's tokens: `apps/docs/theme.css` maps shadcn's names onto `--blume-*` (never `accent`, which is Blume's brand colour — vendored components that use it, like `toggle.tsx`, are retokened to `background`/`muted`) and gives shadcn's `data-slot` parts their border colour. They share `lib/stats.ts` (`useStats()`), so the page makes ONE `/api/stats` request however many islands hydrate. shadcn sources live outside `islands/` (every `.tsx` there becomes an island) and import `lib/utils` relatively; `components.json` + `tsconfig.json` exist for the shadcn CLI and `tsc`, so after `shadcn add` rewrite `@/…` imports to relative ones (house style) — and check `package.json`: the CLI has twice installed an unrelated `cn` package for `lib/utils` and skipped real deps (`class-variance-authority`). Blume turns every tsconfig `paths` target into a Vite alias AND a dev dep-scan glob (`/**/*.astro`…), so `paths` maps only `@/components`, `@/lib`, `@/hooks` — each bare and `/*`, since `components.json` names the bare forms — never `@/*` → `./*`: that glob reaches through `node_modules/blume`, where Vite's scanner reads a ` diff --git a/apps/docs/components/CarouselImage.astro b/apps/docs/components/CarouselImage.astro deleted file mode 100644 index 883d946..0000000 --- a/apps/docs/components/CarouselImage.astro +++ /dev/null @@ -1,45 +0,0 @@ ---- -/** - * One slide of a : Blume's own around an , so a slide - * is pixel-identical to a framed image elsewhere on the site — `alt` doubles - * as the frame's hint line and `caption` is Markdown, exactly as in Frame. - * - * `src` accepts what MDX authors already write for images: a URL, a - * root-relative `/file.png` (served from public/, prefixed with the deploy - * base), or the page-relative `../../public/file.png` form. A relative path - * that does not pass through public/ has nothing to serve it, so it is a - * build error rather than a silent 404. - */ -import Frame from "blume/components/content/Frame.astro"; -import { withBase } from "blume/components/islands/base-path.ts"; - -interface Props { - src: string; - alt?: string; - caption?: string; -} - -const { src, alt, caption } = Astro.props; - -const resolveSrc = (value: string): string => { - if (URL.canParse(value)) return value; - if (value.startsWith("/")) return withBase(value); - const at = value.indexOf("public/"); - if (at === -1) { - throw new Error( - `: a relative src must point into public/ (or use /file.png)` - ); - } - return withBase(`/${value.slice(at + "public/".length)}`); -}; ---- - - - - {alt - - diff --git a/apps/docs/components/ProblemBadges.astro b/apps/docs/components/ProblemBadges.astro deleted file mode 100644 index 0790f7d..0000000 --- a/apps/docs/components/ProblemBadges.astro +++ /dev/null @@ -1,134 +0,0 @@ ---- -/** - * The MDX `wrapper`: the badge row between a page's description and its body. - * Blume's page template renders the title and description itself and then - * the MDX content, with no slot in between, so wrapping the content is the - * only way to land right after the description. MDX hands a wrapper no - * route, so it is read off the URL, and the page's frontmatter is then - * looked up through the route manifest — the same `getEntry` call Blume's own - * page template makes. Pages with none of the keys below (landing pages, the - * changelog) render only their content. - * - * - `topics:` (problem pages, written by `apps/cli/sync.ts`) is LeetCode's own - * topic tags. A tag the campaign teaches (`topic-landings.ts`) links to that - * topic's landing page and is filled; any other tag links to its card on the - * Appendix glossary, `/appendix#` (`appendix.ts`), and is outlined. - * `tagTarget()` picks the route (and between two landings, e.g. DFS); the - * `PageFooter` backlinks list and the Appendix page read the same answer. - * Each tag badge is a pill carrying the icon its target shows (a topic's - * `meta.ts` icon in the sidebar, a term's `icon` on its card) and the tag's - * own colour (`lib/tag-colors.ts`), assigned over every tag the site has a - * page or card for — no two tags share one, and tags that share problem - * pages are spread furthest apart. A tag with neither (the LeetCode-list - * fallback) stays gray and iconless. - * - `video:` (problem pages, written by `apps/cli/videos.ts`) is the NeetCode - * walkthrough's YouTube id, the red "Explanation" badge. - * - `issue:` (problem pages, written by sync) is the problem's GitHub issue - * URL, a neutral "Issue #N" badge with the GitHub mark, right after - * "Explanation" at the end of the row. - */ -import { getEntry } from "astro:content"; -import data from "blume:data"; -import Badge from "blume/components/content/Badge.astro"; -import { stripBase, withBase } from "blume/components/islands/base-path.ts"; -import { APPENDIX } from "../appendix.ts"; -import { tagColors } from "../lib/tag-colors.ts"; -import { TOPIC_LANDINGS, tagTarget, type TopicTag } from "../topic-landings.ts"; - -// `/sub/tree-dfs/invert-binary-tree/` (or `.../index.html` in a static build) -// -> `/tree-dfs/invert-binary-tree`, the base-less shape of `data.routes`. -const route = - stripBase(import.meta.env.BASE_URL ?? "/", Astro.url.pathname) - .replace(/(\/index)?\.html$/u, "") - .replace(/(.)\/+$/u, "$1"); -const at = data.routes.find((r: { path: string }) => r.path === route); -const entry = at ? await getEntry(at.collection, at.entryId) : undefined; -const tags: TopicTag[] = entry?.data.topics ?? []; -const video: string | undefined = entry?.data.video; -const issue: string | undefined = entry?.data.issue; - -const served = new Set(data.routes.map((r: { path: string }) => r.path)); - -// route → the icon its sidebar row shows: a page's own, or a topic group's -// (from its `meta.ts`) for the landing page the group row links to. -interface NavNode { - route?: string; - icon?: string; - children?: NavNode[]; -} -const icons = new Map(); -const walk = (nodes: NavNode[]) => { - for (const node of nodes) { - if (node.route && node.icon && !icons.has(node.route)) icons.set(node.route, node.icon); - if (node.children) walk(node.children); - } -}; -walk(data.navigation.sidebar); - -// Every tag with a landing or an Appendix card, coloured against how problem -// pages (`. ` titles, the shape sync writes) combine them. Only a -// page with tags needs the answer. -const colors = tags.length - ? tagColors( - [...Object.keys(TOPIC_LANDINGS), ...Object.keys(APPENDIX)], - await Promise.all( - data.routes - .filter((r: { title: string }) => /^\d+\.\s/u.test(r.title)) - .map(async (r: { collection: string; entryId: string }) => { - const page = await getEntry(r.collection, r.entryId); - return (page?.data.topics ?? []).map((t: TopicTag) => t.slug); - }), - ), - ) - : new Map(); - -const badges = tags.map((tag) => { - const target = tagTarget(tag, { route, tags }, served); - const external = target.kind === "external"; - return { - name: tag.name, - href: external ? target.href : withBase(target.href), - external, - icon: target.kind === "appendix" ? APPENDIX[tag.slug]?.icon : external ? undefined : icons.get(target.href), - color: external ? undefined : colors.get(tag.slug), - stroke: target.kind !== "landing", - }; -}); - -const linkClass = "no-underline transition-opacity hover:opacity-80"; ---- - -{ - (badges.length > 0 || video || issue) && ( -
- {badges.map((b) => ( - - - {b.name} - - - ))} - {video && ( - - - Explanation - - - )} - {issue && ( - - - Issue #{issue.slice(issue.lastIndexOf("/") + 1)} - - - )} -
- ) -} - - diff --git a/apps/docs/components/progress/shared.tsx b/apps/docs/components/progress/shared.tsx deleted file mode 100644 index b412d2b..0000000 --- a/apps/docs/components/progress/shared.tsx +++ /dev/null @@ -1,67 +0,0 @@ -/** - * What the four progress islands share besides the data: the not-ready body - * (a skeleton while /api/stats loads, one muted line if it fails) and the - * hover tooltip for the two charts drawn as plain SVG (the heatmap calendar - * and the topic bubbles — Recharts has neither layout). The tooltip wears the - * exact classes of shadcn's ChartTooltipContent, so all four cards' tooltips - * look like one component. - */ -import { type PointerEvent, type ReactNode, useRef, useState } from "react"; -import { cn } from "../../lib/utils"; -import type { Load } from "../../lib/stats"; -import { Skeleton } from "../ui/skeleton"; - -export function StatsPending({ load, className }: { load: Exclude; className: string }) { - if (load.phase === "loading") return ; - return ( -

- Stats unavailable — they are served live from the SRS Worker, and it did not respond. -

- ); -} - -interface Tip { - x: number; - y: number; - content: ReactNode; -} - -/** - * A pointer-following tooltip for SVG marks. Put `ref` on a `relative` - * wrapper, call `show` from a mark's pointer events, render `tip` inside the - * wrapper. Positions are relative to the wrapper, so page scroll never skews it. - */ -export function useHoverTip() { - const ref = useRef(null); - const [tip, setTip] = useState(null); - const show = (event: PointerEvent, content: ReactNode) => { - const box = ref.current?.getBoundingClientRect(); - if (box) setTip({ x: event.clientX - box.left, y: event.clientY - box.top, content }); - }; - const hide = () => setTip(null); - const node = tip && ( -
- {tip.content} -
- ); - return { ref, show, hide, node }; -} - -/** One tooltip row, the shape ChartTooltipContent draws: colour dot, label, mono value. */ -export function TipRow({ color, label, value }: { color: string; label: ReactNode; value: ReactNode }) { - return ( -
-
-
- {label} - {value} -
-
- ); -} diff --git a/apps/docs/components/ui/card.tsx b/apps/docs/components/ui/card.tsx deleted file mode 100644 index c2909e0..0000000 --- a/apps/docs/components/ui/card.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import * as React from "react" -import { cn } from "../../lib/utils" - -function Card({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) -} - -function CardHeader({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) -} - -function CardTitle({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) -} - -function CardDescription({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) -} - -function CardAction({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) -} - -function CardContent({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) -} - -function CardFooter({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) -} - -export { - Card, - CardHeader, - CardFooter, - CardTitle, - CardAction, - CardDescription, - CardContent, -} diff --git a/apps/docs/components/ui/chart.tsx b/apps/docs/components/ui/chart.tsx deleted file mode 100644 index e834ffb..0000000 --- a/apps/docs/components/ui/chart.tsx +++ /dev/null @@ -1,372 +0,0 @@ -import * as React from "react" -import { cn } from "../../lib/utils" -import * as RechartsPrimitive from "recharts" -import type { TooltipValueType } from "recharts" - -// Format: { THEME_NAME: CSS_SELECTOR }. Blume switches dark mode with -// [data-theme="dark"] on , not shadcn's .dark class. -const THEMES = { light: "", dark: ':root[data-theme="dark"]' } as const - -const INITIAL_DIMENSION = { width: 320, height: 200 } as const -type TooltipNameType = number | string - -export type ChartConfig = Record< - string, - { - label?: React.ReactNode - icon?: React.ComponentType - } & ( - | { color?: string; theme?: never } - | { color?: never; theme: Record } - ) -> - -type ChartContextProps = { - config: ChartConfig -} - -const ChartContext = React.createContext(null) - -function useChart() { - const context = React.useContext(ChartContext) - - if (!context) { - throw new Error("useChart must be used within a ") - } - - return context -} - -function ChartContainer({ - id, - className, - children, - config, - initialDimension = INITIAL_DIMENSION, - ...props -}: React.ComponentProps<"div"> & { - config: ChartConfig - children: React.ComponentProps< - typeof RechartsPrimitive.ResponsiveContainer - >["children"] - initialDimension?: { - width: number - height: number - } -}) { - const uniqueId = React.useId() - const chartId = `chart-${id ?? uniqueId.replace(/:/g, "")}` - - return ( - -
- - - {children} - -
-
- ) -} - -const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => { - const colorConfig = Object.entries(config).filter( - ([, config]) => config.theme ?? config.color - ) - - if (!colorConfig.length) { - return null - } - - return ( - - - ); -} diff --git a/apps/docs/islands/RecentSolves.tsx b/apps/docs/islands/RecentSolves.tsx deleted file mode 100644 index c449cf9..0000000 --- a/apps/docs/islands/RecentSolves.tsx +++ /dev/null @@ -1,81 +0,0 @@ -/** - * The ten most recently solved problems — LeetCode's "Recent AC" list. Each - * row is dated by the problem's first pass (an ET calendar date: the Worker - * logs days, not times), read relative to today in ET with the full date on - * hover. A row links to the problem's docs page when one exists: the - * sync-generated short links (`redirects.ts`) are exactly the pages built. - */ -import { StatsPending } from "../components/progress/shared"; -import { Card, CardContent, CardHeader, CardTitle } from "../components/ui/card"; -import { useStats, utcDate } from "../lib/stats"; -import redirects from "../redirects"; - -export const client = "load"; - -const PAGES = new Map(redirects.map((r) => [r.from, r.to])); - -const ET_TODAY = new Intl.DateTimeFormat("en-CA", { timeZone: "America/New_York" }); -const RELATIVE = new Intl.RelativeTimeFormat("en", { numeric: "auto" }); -const FULL = new Intl.DateTimeFormat("en-US", { dateStyle: "medium", timeZone: "UTC" }); -const DAY_MS = 86_400_000; - -export default function RecentSolves() { - const load = useStats(); - - if (load.phase !== "ready") { - return ( - - - Recently solved - - - - - - ); - } - - const today = utcDate(ET_TODAY.format(new Date())).getTime(); - - return ( - - - Recently solved - - - {load.stats.recent.length === 0 ? ( -

Nothing solved yet.

- ) : ( -
    - {load.stats.recent.map((p) => { - const date = utcDate(p.date); - const page = PAGES.get(`/${p.lc}`); - const name = ( - <> - {p.lc}. {p.title} - - ); - return ( -
  1. - {page ? ( - - {name} - - ) : ( - {name} - )} - -
  2. - ); - })} -
- )} -
-
- ); -} diff --git a/apps/docs/islands/SolvedRing.tsx b/apps/docs/islands/SolvedRing.tsx deleted file mode 100644 index e04000b..0000000 --- a/apps/docs/islands/SolvedRing.tsx +++ /dev/null @@ -1,145 +0,0 @@ -/** - * Solved-by-difficulty ring — LeetCode's profile gauge. A 270° arc split into - * one segment per difficulty, each sized by that difficulty's share of the - * catalog; the faint track is the whole set, the solid arc the solved part. - * The centre reads the total, or one difficulty while its segment (or its - * stat box) is hovered. "Attempting" is the open-miss count: problems whose - * latest attempt failed. - */ -import { useState } from "react"; -import { Pie, PieChart } from "recharts"; -import { StatsPending } from "../components/progress/shared"; -import { Card, CardContent } from "../components/ui/card"; -import { type ChartConfig, ChartContainer } from "../components/ui/chart"; -import { DIFFICULTIES, type Difficulty, useStats } from "../lib/stats"; -import { cn } from "../lib/utils"; - -export const client = "load"; - -const chartConfig = { - easy: { label: "Easy", color: "var(--chart-1)" }, - medium: { label: "Med.", color: "var(--chart-2)" }, - hard: { label: "Hard", color: "var(--chart-3)" }, -} satisfies ChartConfig; - -// Static class names, so Tailwind's scanner sees every one (the chart's -// --color-* variables exist only inside ChartContainer). -const DIFFICULTY_TEXT: Record = { - easy: "text-chart-1", - medium: "text-chart-2", - hard: "text-chart-3", -}; - -// The gauge opens at the bottom: from 225° (lower left) clockwise to -45° -// (lower right), in Recharts' counter-clockwise-from-3-o'clock degrees. -const START = 225; -const SWEEP = 270; -const GAP = 8; - -export default function SolvedRing() { - const load = useStats(); - const [focus, setFocus] = useState(null); - - if (load.phase !== "ready") { - return ( - - - - - - ); - } - - const rows = DIFFICULTIES.map( - (difficulty) => load.stats.difficulty.find((d) => d.difficulty === difficulty) ?? { difficulty, total: 0, done: 0 }, - ); - const total = rows.reduce((n, r) => n + r.total, 0); - const done = rows.reduce((n, r) => n + r.done, 0); - const span = SWEEP - GAP * (rows.length - 1); - - const segments: ((typeof rows)[number] & { from: number; to: number; solvedTo: number })[] = []; - let cursor = START; - for (const r of rows) { - const size = total > 0 ? (span * r.total) / total : 0; - const solved = r.total > 0 ? size * (r.done / r.total) : 0; - segments.push({ ...r, from: cursor, to: cursor - size, solvedTo: cursor - solved }); - cursor -= size + GAP; - } - - const focused = focus ? rows.find((r) => r.difficulty === focus) : undefined; - const arc = { innerRadius: "80%", outerRadius: "88%", cornerRadius: 99, stroke: "none", dataKey: "value" } as const; - - return ( - - -
- - - {segments.map((s) => ( - setFocus(s.difficulty)} - onMouseLeave={() => setFocus(null)} - /> - ))} - {segments - .filter((s) => s.done > 0) - .map((s) => ( - setFocus(s.difficulty)} - onMouseLeave={() => setFocus(null)} - /> - ))} - - -
-
- {focused ? focused.done : done} - /{focused ? focused.total : total} -
- - {focused ? chartConfig[focused.difficulty].label : "Solved"} - -
-
- {load.stats.attempting} Attempting -
-
-
- {rows.map((r) => ( -
setFocus(r.difficulty)} - onPointerLeave={() => setFocus(null)} - > - - {chartConfig[r.difficulty].label} - - - {r.done}/{r.total} - -
- ))} -
-
-
- ); -} diff --git a/apps/docs/islands/SubmissionChart.tsx b/apps/docs/islands/SubmissionChart.tsx deleted file mode 100644 index d247ed0..0000000 --- a/apps/docs/islands/SubmissionChart.tsx +++ /dev/null @@ -1,222 +0,0 @@ -/** - * This calendar year by difficulty — LeetCode's solved/submissions bar chart, - * sharing its row with the heatmap. Stacked Easy / Med. / Hard bars per month - * or per week (Monday-start, like the heatmap rows); "Solved" counts each - * problem once, on its first-pass date (the date `recent` uses), while - * "Submissions" counts every logged attempt. The totals under the chart are - * the year's, in the selected mode. Buckets are cut from `year`, which always - * covers January 1 to today. - */ -import { useState } from "react"; -import { Bar, BarChart, CartesianGrid, XAxis, YAxis } from "recharts"; -import { StatsPending } from "../components/progress/shared"; -import { Card, CardAction, CardContent, CardFooter, CardHeader } from "../components/ui/card"; -import { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from "../components/ui/chart"; -import { ToggleGroup, ToggleGroupItem } from "../components/ui/toggle-group"; -import { DIFFICULTIES, type Day, type Difficulty, useStats, utcDate } from "../lib/stats"; - -export const client = "load"; - -const chartConfig = { - easy: { label: "Easy", color: "var(--chart-1)" }, - medium: { label: "Med.", color: "var(--chart-2)" }, - hard: { label: "Hard", color: "var(--chart-3)" }, -} satisfies ChartConfig; - -// Static class names, so Tailwind's scanner sees every one. -const DIFFICULTY_TEXT: Record = { - easy: "text-chart-1", - medium: "text-chart-2", - hard: "text-chart-3", -}; - -type Mode = "solved" | "attempts"; -type Grain = "month" | "week"; - -const DAY_MS = 86_400_000; -const MONTH = new Intl.DateTimeFormat("en-US", { month: "short", timeZone: "UTC" }); -const MONTH_YEAR = new Intl.DateTimeFormat("en-US", { month: "short", year: "numeric", timeZone: "UTC" }); -const SHORT = new Intl.DateTimeFormat("en-US", { month: "short", day: "numeric", timeZone: "UTC" }); - -interface Bucket extends Record { - index: number; - /** Axis tick: the month the bucket starts in. */ - tick: string; - /** Tooltip heading. */ - label: string; -} - -/** The year's buckets, every one present (future ones empty), filled from `days`. */ -function buckets(days: Day[], year: number, grain: Grain, mode: Mode): Bucket[] { - const jan1 = Date.UTC(year, 0, 1); - const lead = (new Date(jan1).getUTCDay() + 6) % 7; // Jan 1's Monday-based weekday - const length = Math.round((Date.UTC(year + 1, 0, 1) - jan1) / DAY_MS); - const out: Bucket[] = []; - if (grain === "month") { - for (let m = 0; m < 12; m++) { - const start = new Date(Date.UTC(year, m, 1)); - out.push({ index: m, tick: MONTH.format(start), label: MONTH_YEAR.format(start), easy: 0, medium: 0, hard: 0 }); - } - } else { - const weeks = Math.floor((length - 1 + lead) / 7) + 1; - for (let w = 0; w < weeks; w++) { - const start = new Date(Math.max(jan1, jan1 + (w * 7 - lead) * DAY_MS)); - const end = new Date(Math.min(jan1 + (length - 1) * DAY_MS, jan1 + (w * 7 - lead + 6) * DAY_MS)); - out.push({ - index: w, - tick: MONTH.format(start), - label: `${SHORT.format(start)} – ${SHORT.format(end)}`, - easy: 0, - medium: 0, - hard: 0, - }); - } - } - for (const day of days) { - const date = utcDate(day.date); - if (date.getUTCFullYear() !== year) continue; - const i = grain === "month" ? date.getUTCMonth() : Math.floor(((date.getTime() - jan1) / DAY_MS + lead) / 7); - const bucket = out[i]; - if (!bucket) continue; - for (const d of DIFFICULTIES) bucket[d] += day[mode][d]; - } - return out; -} - -export default function SubmissionChart() { - const load = useStats(); - const [mode, setMode] = useState("solved"); - const [grain, setGrain] = useState("month"); - - if (load.phase !== "ready") { - return ( - - - - - - ); - } - - const year = utcDate(load.stats.year.at(-1)?.date ?? "1970-01-01").getUTCFullYear(); - const data = buckets(load.stats.year, year, grain, mode); - const totals = Object.fromEntries( - DIFFICULTIES.map((d) => [d, data.reduce((n, b) => n + b[d], 0)]), - ); - const peak = Math.max(...data.map((b) => b.easy + b.medium + b.hard)); - // A round ceiling for the one labelled gridline, as LeetCode draws it. - const top = peak <= 5 ? 5 : Math.ceil(peak / 10) * 10; - - return ( - - - value && setMode(value as Mode)} - className="rounded-full bg-muted p-0.5" - aria-label="Count" - > - - Solved - - - Submissions - - -
- value && setGrain(value as Grain)} - className="rounded-full bg-muted p-0.5" - aria-label="Bucket size" - > - - M - - - W - - -
-
- - - - - ( - - {data[Number(payload.value)]?.tick} - - )} - /> - - ( - items[0]?.payload?.label} - indicator="dot" - /> - )} - /> - {(["hard", "medium", "easy"] as const).map((d) => ( - - ))} - - - - - {DIFFICULTIES.map((d) => ( - - {chartConfig[d].label} - {totals[d]} - - ))} - {year} - -
- ); -} diff --git a/apps/docs/islands/SubmissionHeatmap.tsx b/apps/docs/islands/SubmissionHeatmap.tsx deleted file mode 100644 index 2619e81..0000000 --- a/apps/docs/islands/SubmissionHeatmap.tsx +++ /dev/null @@ -1,165 +0,0 @@ -/** - * The last six months of attempts — LeetCode's calendar heatmap, halved to - * share its row with the submissions chart: one cell per day, weeks as - * columns, each month its own block, and the window's attempt count, active - * days and longest streak above it. The figures are counted from exactly the - * cells drawn, so they cannot disagree with the grid. The colour ramp is the - * README/email heatmap's (theme.css `--heat-0..4`, level = attempts capped at - * 4) and rows start on Monday like it, so the three heatmaps read the same. - * Drawn as SVG in a viewBox, so it scales to its column instead of scrolling. - */ -import { StatsPending, TipRow, useHoverTip } from "../components/progress/shared"; -import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../components/ui/card"; -import { type Day, useStats, utcDate } from "../lib/stats"; - -export const client = "load"; - -const MONTHS = 6; -const CELL = 10; -const STEP = 13; // cell + gap -const MONTH_GAP = 8; -const LABEL_H = 16; -const HEAT = ["var(--heat-0)", "var(--heat-1)", "var(--heat-2)", "var(--heat-3)", "var(--heat-4)"]; - -const MONTH = new Intl.DateTimeFormat("en-US", { month: "short", timeZone: "UTC" }); -const DAY = new Intl.DateTimeFormat("en-US", { month: "short", day: "numeric", year: "numeric", timeZone: "UTC" }); - -interface Cell { - x: number; - y: number; - date: Date; - attempts: number; - passes: number; -} - -interface Block { - label: string; - x: number; - width: number; - cells: Cell[]; -} - -/** - * Month blocks laid left to right over the last MONTHS calendar months. Within - * a block a day sits at row = weekday (Mon = 0) and column = its week counted - * from the 1st, so a month starting on a Thursday opens with a short column. - */ -function layout(year: Day[]): { blocks: Block[]; width: number } { - const last = utcDate(year.at(-1)?.date ?? "1970-01-01"); - const from = Date.UTC(last.getUTCFullYear(), last.getUTCMonth() - (MONTHS - 1), 1); - const blocks: Block[] = []; - let x = 0; - for (const day of year) { - const date = utcDate(day.date); - if (date.getTime() < from) continue; - let block = blocks.at(-1); - if (date.getUTCDate() === 1 || !block) { - if (block) x += block.width + MONTH_GAP; - block = { label: MONTH.format(date), x, width: 0, cells: [] }; - blocks.push(block); - } - const first = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 1)); - const index = (first.getUTCDay() + 6) % 7 + date.getUTCDate() - 1; - const col = Math.floor(index / 7); - block.cells.push({ - x: x + col * STEP, - y: (index % 7) * STEP, - date, - attempts: day.attempts.easy + day.attempts.medium + day.attempts.hard, - passes: day.passes, - }); - block.width = col * STEP + CELL; - } - const end = blocks.at(-1); - return { blocks, width: end ? end.x + end.width : 0 }; -} - -export default function SubmissionHeatmap() { - const load = useStats(); - const { ref, show, hide, node } = useHoverTip(); - - if (load.phase !== "ready") { - return ( - - - - - - ); - } - - const { blocks, width } = layout(load.stats.year); - const cells = blocks.flatMap((b) => b.cells); - let run = 0; - let streak = 0; - for (const c of cells) { - run = c.attempts > 0 ? run + 1 : 0; - streak = Math.max(streak, run); - } - const height = 7 * STEP - (STEP - CELL) + LABEL_H; - - return ( - - - - {cells.reduce((n, c) => n + c.attempts, 0)} - attempts in the past {MONTHS} months - - - - Active days:{" "} - {cells.filter((c) => c.attempts > 0).length} - - - Max streak: {streak} - - - - -
- - {blocks.map((block) => ( - - {block.cells.map((cell) => ( - - show( - event, - <> -
{DAY.format(cell.date)}
- - - , - ) - } - /> - ))} - - {block.label} - - - ))} - - {node} -
-
-
- ); -} diff --git a/apps/docs/islands/TopicBubbles.tsx b/apps/docs/islands/TopicBubbles.tsx deleted file mode 100644 index a75f754..0000000 --- a/apps/docs/islands/TopicBubbles.tsx +++ /dev/null @@ -1,139 +0,0 @@ -/** - * The campaign's topics as packed bubbles — LeetCode's "All Topics" view, - * over our curriculum instead of LeetCode's tags. A bubble's area is the - * topic's problem count; it fills from the bottom like a glass as problems - * are solved, and turns solid once every one is. A topic the schedule has not - * reached yet is dimmed. Packing is d3-hierarchy's front-chain (packSiblings, - * largest first, so the layout is deterministic), drawn as SVG in a viewBox: - * Recharts has no packed layout. - */ -import { packEnclose, packSiblings } from "d3-hierarchy"; -import { useId } from "react"; -import { StatsPending, TipRow, useHoverTip } from "../components/progress/shared"; -import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../components/ui/card"; -import { type Stats, useStats } from "../lib/stats"; -import { cn } from "../lib/utils"; - -export const client = "load"; - -const PAD = 2; // gap between bubbles, in layout units -const UNIT = 12; // radius of a one-problem bubble - -type Topic = Stats["topics"][number]; -type Bubble = Topic & { x: number; y: number; r: number }; - -/** Split a name across lines of at most ~10 characters, never breaking a word. */ -function lines(name: string): string[] { - const out: string[] = []; - for (const word of name.split(" ")) { - const last = out.at(-1); - if (last !== undefined && `${last} ${word}`.length <= 10) out[out.length - 1] = `${last} ${word}`; - else out.push(word); - } - return out; -} - -export default function TopicBubbles() { - const load = useStats(); - const { ref, show, hide, node } = useHoverTip(); - const clip = useId().replace(/:/g, ""); - - if (load.phase !== "ready") { - return ( - - - Topics - - - - - - ); - } - - const topics = load.stats.topics.filter((t) => t.total > 0); - const circles: Bubble[] = topics - .slice() - .sort((a, b) => b.total - a.total || a.issue - b.issue) - .map((t) => ({ ...t, x: 0, y: 0, r: UNIT * Math.sqrt(t.total) + PAD })); - packSiblings(circles); - const bound = packEnclose(circles) ?? { x: 0, y: 0, r: 1 }; - const solved = topics.reduce((n, t) => n + t.done, 0); - const total = topics.reduce((n, t) => n + t.total, 0); - - return ( - - - Topics - - {solved} of {total} problems across {topics.length} topics · size is problem count, fill is solved - - - -
- - {circles.map((c) => { - const r = c.r - PAD; - const ratio = c.total > 0 ? c.done / c.total : 0; - const complete = c.done >= c.total; - const words = lines(c.name); - const size = Math.min(r / 3.2, (1.7 * r) / Math.max(...words.map((w) => w.length))); - const id = `${clip}-${c.issue}`; - return ( - - show( - event, - <> -
{c.name}
- - {!c.taught &&
Not reached yet
} - , - ) - } - > - - - - - - - {words.map((w, i) => ( - - {w} - - ))} - - - ); - })} - - {node} -
-
-
- ); -} diff --git a/apps/docs/lib/env.d.ts b/apps/docs/lib/env.d.ts deleted file mode 100644 index 1943ad1..0000000 --- a/apps/docs/lib/env.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -// Islands and the Blume modules they import (blume/components/islands/ -// base-path.ts) are bundled by Vite, which provides import.meta.env. Vite is -// Blume's dependency, not this workspace's, so its client types are not -// resolvable from here; this mirrors the slice of them (ImportMetaEnv) tsc needs. -interface ImportMeta { - readonly env: { - readonly [key: string]: unknown; - readonly BASE_URL: string; - readonly MODE: string; - readonly DEV: boolean; - readonly PROD: boolean; - readonly SSR: boolean; - }; -} diff --git a/apps/docs/lib/releases.ts b/apps/docs/lib/releases.ts deleted file mode 100644 index 636c2f0..0000000 --- a/apps/docs/lib/releases.ts +++ /dev/null @@ -1,91 +0,0 @@ -/** - * The `/changelog` page's data: every timever release apps/cli/release-topics.ts - * published — one per finished topic and per finished `Review ` issue — - * read from the GitHub API at build time (pages/changelog.astro awaits it). - * - * One page, no per-release subpages: each release becomes one timeline card, - * so the fields come from the release itself rather than a staged content - * entry. The date is the timever tag (`YYYYMMDD.HHMMSS.NNNNNNNNN`, UTC — the - * instant the last required problem closed), never `published_at`, which the - * API cannot backdate and which reads the backfill day for every old release. - * The problems are the rows of the body's `### Closed …` tables, the shape - * release-topics.ts's render() writes: `| #issue | LC n · Name | set | diff | - * closed | [py](…) · [docs](…) |`. Only `### Closed …` sections are read, so - * a release published before open problems were dropped from the body still - * shows only what finished. The row's own `[docs]` link is not used: it is - * frozen at release time (a problem solved before the docs existed has - * none), while the page links each problem by its LC number to its page now. - * - * Auth: GITHUB_TOKEN when set (deploy.yml passes it), else unauthenticated — - * one request per 100 releases fits the anonymous limit. A failed request - * fails the build: a changelog silently missing its releases is worse. - */ - -const REPO = "prdlk/leetcode"; -const MARKER = //u; -const TIMEVER = /^(\d{4})(\d{2})(\d{2})\.(\d{2})(\d{2})(\d{2})\.\d{9}$/u; -const KIND = /^(Topic|Review) \d+ — /u; - -export interface ReleaseProblem { - issue: number; - /** The LeetCode number, the key of the docs `/` short links. */ - lc: number; - /** `LC 57 · Insert Interval`. */ - title: string; - set: string; - /** `easy` / `medium` / `hard`, the problem's `diff:*` label. */ - difficulty: string; -} - -export interface Release { - /** Topic or Review issue the release records. */ - issue: number; - name: string; - kind: "Topic" | "Review"; - /** UTC instant the last required problem closed, from the timever tag. */ - finishedAt: Date; - url: string; - problems: ReleaseProblem[]; -} - -/** Rows of every `### Closed …` table in a release body. */ -function closedProblems(body: string): ReleaseProblem[] { - const problems: ReleaseProblem[] = []; - let closed = false; - for (const line of body.split("\n")) { - if (line.startsWith("### ")) closed = line.startsWith("### Closed"); - if (!closed || !line.startsWith("| #")) continue; - const [issue, title, set, difficulty] = line.slice(1, -1).split("|").map((cell) => cell.trim()); - const lc = title?.match(/^LC (\d+) · /u)?.[1]; - if (!issue || !title || !lc || !set || !difficulty) continue; - problems.push({ issue: Number(issue.slice(1)), lc: Number(lc), title, set, difficulty }); - } - return problems; -} - -export async function readReleases(): Promise { - const headers: Record = { accept: "application/vnd.github+json" }; - if (process.env.GITHUB_TOKEN) headers.authorization = `Bearer ${process.env.GITHUB_TOKEN}`; - const releases: Release[] = []; - for (let page = 1; ; page++) { - const res = await fetch(`https://api.github.com/repos/${REPO}/releases?per_page=100&page=${page}`, { headers }); - if (!res.ok) throw new Error(`GET ${REPO} releases -> ${res.status} ${await res.text()}`); - const batch = (await res.json()) as { tag_name: string; name: string | null; body: string | null; html_url: string }[]; - for (const r of batch) { - const issue = r.body?.match(MARKER)?.[1]; - const t = r.tag_name.match(TIMEVER); - const kind = r.name?.match(KIND)?.[1]; - if (!issue || !t || !kind || !r.name || !r.body) continue; - releases.push({ - issue: Number(issue), - name: r.name, - kind: kind as Release["kind"], - finishedAt: new Date(`${t[1]}-${t[2]}-${t[3]}T${t[4]}:${t[5]}:${t[6]}Z`), - url: r.html_url, - problems: closedProblems(r.body), - }); - } - if (batch.length < 100) break; - } - return releases.sort((a, b) => b.finishedAt.getTime() - a.finishedAt.getTime()); -} diff --git a/apps/docs/lib/stats.ts b/apps/docs/lib/stats.ts deleted file mode 100644 index 025a9b0..0000000 --- a/apps/docs/lib/stats.ts +++ /dev/null @@ -1,90 +0,0 @@ -/** - * The progress page's data: GET /api/stats from the SRS Worker, fetched in the - * browser so `blume build` never depends on the API being up. API_BASE is the - * deployed Worker — do not inline it anywhere else. - * - * Four islands read this (SolvedRing, SubmissionHeatmap, RecentSolves, - * TopicBubbles). Each hydrates on its own, but they share this module, so the - * one in-flight request is shared too: the page asks the Worker once. - * - * Invariants: a malformed body is an error state, never a throw; the first - * frame is always the loading state, so server and client render identically. - */ -import { useEffect, useState } from "react"; - -const API_BASE = "https://srs-api.prdlk.workers.dev"; - -// ── /api/stats response shape (the fields these islands read) ──── - -export const DIFFICULTIES = ["easy", "medium", "hard"] as const; - -export type Difficulty = (typeof DIFFICULTIES)[number]; - -export interface Stats { - generated: string; - /** Per difficulty, catalog size and how many entered the ladder. */ - difficulty: { difficulty: Difficulty; total: number; done: number }[]; - /** Problems whose most recent attempt failed — the sweep day's miss log. */ - attempting: number; - topics: { issue: number; name: string; total: number; done: number; taught: boolean }[]; - /** The ten most recently solved, newest first, dated by first pass (ET). */ - recent: { lc: number; title: string; difficulty: Difficulty; date: string }[]; - /** - * The 365 days ending today (ET), zeros included — always the current - * calendar year to date. Per difficulty: every logged attempt, and every - * first solve (the first-pass date `recent` uses). - */ - year: Day[]; -} - -export interface Day { - date: string; - passes: number; - attempts: Record; - solved: Record; -} - -function isStats(value: unknown): value is Stats { - if (typeof value !== "object" || value === null) return false; - const v = value as Record; - return ( - Array.isArray(v.difficulty) && - typeof v.attempting === "number" && - Array.isArray(v.topics) && - Array.isArray(v.recent) && - Array.isArray(v.year) - ); -} - -// ── the shared request ─────────────────────────────────────────── - -export type Load = { phase: "loading" } | { phase: "error" } | { phase: "ready"; stats: Stats }; - -let request: Promise | undefined; - -/** The page's stats, fetched once however many islands ask. */ -export function useStats(): Load { - const [load, setLoad] = useState({ phase: "loading" }); - useEffect(() => { - if (!request) { - request = fetch(`${API_BASE}/api/stats`) - .then((res) => (res.ok ? res.json() : null)) - .then((body: unknown) => (isStats(body) ? body : null)) - .catch(() => null); - } - let live = true; - request.then((stats) => { - if (live) setLoad(stats ? { phase: "ready", stats } : { phase: "error" }); - }); - return () => { - live = false; - }; - }, []); - return load; -} - -/** "YYYY-MM-DD" → a UTC-midnight Date, so calendar math never drifts with the reader's timezone. */ -export function utcDate(iso: string): Date { - const [y, m, d] = iso.split("-").map(Number); - return new Date(Date.UTC(y!, m! - 1, d!)); -} diff --git a/apps/docs/lib/tag-colors.ts b/apps/docs/lib/tag-colors.ts deleted file mode 100644 index 11d8fc0..0000000 --- a/apps/docs/lib/tag-colors.ts +++ /dev/null @@ -1,129 +0,0 @@ -/** - * One colour per topic tag, unique across the site: the problem-page badge - * row (`components/ProblemBadges.astro`) paints each tag with it, so a tag - * reads the same on every page and no two tags share a colour. - * - * Fifty-odd hues cannot all be told apart, so uniqueness alone is not the - * goal: tags that share a problem page must be told apart, since that is - * where they are seen together. The palette is a fixed grid in OKLCH, a few - * lightness rows by `HUE_STEP` hues, and tags are coloured greedily, most-used - * first. Each tag takes the free palette colour farthest (OKLab distance) - * from every colour its co-tags already hold, ties broken by distance from - * every colour taken at all. The answer is a pure function of the pages' - * tags, so it is identical on every page of one build; a newly solved problem - * can shift colours in the next. - * - * Blume's Badge takes a custom colour only as hex and uses that one value in - * both themes, as text over a 12% tint of itself, so the rows sit in the - * narrow lightness band where that text holds ≥ 3:1 contrast on the light and - * the dark background alike; wider rows spread tags further but fail one theme. - */ - -const LIGHTNESS = [0.55, 0.6]; -const CHROMA = 0.15; -const HUE_STEP = 5; - -interface Swatch { - hex: string; - lab: [number, number, number]; -} - -/** - * slug → `#rrggbb`, pairwise distinct, for every slug in `slugs`; `pages` is - * each problem page's tag slugs, the co-occurrence the spread is judged by. - */ -export function tagColors(slugs: Iterable, pages: readonly (readonly string[])[]): Map { - const universe = new Set(slugs); - const uses = new Map(); - const cotags = new Map>(); - for (const page of pages) { - const on = page.filter((slug) => universe.has(slug)); - for (const slug of on) { - uses.set(slug, (uses.get(slug) ?? 0) + 1); - const set = cotags.get(slug) ?? new Set(); - for (const other of on) if (other !== slug) set.add(other); - cotags.set(slug, set); - } - } - const order = [...universe].sort((a, b) => (uses.get(b) ?? 0) - (uses.get(a) ?? 0) || a.localeCompare(b)); - - const palette = swatches(order.length); - const free = new Set(palette.keys()); - const chosen = new Map(); - for (const slug of order) { - const near = [...(cotags.get(slug) ?? [])].flatMap((other) => chosen.get(other) ?? []); - const all = [...chosen.values()]; - let best = -1; - let bestScore: [number, number] = [-1, -1]; - for (const i of free) { - const score: [number, number] = [nearest(palette[i]!, near), nearest(palette[i]!, all)]; - if (score[0] > bestScore[0] || (score[0] === bestScore[0] && score[1] > bestScore[1])) { - best = i; - bestScore = score; - } - } - free.delete(best); - chosen.set(slug, palette[best]!); - } - return new Map([...chosen].map(([slug, swatch]) => [slug, swatch.hex])); -} - -/** Distance from `swatch` to the closest of `others`; Infinity when there are none. */ -function nearest(swatch: Swatch, others: readonly Swatch[]): number { - let min = Number.POSITIVE_INFINITY; - for (const other of others) { - const d = Math.hypot(swatch.lab[0] - other.lab[0], swatch.lab[1] - other.lab[1], swatch.lab[2] - other.lab[2]); - if (d < min) min = d; - } - return min; -} - -/** - * The palette: every `HUE_STEP` degrees in each `LIGHTNESS` row, the step - * shrunk when there are more tags than swatches. Duplicate hexes (possible - * only at a tiny step) are dropped, which keeps every assignment unique. - */ -function swatches(count: number): Swatch[] { - const step = Math.min(HUE_STEP, Math.max(1, Math.floor((360 * LIGHTNESS.length) / Math.max(count, 1)))); - const seen = new Set(); - const out: Swatch[] = []; - for (const lightness of LIGHTNESS) { - for (let hue = 0; hue < 360; hue += step) { - const swatch = oklch(lightness, hue); - if (seen.has(swatch.hex)) continue; - seen.add(swatch.hex); - out.push(swatch); - } - } - return out; -} - -/** - * `oklch(lightness CHROMA hue)` as sRGB hex plus its OKLab coordinates. Hues - * sRGB cannot reach at full chroma (cyans) give up chroma until they fit, - * rather than being clipped per channel, which would shift the hue. - */ -function oklch(lightness: number, hue: number): Swatch { - const rad = (hue * Math.PI) / 180; - for (let chroma = CHROMA; ; chroma -= 0.005) { - const a = chroma * Math.cos(rad); - const b = chroma * Math.sin(rad); - const l = (lightness + 0.3963377774 * a + 0.2158037573 * b) ** 3; - const m = (lightness - 0.1055613458 * a - 0.0638541728 * b) ** 3; - const s = (lightness - 0.0894841775 * a - 1.291485548 * b) ** 3; - const rgb = [ - 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - -0.0041960863 * l - 0.7034186147 * m + 1.707614681 * s, - ]; - if (chroma > 0 && rgb.some((c) => c < 0 || c > 1)) continue; - const hex = rgb - .map((c) => { - const v = Math.min(1, Math.max(0, c)); - const srgb = v <= 0.0031308 ? 12.92 * v : 1.055 * v ** (1 / 2.4) - 0.055; - return Math.round(srgb * 255).toString(16).padStart(2, "0"); - }) - .join(""); - return { hex: `#${hex}`, lab: [lightness, a, b] }; - } -} diff --git a/apps/docs/lib/utils.ts b/apps/docs/lib/utils.ts deleted file mode 100644 index 2aafffa..0000000 --- a/apps/docs/lib/utils.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { type ClassValue, clsx } from "clsx"; -import { twMerge } from "tailwind-merge"; - -/** shadcn's class combiner: conditional classes, later Tailwind utilities win. */ -export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)); -} diff --git a/apps/docs/package.json b/apps/docs/package.json deleted file mode 100644 index 03aae8c..0000000 --- a/apps/docs/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "docs", - "private": true, - "type": "module", - "scripts": { - "dev": "blume dev", - "build": "blume build", - "doctor": "blume doctor" - }, - "dependencies": { - "blume": "^2.1.2", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "d3-hierarchy": "^3.1.2", - "radix-ui": "^1.6.7", - "react": "^19.2.8", - "react-dom": "^19.2.8", - "recharts": "3.8.0", - "tailwind-merge": "^3.7.0" - }, - "devDependencies": { - "@fontsource-variable/inter": "^5.3.0", - "@fontsource/ibm-plex-mono": "^5.3.0", - "@types/d3-hierarchy": "^3.1.7", - "@types/react": "^19.3.0", - "@types/react-dom": "^19.3.0" - } -} diff --git a/apps/docs/pages/appendix.astro b/apps/docs/pages/appendix.astro deleted file mode 100644 index 1727380..0000000 --- a/apps/docs/pages/appendix.astro +++ /dev/null @@ -1,293 +0,0 @@ ---- -/** - * `/appendix`: the glossary of LeetCode topic tags the campaign meets without - * teaching them as a topic (`appendix.ts`), one card per term, filed A–Z under - * a letter index. A card is the target of that tag's badge on every problem - * page (`/appendix#`, from `tagTarget()`), so it carries what the badge - * shows (the term's icon in the tag's colour from `lib/tag-colors.ts`, over - * the same tag universe `ProblemBadges.astro` colours) and lists the problem - * pages whose badge links here: the backlinks a per-term page used to have. - * The filter is a custom element over static markup, the way the Carousel - * is built; with no JS the page is the full glossary. - */ -import { getEntry } from "astro:content"; -import data from "blume:data"; -import Icon from "blume/components/Icon.astro"; -import { withBase } from "blume/components/islands/base-path.ts"; -import PageLayout from "blume/components/layout/PageLayout.astro"; -import { APPENDIX } from "../appendix.ts"; -import { tagColors } from "../lib/tag-colors.ts"; -import { TOPIC_LANDINGS, tagTarget, type TopicTag } from "../topic-landings.ts"; - -const { config } = data; -const served = new Set(data.routes.map((r: { path: string }) => r.path)); - -// Problem pages (`. ` titles, the shape sync writes) with their tags. -const problems = await Promise.all( - data.routes - .filter((r: { title: string }) => /^\d+\.\s/u.test(r.title)) - .map(async (r: { path: string; title: string; collection: string; entryId: string }) => { - const entry = await getEntry(r.collection, r.entryId); - const [, num, name] = r.title.match(/^(\d+)\.\s+(.+)$/u)!; - return { - route: r.path, - num: Number(num), - name: name!, - difficulty: entry?.data.sidebar?.badge as string | undefined, - tags: (entry?.data.topics ?? []) as TopicTag[], - }; - }), -); - -const colors = tagColors( - [...Object.keys(TOPIC_LANDINGS), ...Object.keys(APPENDIX)], - problems.map((p) => p.tags.map((t) => t.slug)), -); - -const terms = Object.entries(APPENDIX) - .map(([slug, term]) => ({ - slug, - ...term, - color: colors.get(slug), - problems: problems - .filter((p) => p.tags.some((tag) => tagTarget(tag, p, served).href === `/appendix#${slug}`)) - .sort((a, b) => a.num - b.num), - })) - .sort((a, b) => a.name.localeCompare(b.name)); - -const sections = new Map(); -for (const term of terms) { - const letter = term.name[0]!.toUpperCase(); - sections.set(letter, [...(sections.get(letter) ?? []), term]); -} -const LETTERS = [..."ABCDEFGHIJKLMNOPQRSTUVWXYZ"]; -// A card's Solved list shows this many rows at a time; a longer one (Array has -// dozens) pages through them with numbered buttons under the list. -const PAGE_SIZE = 5; - -// The /progress cards' difficulty palette (--chart-1..3 in theme.css), as on -// the changelog, so a Hard reads the same colour everywhere. -const DIFFICULTY: Record = { - Easy: { label: "Easy", class: "border-chart-1/40 bg-chart-1/10 text-chart-1" }, - Medium: { label: "Med.", class: "border-chart-2/40 bg-chart-2/10 text-chart-2" }, - Hard: { label: "Hard", class: "border-chart-3/40 bg-chart-3/10 text-chart-3" }, -}; -const description = - "The LeetCode topics the campaign meets without teaching them as a topic: what each one means, and the solved problems that use it."; ---- - - -
-

Appendix

-

{description}

- - -
- - -
- - { - [...sections].map(([letter, group]) => ( -
-

{letter}

-
- {group.map((term) => ( -
-
- - - -
-

- - {term.name} - -

-

- {term.category} -

-
- - LeetCode ↗ - -
-

{term.definition}

- {term.problems.length > 0 && ( -
- - - Solved - {term.problems.length} - - - - - - {term.problems.length > PAGE_SIZE && ( - - )} - -
- )} -
- ))} -
-
- )) - } - -
-
-
- - diff --git a/apps/docs/pages/changelog.astro b/apps/docs/pages/changelog.astro deleted file mode 100644 index d6c8a3c..0000000 --- a/apps/docs/pages/changelog.astro +++ /dev/null @@ -1,120 +0,0 @@ ---- -/** - * `/changelog`: every topic and review release on one page, newest first — a - * vertical timeline, the date on the left and one card per release on the - * right, with no per-release subpages. Replaces Blume's generated changelog - * (a custom page wins its route); the header links here from - * `navigation.actions` in blume.config.ts. Data: lib/releases.ts. - */ -import PageLayout from "blume/components/layout/PageLayout.astro"; -import data from "blume:data"; -import { withBase } from "blume/components/islands/base-path.ts"; -import redirects from "../redirects"; -import { readReleases } from "../lib/releases.ts"; - -const { config } = data; -const releases = await readReleases(); -const DATE = new Intl.DateTimeFormat("en-US", { - timeZone: "America/New_York", - month: "short", - day: "numeric", - year: "numeric", -}); -const issueUrl = (n: number) => `https://github.com/prdlk/leetcode/issues/${n}`; -// LC number -> its docs page route, off sync's `/` short links — the -// page itself, not the redirect, so a click is one hop. A problem with no page -// (none yet) links to its issue instead. -const pages = new Map(redirects.map((r) => [Number(r.from.slice(1)), r.to])); -const problemHref = (lc: number, issue: number) => { - const route = pages.get(lc); - return route ? withBase(route) : issueUrl(issue); -}; -// The /progress cards' difficulty palette (--chart-1..3 in theme.css), so a -// Hard reads the same colour here as in the SolvedRing gauge. -const DIFFICULTY: Record = { - easy: { label: "Easy", class: "border-chart-1/40 bg-chart-1/10 text-chart-1" }, - medium: { label: "Med.", class: "border-chart-2/40 bg-chart-2/10 text-chart-2" }, - hard: { label: "Hard", class: "border-chart-3/40 bg-chart-3/10 text-chart-3" }, -}; -const description = "Every topic and review the campaign finished, newest first."; ---- - - -
-

Changelog

-

{description}

- -
    - { - releases.map((r, i) => ( -
  1. - {/* The rail: a line down the left edge, a ring at each release. */} - {i < releases.length - 1 && ( -
  2. - )) - } -
-
-
diff --git a/apps/docs/public/binary_search.001.png b/apps/docs/public/binary_search.001.png deleted file mode 100644 index 8871ad1a0a36fd62ee11facb3ba168c687465255..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32411 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 diff --git a/apps/docs/public/binary_search.002.png b/apps/docs/public/binary_search.002.png deleted file mode 100644 index 93ec3d323ce3280067871f575c02623b23b03195..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36982 zcmeFZWk8f$+b}wGhmz8Yl(b0KC@LL_l(Z-y-JM%0DFr2^L_nmabC5<-y1Q%WX6CGM z???82-tYbXpL4c9#(Rc!uXU|!UA3+XQB#p6!l%K9Kp;f&a`zuYAei701A>bU{;R5@ zAc8>9j9<#gs9DO$%Gg@jI;h(jo4mOH($UV!*j-Hk0%3n=Vr2AKo{PQB*x1OZt&5Wb z-@)~9aB$dTBj2`q;@35V&j|5D+MBT=(9ooyEQEYC6kgRW^|+sS*Z=4gV-YNsFEywi zewMjC7+P>Yk#8^^lK*~S?m5#1POy43!5al?YHD>qtHs?Ybkb^!HcAe3G5oeSmNv}ww9%V8#bKgMVqlD~IVRrZ<8CKj4aZ0Fn`ADa{cASUSf zEEw-UYrgk0Uq1ii$EVKyu&Y?IM(i24+?H6@SJ|nrQ6~uS`8CjeI(1|c;kwq`&D4|t z7vLM&LV|xbuj7V&umi)PNqXW}p3zVe68{i4#Y!aUwEPy!uuFU+^s?jS6k`fmks4yQ%lY==iv|l*!36 z*{+v#2b9_c+i`8H(obysBKWY^Nxq`0fuQr(_J$5xW(Ql}`~ zRd~ZoU{AR}tnVrpCN3!x)DMD&{^tWU4aVZ9}MEX`oQ_RJ1>=-ux4OD0;owKOx7xV*K@5s^Muzxkhc|9k@= z6yu)&{fp3l5&93t`Ikcf$uj@4{Qu`=Xm4G;ETcC$t5RGqB5~*{dmIqR-_b3^eoM+x zD!0wj;fCX#`RD@IDR;IrjI9RTX*Lc- zfgUB|W81ourNZ_6YF2o2=;t2Eqlu55Klt#T@XX-*{m3i1)Iq&0{-L~eB9)j@Q?CpR z=2%u2Uv(AuUaY72A`y$_4Yfy8vbiu+Uk@AlO0J%z1u@`P!|Oap0J@?Mi?-^ektaQNN0Y8W^3kjTZi)?u z6TT%@l^ftxueY%C@WRd=I?B(L zQmN64u>Arq@$bKn)e?4%Y~8l&FvqDko^TFqF>xn@*ZXDJ<}=1bt8eXLA!KYqB&TfB zC-RPG6`R)OlS1iEFFp6F`d)0xkN4@ouVu`+cCB~J$NM5q%-$1knCT#Ya2DJ-V)U&5 z7&qlAYPwon!eI;Ry+_c+PQNW&E`7R^K5ngL<2$5dCRm;~Ork1z@MJIUlQPE%e@8y- zq{~(aX80A2ufx-Tl>HAsU5Ek_UFT8-49FNQw7oOlU-_A)nj+Oz9jdW1Uv;b@l@1%! z)D7rE^Xg+Q3pYC>5#K0W@N{pawXNa*=ySTd7+dTWX?6g(V_8k%X6HA=X8E*A_dvNs zwWQNZ?*hZI@RVEn3BJFMP{PR^I1$x1%aVJY0__PRLv9&&-Q5ocwW5#aHL&bME?PuO zYi^}xXLIOK4Y%f8TdQr#p_m&awhs|1f|%66k(JBI1ZFATF30^Ti1#(Zb~E*)1=xk8 z>>r_5zELk-N^d4r^qjo1r+e{BeRo&5WB~q_6Q?=py*iHb$DycP--&_b#|~)oSMAb(U#x00T=$3OE07v9MVMP^%RAnJbH%IS1F95qWEKl6va z!yJIHUu5cD9?|m$OqyxZ%O4#Rg2-|P%JrTmKeE+POns4f>{!!!QMI0*xTxe=i4FCV zPQHlH!h0WE;Js;?_MQtj#oP*2Q6Z@6fcKw zu!^}rS{u2oi^%orZ(ip+t!e2erCZepgT#5$ys!u@X^Gu7=EYd+y4Wa&G^ZRHZ6FNB zYs|3xYY5~Z3zC1dsQyQ;sj>UJ&FDxShqe2;wR_jxzgW#mAx2)neH&qjgMv3pXW;yt zVqPI1*ZPr$B0t0ycr9`+GA6=WbxFn)Arj}?ja}BKhnuttN3Fsz9wccfmCx~PPnowqa(p?66DKT* z?6+kfr@@rGYG_+~a8JU7G1kqr_Q{U)`>pS)#AXst^gd3GfXe@G_pJ$KafaRX8@nv>(l{HRH!E=fG5rg4%vhiUI4EIdC`25EBC)dh0*4%UAzIsS9F=Uc8YOR3{XoXw2Z!+<{K z(*!nZxN1s&U%KpgkazPK+AACqVmJ)x^Ub}cNzwo@<-kFKWp(oHWI4`@owqTFgoMh# z&G_Vn#q|8OV^RH=y$;Kk`IV+3Km_RKCoC?TUxm$CQ`mD%=l6blls%#gn9I9n^83A1 zIdDi1-egw(z8fv5%rsLOetgl%4KFve%quk&J&q*mh#XCPk&bWJp}F4w0Pb$Bi^`(3lRtA)J?C$wBl}@iH=lusW>vQ6 zA4YMw9=F}eVrM8b1Meon8FfW4+yX>oFQ7P!tY!-NbY5tBXy53L}eQV~Qd92hZp;|w3X$>qW&!Dsx%5oSn9ob>>ov5&Hzw6K;-G8>fN+xx& z-~ahS&#`OJE7BvEgwK6<;kh>#jT;asY|^b5V=)v+-7WKtk)rETyYN9RL+eVhrnAEy zz}q@o@W{v}UGubnD3>B{t{+DO>Z)De^gF1EtR>#s=wL8ON!bBD{GwD36-^dcH*Ed@?C-LkLCe{~Rm~U?O9xkQc=<3${n*ddtSxJv1#-VrW z<%(S8BysFl7AD$pICsOYscCwJbemx$+2yU?__n*YAaxkWx6*mF=WA>6%nrlZe1td; zo%_PO**-;HqN6EK+u&vlT^`3CN!Ps&H#NF~hrye=hBnjHuJDC=F@vt&-5F^cI^JsJ zJR@@C+`Ms#xOz6|*y%OOL;-j^meB?(U_6Y;0PRXaaPXef_HT=U9KjK&3rDPea+(djPLb5@LHH&%PEjj zbj?ckun2AssUW20V=D2%H125Ot=)g@APB7)GummUN_nxtJzjb)dPud7)imc}Uw!z7 zqRcAgu&1cI9%b&jKb&5f_{ItyI~$hv_W%-pKz9OhiAbmD`bV<#gL*pB46j>@5j(r* z6-}PVd1m;J2e?P0W+}jqrE=<*+l+zu-vN%BKD9x%-<}G8Lj0z)ondX0@Fm%qX2tV) z4am+u;{YTw*6B**6h9A9?`kpl!kY zZiqY`UWj?MD>jWs${q-Y^Us-6UJk!S85~Jcv-UM7O5v!e&$ou&2p9t-v^EvSyMsBg zSpiyM+1LH)@PGni*A7(pj{^JCl=w=qOW72+WreD&}-va9<MO;+*#4JD{=&e&Ecve_xm0AN|H|!u)y<`B{8zdEYm;0$ zlKwTN{trg+|6)qjI^5BeVfh>Gu+gL86)Z|A$1X%3KWwNRy^TwI&E7pI7Kbu3_Ywg^ zchb)$_LB3e)Mtv@qZ@Ry7^ahCpDtN-78ZjOkXygmbP4fca-7t&nqj~zy!8|mMi|pk%5Lj$m=>1aU9C!I7hziam7=t4vz`s& z-ZosPbYOQ2&y5RS0<%Rr~%Ee!baZbIIWD?48Q zjhtRQe*@+vg1wC*U$(L~yMBY(#%){1q**i?8viY-w~!SCH8tAh>^5X^X5|<63Qj0j z$}Wa2T4h|$Jyrx9p5#^allb2Q4kYs1xvUR_h>(;E5PLQj_oN5U%V8FQ|PdZ;jKF1tQ1Iwg$3C6Vjr{~y1m6nhcmQJEmeOGCEXR1v zvY>M;pR52J^T$_66}OjTBY@7r>3xgYE^*JrcV5rju%KH&A|QqM;;vsRUE_0ZY`oSn zKR#IlkLn1-Qk9n8rxBCrJi17Etwl0jJ?Y~3bkz4kxp5*Vmp{vNiVbR%>9_vei~Mh9 zgdC;^QHn6(#i@U`rIPz;$oBUGq{3mpZL@|9`ylbkM&CfSE4BUhqoheCPjn(~kWJ7# zE9`!`+hTmeQFk~gd{Nai-fNtwoyP94^g+`Z7Wv_yVePW>*Ql~T9wb-Z!mDqi|3IYSpG(1-bglR`|8JsfWVxcHcG z?%uwCIl%!rb;WF~42<_ZPnW7ChsFkD&1SwloN?0EHS6eh?vtF<)(H%;+9V>}J5_!+ z{K64)ioH5-kQdWI$9Sz4Mq->UJ#UxJo zxp>V*XiDHJ+04WjfZUADGNwkZemda&7k;|CvQTqcG0^Bd>!IBCKjVmjOcQ1#be6S~Be2kxB%o+NkV&?CX=!B&#V z#Qjmvg&U3=)yswMfa8hdOvH(BNmsOiW5R?He(6&%ck@Rx9J|w5`XfQmIqvj_qP(vp z4so&xtdT_Q_I{k@mS|Z&a9u4^uLRN4-XqF^tNJ1*n@SJT(REFZ z^i2c!?Dh)E3^oDEG(h&v6Ms{(OA-lZ?RDMBXqd@!{W@AAop^q?Ppe>dFECjqu)Az} zp~zP`qZLOR!1)b`)mS{|-<%3f<;M)%^wnPBH!@OY6+c*{YA|E;eZMbgzD_^3=?G+V zKxK?!<>XQBO%x?53n(Zq|DBf5(8Jlcw^*nGU45Jt*3@m+#(Bf4j!%0%r%u$TW9doF z$}P(aVEg`J>*?S%}cFpiG6zW5un17RQ@+ zpM4VD2rxkzn7Q;|fc7_@{R2s~-~p-Xuhl*u?px_i=2BtXIlA-w3X& z%3|Vn0xyWYK>IQn<`%{;Wv^iAE+6Z%mi2=MfT=0& zy?l77$Lcq*9@0In!cR3T7!{7|62H(qe@0#Lld{--*a98X0x-3jqO$j;d(K?VUn-P~ z5}dc^vgtI+HbA`UwoXTpFaYC;vYE^!31dFRC!9RfO>3QTf11Cxy?j^KhVhiU(kjTh z257@gpx`acve_=j6LI%C&ZP2L!DKjZnQoGc<-m=KK0?zOXIK%LCgTJW`c09r< z)8$^XpDat}{7yZ#fd(=`Jw-{_n79KffOTDBJZ}8viQa8=Wl7IKz=h*!G6h(&f!D=1 z2aRcMuQI850-_sBT)WJAgUS$e)~=1E0b`_V$f)VMY!HL@Y3HH0Eh*Dmlw(ya-{aC= z>+MBvgn2vR)_Rol$5}24HuxO~TNh8^qhs~~s*{@@VYr0&&PQm z`AxK9n;8nQIdZVMjLf>rp`_-N)K$aR)0W?+brs-P*P5(|o31Vm`!GRM>%a*f9Fz(F z4QtH3#Yn#;*^7f&Cw0Sy#oWZ@zPZK1<41LJpc5W=$~`6Rf5fQW0)WR z6H%#G0elMYOD;{_Uvr285^8gY5T*PRQBQ94=0rXGg%IdGu7uQT#P)emem}CYD4u#Vhr7S}Qx!c`WcJRV zYDcXIWH;Q(?0fsq^%k_i!N7_H9R7(^Fd7ru{DkIGUj90mbNnx8Z>L8nJQm1Um2i8c z&a9{<-0aepM{%PQ#hfixKo-u*Xt5cyQaP#PM-h`}*O!d17E`&c=an~9gv{SlSMT4T zb!VeOk7iRP#=s_QYt|A z^=zzN8l!EDF&zC|Tb|qTt{x=4&}`MLOX2y^HRt{eTtl9RQ|^516iz-dbO>o~7}B*) zh`vI*w1H{h{=yX9C{^G|vA~b9Q(CqfDpnPbvaZ6I6lAFJd_Xy|_t~NKUNXffIrSMr zc{Vd7w*1<}v(N~9-SAPa{k6p(AB99jb@`vSy?u;sqyb2}Ij?s1aOG#td&o%PpRg>n zGX~-?dPvAJ3k^IZ14myHoXG1hMi53cNSZ|H226;T}?FoU_wP!V_3CID@ z*h8R(Fi;0()TrvO6bRiO5Y1Bm%79Cxo{8x&BVCqM=fIJtIz?Nk~f~N)Pz{P7{(9~kukgkG| zUB<>;LXbkDxPYvtft*C9T_bIK<;MxxC1o+W`PKwY5aK{rqbZ|>kxC&K0TP4W&d-$6 zROv#V`Y#-3&_G0qlhep9V@$j3sn}44^dUstAjEu{CDL*b(q=L+##oFAJ>zlL%R&9o zv=eie4agi=+%+JX?Vh4#Tj0N*V=dSXo?KVo->gG?GoC4TJpt8ICH z;E5>7pR6qiJe>rqv!p-4NWGfjRq_afiP8S+^Y<1&0KJbC0`D`cJd|gGqvu1~JTb#l zpeswX8Utd|!dfkh2ZPKuzn#?A8m~U8swUFzUK;++v+C}BtCz4Epkgu5?6MvwL5;2)h(VX!0?wGYgba`E3*hULC z#2K33&ocn|LRK9C*@xPHX)~5;d7CLrY5~!a`YJ+I@WNoZit@hGxQQJ zPvln;aG>f31vbUDC?ItWfThQad6vr-kbw{4gGt$FZ*SS^iv#k_pUB=)BJz9U?yTZh zuLOpnZsu|tU@K4D*T*VpAkK>_&SqdAKXiw?!9F-$zlwu>Xc&O38$R`V3WyXwChq53 z0RFEv&YOBfepL=xRRVvlW`p)$i4GWyajH58Y7xdkCehEkv`Y1K>7zYcJRWkQtCW^ zuI=>mr||`E9{uSN+_0Md#pkTg*!7?K6_88&oo&Gu0%6w#Oka=N!o(#`2Kw7!IUwF81+XRqt6+~-OBN%c5a<(b4Nf_uJ zen8MqdF_Qa*6c-mv4baE0X9B#Cqn2}e5nxT?VH=)><*wk%191@4J0bXu)w! z?Q;fLE+5&WJUb&3LAZne?J$NL_D$!wpRtDs1Dl+)NbfZbWbj;>Y~FjsST=~N1vbJu z!9VL&kMIoaSGlkcM*5bLGW9wGah*@Q<_{f2-|2iPam>5>xP%4*Lv)?YdQMAA;f;RB z*`ylMwaqKkTMZk)iI$S<);m8fUk>WvMVeKdER8qhmFtnkJateqZqNm9?&Ko3JU1Bg zYqtVH*0oH-Y!E%&kiJ68g zx5X1wNfPY2wTCput9^sC^NKh@ky5AkE4CY8uPyU0RJDB@^BO*A zowHOv&0_!F=}F{gfylfje&}Dg$8(0V4qw+EjY(R;E`&g$^dsZB*CDf0eV)?N7qPQi zFogbYHGMRM5*@ROr}v528GrivHD$?^> z?TbxE6VB?|M*b&bouUStMeU~JfvSo)QNFzNR!stt?oV6leAO#n&MjI8N?80*FmB~P zqnM-g8&|+NNc29jY=@5uYU$I|J*l!zuU#bZJ+~CuP7Df4lUc@#lyuOd7P2z;>~bjI z@-2_#X35v&ZsLX@wZtl<^=D$7_>(LMyk-Yic_v3PQ)<^0X1B;M_ zwFr<6{25nWb?NN@ z+D&c}_m9)kNN45X<=YXGOKqbJ=dJF|Vw^iy*WIA@;;PBMV+?pRA#(TWBR4P)7 zxh`;L&asd4UT+>_%)BCD4bq-42N`k7Jn9?lnniK*Vi}6<^A5w4CgK(eIY)1vV9ewi zevF>jLryZo=!LX>CyD0^Terkn;L{H4$a`E*G+t-O0jXB8mwfXkt?hn>XrO8BffP(^ zCPI8G*<`%t4!Z)8pCWJdZKYe23KV35oOvbpg3cv94+*8uXCKKYR_H&9kpQ;n+VmZe z+Hw2qz8k!DPWKn&@L3Je*ul5tygKV_z zw)9B0>!WVz2b}m_YdPNhFR93icU-HYj(w)|M4MjhJkHpu(Azok4akVq z=iVrs7jB4DIo1)`%bk9GK`e47w`i!vIDS!+M0mnYu`gc^$?=%TkGrl$USuWlj8&sS zc>LT_UP9MEgCeIT<)Xu}F+v=!<1yD5Y&V+Wi))W~paalj1k$|a?>%1qJ}J;65likH zM%&!#L}}cPqBIYf!0g`mJSC5Q`=ixw+id|+neg|?pPqwgf(IIqptfcp^nHsI#eAd6 zf>Y7Q^%x{~VRS@1Ip$f<=n-Z;D-rrA2c@k$wnT-u4{K4BTCYoDxO4XPxEiJxL=IK>q zTu?ak$6oAJ`;sK72I7^3ncOK0x6|a|jB7yB*wQJRDui34OJ*)jeD_@t8J3 z$V%XbN|-*`Zj4Ou?cO6n9T>&3TeAk&F}1I%_}=k6@R+eyhnGV@bmNNwFhd8&N24JA z_?W=ua)V;RLUIw5^l*#HoiD@km5C9aM_cp{BMm+~y<8g@Qg%d&fjw4j2*Eo*v7b*N zpUngazqF>1AC7uP+8yZ&2Qt?=%8e90nKvHoD{cm<)YW#~wmpPehR*U11*-)<7u9N? zI~=2FApLK4?!P*A4?}iKY|ku*R2+*j7&R%j1G+;}8Ppa$iDhQpn4>^@@brxXK|PPS zZHmMkuhbAc*>h{1?|wn;;X{$U_Zz^BRPEbJcfsFq8M*s#I!q8kW6Z%=Pr@MaMZKT? z_H(;FpFcPuVvCvl{zJfRk@uj66`Gof4$g^B{QaInPrA=Zb890r$@DdZ{i0zb;%qY> zlq>PFP1_=665$}eeCYnv5b)sQt3b!@TBckBG0XGu>5o^I5-jswWUj1Ze&pZlL>dP% zYQ(*2y)g&@iTU=%waH935dY}~Z~&w8Imy|(ClTt^PlUvW!_FSNEoQJajN3|4O?h3! z+ZnHl&Z#RN&^>D~YYZ0U-B!ZrAJcu zO&*F|l%%}gWlS%Qj*P_DGY(jcD()<&S~%H3A<_GEzi{2=j1_19mpMIV$wPoDr$ZHX zIf~5dG=f4Reu@2=&5Vx4VdA2(b2J==p>v-pUlcD<2iekp^BpmXOp5j(PP8hs99ptD=nkvqqto`V=uWV-O_&(6-+4gwdbMBL_mA!g0pF}WhK`3QRs&|}S+p3% zx1*`Enu~2?8S&DjmcK{g2DF)mAk-pu&~VQ#7uR%I?yGZ*S@xpqRLieH)q(UlM!uaB zY8$Cfl*M?8zB<*Q8>uKNky=%JuaYlzSX>jejy^a7*qDh@L@*?KoQ@VQCFBHIj>Vq`b} zET`@ku+}!dYzIjr1g*+e17{<~3sikvr#U5)1$p*j*IdYrLr_EGsffccGm^ z)xGa?4;e&;1#(NM|1H!L5b|cWHt?5rVWK44c_?qdvLSWK`S-_o-830yl)T`=wh*P_nlX&YOqNJ=j>pLL0oCg8~x@49> z_@qI>IIokA@t_wm`jQgkAJr4YQDsaqR;zFU>z z)$*+4R6zFiXUKkUUJNzV%YL@3p?PwzuZ$fQ`#=fu{#E6613>`ldM2_zjuS}la%>Ux zgd28rZ*_X`7;c}tS_Ep8-fJzNdZrIRg6}?ku>{`$p8T9oam}2o4Bq=YH>Vb5A8MAQ zJ;cN<0f8fPnP(uSqLds(vyaj#RkRJb^zqbIcZbGp*_5ett(-CvpI7OFo#dA6z6seY z?vXMqa^<>16-%L|mp^CyZK4n$dM+I?x4T4}BE42{b+3Ht^!&(Sq0{V*);Hytaq>k< zzgPngmh;sfs-Q&M%Dfv}pdM84WqEtcI$QbPlafa*w1Oyx3A8R7yAjfYL}=-t1Dg{T4RiM<%5(_j+I2^tImGYLR7w&PoN%3%X@Akq z*&{L2sXj4AYYAZH;x{c?Pctl`UFxPVuD^g+@W*5TpBrNVK4U+CwQ3(cbl7am@?ld(K23P@vKb8`0>7MCFXwMXVe80}FO@-XtUD&iPJ5iABssXf&1*n>W=_Rm#4p8E` zuwP}I6&EIQHbL6+r0eC$Y@`pR)X75hXOYo~fJ!T`dvUj4{P>ue9D3wB?Va`fV=Kea zyl8~5l)+Yf-yr&WZt=qh4=|QTjIn8e4N^a5nU`$d^6I-;O5z>`ebMnWsQpfqU@=$=z-(Vf<;z#HVU#M57}8Irsvku+bOUceSwtov87$T6%wITBb&+zwxj>Em>ZbbzX(TJc$9DB zBwRoG)#;|ov4`765!+bOSyqNwIP!eoFi@c9R5>^j_x$1nW>v1wphXE#RuXwc4$7sF zb%@OEB<2X^xiJH!x%5^Qk)8Lw<+jsyQzC*Ct1#-W2FG||x%`X2h)ez}+xH_bpPYkO4WREvRVI;ya-Grcu zlhXKPF$Rx$iJpPMW94UGm2P7mvQ`q5&%fP9spYvmj9=CsQ_K8-x(Xq%NtG&gGIbRL zn(N42ChW&a3kbDqo^0&&t7Zi*r!b~WH0-3%O2NYC+nDPpTqd1^P#zAzjnr>th^M5R zJZtB#O%D!Fh-{R@g`>2)g^@MahYTyXs%RTOAS=W~SET3nqZ>{QpJwsdhmpN3DIVXM zPV+_V%@rcB4e?N}1v_t!>(v*Bc2^+-K$&E<6U)BD3G@ra$+P#5^T-n@#mfJ?)c3?5u^yD0*ogXek~gBIa_V8@)umyN^eXZ1IJa&(EhuV;psz zds&U6jmOLNKAfc>PYNs>RaH*iA9K{ywm0Rt`Rq5QH(2E4^-Yae>JJYL>s^;#LpfKPk&t8%*@Q(4&dct?7rC4Nnk$b9WHwb8HvpO4@aH|vsj3> z{b>s-u&TlnR4};A%z2@dA|=@*`$G~jQnCHBl`()K#*l}rdgF0r%KFAtNP1>2xeHyf z;mTl+ndUvUX!|Bdnu5Ah54Wuoswe@Zw*p?J8w>ROjTvod1-Nq;8BaQEa(8ZWEK)an zFsn*mSOxd^L_U}UZo80$R9G;Qm!szdm^B=dhlSemL%S2VP8g6xK5N-#4VDET5H{3z z*tx#7wcRwPB3pNVdK0osp4UQ`qYI%C*fLd4wE?{mppnUv`05X zAQlqrEDUN?D;F$X9C^o1wJ}oPkwFxBirj(?f$Oc0LJgBo->{YpWVr$J)_mUxby;a_ z{pKW8W2U+cd9y9b4kY4@rgTn6^Ad2mE&2vT-XOs-%=f^h3@Ceae>c{Ab3w?hIG5{* zVbuJ&Z_SVd*K$RbZW$08mUJMO`4$`M=*b`tzM`p(KsES^K!BO+2sJ(v)G0a@gRowe zD8xlIbp^ekW)~!{zG{DvVk*-KN5z-j4D(r#=sT2tAhf*fd&89U%|3PgLz3me;q$DY zc%3N_e=(46F@QG8gL~&2G#73AZuSk-8^BYp3h>IH`TQ~#+)Ig;r<&d;LHkBGist6-Q5Q0yx2tLS^P#-@)fa_N=d*ruUdSfDX}#h$y)#>&Oao~S`5aH$RtBt)vUw9HOb68LTQVaOXo8Rg4hLl8I0!pS1ulXT(f2I7NPQx| z^VVKM+=aU!m4xKc?T6^1z#qlb`rT5{N$^+X`~`5Vn5nv=Es4DDLdDkOZyZTml`bw- zrn~}4J8!+wkVic}VPS8f`KaKv^Rel*8X8Ek-NGpdMOP9}bG_2SFrtjmgMnFxX9e8Q zE3W|b+uVDR3i46`Xj1b-Q(pjCtFol5gT#RTOy!>CnQ#wEaO>}Ec(+caWw@837dbtH zM+(B}m{6&?=kGBcIKhiHGQ*}b7Lbzb?VI=@@=seOgb@o2#i(%#ut6awY!#3^b@i{1 zd7G8_##k4ZyCOtz4KjF^pVppXe3<{68~o!u%^G07U&AP{H4bKLmr) zKz|XORJvN=bN?S-L7}Px7w8N_htt!G2M|c)CviXf8$V#9cy)%SAe-w7X>-utu5MG) z`8NRmA!mKhdXFg)kkoSlp209+h*}JMs|*K$_%KDm^v4*fG^JKH>DW-A`Dafs->?GM zf8MZ=0xf#LQww@u!0Z>aUaXohYY-j(A77t|VB+5byZ8fps08=<1F(zS`=8e50k^CN z>Z}6#`t{Y006I)m-1iEk7lgdFCuK*`SJAws3ucu*c*BO|ZWlIKtBbw5mRS%|C5b6W z3kF<%#fGL{#{|0KMklL$>KP#36{)kQa2+DQr=c!}z9872;+=Ptiw(_tP+cGmCg_<; z#=8>*5EM>s?Z^VEE5Hy84~1%A5V4HdtbmjY8>s5bSP&w{94DFt?iHdH7x`2)5IpYn zyDR(x{Q!iWQ*ZXkLTh{T03z0C)}t)31Q zgS?cr?4+$a5b*xb%$rU}z;>*v^I(I{ID&b-uKpXn|1($Me@5?7(f+sc{-{6{9@!L; zs^os2Lg$mrhenPlZUU38<(=Zn7OMpW+oZn0lmeWq%D!Y93Z(ayVn@!w1M0T&~9OOr>}l z1CNu0SN^eOOEaCwj-Ii^2LN6UxeLvtww8gUIOKm67QY_D}1H(3;Sw3zdG;J z0DIM1Z5k(aAsm}06a-;3f?^V<#{?AR!+h1~pnXde%<~&<@*7zploMy>4+4z|0~z!K zO7nzAPuFVI&zM27q5lTH9&#yQHaTSYxvSs9p%?ywfi~BKQf%QoN9li6moOQk=TmiP z)r7_TGe7VND(iILPsS5Uc# zzjH7BZNTk*h0;a*zhF5)6}bPudbApoKQM^`K$>MPRNyuRK&m4B&M*c^F{{!+&Dj=O+mD+5Qb zYNNJ6GK4#hD{(NOZVbGz_?-C_&rt3@R0E?%RFAMN7!o05o!3@Yk7`5)TDDZ*3` zL?$g^c%T`Gq8sQwR4i$io|s;L28S_H>O1{hm>vU}oLxn=*q}umxKTEmCRz{84tpO> z#$JR_gO(Bm`#*L@h?1a7SX(uF-Gz%Wx`Dud#|ye^F`qQ^bQfv_vGHpv zqKoghL0cth;k}m&{-{P(L_zc}+75wk^?qo^pqbY!h$<`A@zn13+5LP#6#!farSC!< zB#&&p*L7zzVhw&A&=LA*`WKnBg3eDB#zPdr!ESC7{I9SO$7o=Zs~j^~Z%nnGrQAC-u|k_>iMYlXvWlJl%D(<_yf3~k5C zUgFqyx1Fs~81yW=8MCvN1Ntg4n=lK1RKVn^T!Bz#Y$e$0=VUw68;z2C12BGo~xW|Tohv@uG#S_KBP!ORi3 zsOBNj(rP_o>$%UADrSnc9lHb@-(Ht#_?nZS@R5b**oi>AHsxZ&Y!(PUVn7$x!FUyJ zC%$@fA0W~ftE!E|b%&)WkFp);s6sWA%1(9$j_lgAPtG7PM+CaesO|aBJyztVcy^D; z2f5uy(g=<~<2{FPr^K^QJS|S(wB&3OE#pFj>+g5q`JuYaot&{F!Us+{rwq)lLzyIj z{@k}Zn3zH5Mmd>aW9R{GDt6C=wXrVKp8=j(RWebgE ziTJpNrVdL}4jQX!G99W#;AbglHBnyYYv}r?aJFQ(XQ;+UxA}!$ebHk|)(Pvls>tmlg(Qt`fk(7gQJhj`LpvmoI~r~c1xP1ezxf9xy@grn$jy}Y)&upV@ip|=4I)wWTc zvj`cbBpR6oOS${CAF@&t&yD-! zrW%i43GlC$k4qUiNWg3MSm7VW%f@>ZKv4)QDe^ch_PB=!&2FztnCIl;1DXK8xVmJaccC&n=Y21bDgfuv058y=1Yo2x**ATd$_V~@ybG4b0FCrDa zzRBeFUnz*tGmU={b-xFlfQz(SVy|;ydijm`z*~s_S4_ZCC=NW2lvs zAY5nn`Zj2-##-LlT>QPL?p1~x`eKg5v+xhc@D1SMpakht?-t%A&9{UrzVR^d+$?QZ zN1wBnKwXkimkLz<2k9K6fc@%! z2d_N}blYZ(Jw8RX)T(3sS)YFKoy6xY9j*cB^+V6vO&iC4q|VC*nag{(^P}~+)Bx*SdqB})IBnazoTPAgq@pYq;s-d6CD*ctDoiQpMXdFp zG3BUNi*&O4`P5NeY)|{0<1awoAz33`y}%JgvxzmqK>~@}@nC_^;LPpO6hvP6RDuM9 zumL3lW1=NTW<4O2c~aZG;2j%%IoI+@7Xp4faw=8XTc+n-x5R<69SsS1N3N8rcb`it z)51mZq}E}4w6r)G;y*_45wr|5u3U^E*oo?2j5U-JH96n3^{qY>?=#WIdS?9rG*1)y z=&_dF?!#NP@~LWTx?7Bml%R1FoJ{*XLPh#wzuP+3IUjQlZh9{4>f*cCG)7|Y4%9<* zYw41O11LNBPlKN&MWeI;N(F2>f=8w0O&y5&3#2_qxphI3GpPE}WI}8;pEZ(*%=qzH zkCiNRns|Mlpn@GYk8R1>X5%$=oZA8*i5Z8fNp8*GcG(!=Gj4c2(DG?MAFqimx2fZM zmQwsxA<&EN^F6QJtA+>I zwO8dB)~Vo@oYKUFg6*i@gmhl}8>0f*!Q-dipw{b%Q+1iG{I`}zgsn{Nlk$sB*dLOV1t!yo+IkQ?_BtK;Z zhvC}vw?~y?2dL(qbBte6)J%1}Ziq~vI|u%jAE2$6ElB=fg%2=T@Q}_^T4pt2v;c~! zm_(TP7rB+Trrv$kfa-x}L(5rhXath)6fG8;5=1t=xyweLwKL6Y(Cu6R>!J1x#~L$< zG8h&F0v#_Me0@dZ`>UdJ@~dv?P%x5-fPBUwTTf*_XgJC+!OW&b&%>J2Y4OLv0aI!Gs)jhx(7^#11Z#xPUrn*DK{ZeXMg>#T zS@`_7*+5#>$eJA-<%V}T$R=qu6(Fm(C*eNA=jY4PJ%b~(&V@U>eF0PkBJn;o=dkqY zY9gT#CU&`)O;rU6=9&h4&R@+~D{G{um>GC!BXE!?wd7DHLP=M>oa}iIiMS}1yq2Dr zS3eiZn><0n5Q^1O+!k|=-$V^kdcMwrJu3VBKkZ#tTvJQ8j}%2gno^EP5e|ZMM2d7Q zV4+G?s^Ae22_jWmz!C`E3Q83a=>b7H1R)fa-latY(yMerk~y=M0Ahgvo#R#1)uU|!C>azb zL~^SrJ|?GGOIEG<3>P$y>)*6o*oyM1d^4U0Y+f z!}9l66#^+Lsnr?!e;h3S>u6?JdhX8JzmV|^@F~*;i6ehZ5)5Dlp)C17jt^g$K}3>~ zV(1@r&QfR~irWp7LGi~N5_ZB+ur9O5J&Rvhr^ z@65gboa7zs0#uabME~2bCIM_iL=m&qr7_C|+np0Y$+Z9>x@8xzI2*^RENo8X#^76k zX#UOGo%$f_Furf4E0@Bf@|2R|(gqo`szN&2v#kU%NRku>d&28tzfR2o%{XPgSe3$= zzsSX6mB1MOeGFDr0vtH``Zo7L(fJ60)W9AUyUUC{wW~Y&OQb>Yr_!^Tj$>(?{jw~1m5*kZ#bC*j2-u3 z%|YC3jv$0MTAS{i3FN6<&^N{%6ukqV&_g^o8{qE87VaQH3RGAiHK&rp=qqCQZJ-7& zYh<46lGMAh(k`=eAOIpFUu5}#fuPVT(GOuc)-s-8*>@c7u!9aqfH`BIHktpLnnYS# znjal$K7@6||MAdcU@l~aGKY~>wT4tRPTq4G7i)zt%wyQG{96#3QJJ!3o4+ zHZWgA;8S`2O-Dhp?l0OWBEci2v7LrCw2H)L+iytQGLjsoS7Z9~wu&OKfNLNEweyO; zAp@6bs4;E!8roIm-l6{=&Q`E4KYy9{h>F3n?2-3 z{gY0J8D7fpncYFK!8a4a%%-JQ9Cy$`6w<-3(;|?pAPjfn+YGs9C{Fc@UZ*!KCs&Z> z6DunVQy4EVzB;w|ZW6B$Z%{D)eo*kM2ldnjSZWqsU8-+1G>S~rOnha$isy70_ct(C zhflxT_vIqZ-{Rzz<@dJHFDs>=HfnzNbJH$fb?>P#Cw7$&Pgxops=WKUA1^yx1mP9G zRxU!bXHV6A-6aks;X8ADi|x));^iSrYcq1l9W;7;fCi>6G)_5qGg>duz{GWhgVMJ5K4BN<5*2!azWkYzDu5{xTtqwTHP~4`R z(NUKlDdbHf@qUGEWk#rw0#;O2^8-Gafz&sf5T`7Q7JnFJ&8k5EqgCk03wdQE^nV)z2v+O>mmjP9CW3#v7D3+AXoUo zOW~tyFTJ@PQ8FjCQ+C`)71o;l%u7jlzBl&XL_L>{ot*xAMQ1>b-k615sg@vL&2 zNdoP$3*JP__o97izc>(FBx-?)j^9AE9MHtLz~xs*7ci|B1(JOk+Xq<*2Jj>M?70Ih zSfa}qxd=ropF-YTJv)$vnVh{hQMfNqHdcj;*0YuMa%$~y&G9ZVm!WMhUI5CeP(9I=zg+ zn;qW1?;$qUIymQT^z~!OV*4>Rx`oin>Kk}7eC&>4onXRi)ebtevF|{B@-i=tb-vVaz%0)JE(kUv`L(uW+|g8>-1tfp9||uzU9r2 z&w%s4I?4A*bNDY>zygf+>`@hd46-G+b5Wwt9(~xSxwE#v)x_3^z6R)#eNJfmP=L?> z0C&HyzLwgiRG`t>fGS43EITIlS6v5pe-K*#`eTm&wv0Wh>%QZ3f6S2yHp}x1ziOKQ zWER~@aCcML6%^UnK6j!a*fp0@D1LF&)`g%Y_!@rP^4p73fj?^%;(^)mUkUh4A87P5 zaUPf;h9T~Ep_r{X>{u9K1WsD^7OgFi_0ot9>o%>SXu zE}6IS?JhTO+gJZ@goYLBht7vB(N&cscIUHbQ3^n3lH{8pWHB2wl`)U|0YPkVkb9~< zXlQIMEefE4xE7m*n|%fL6Ga%JquY2<`FBzK{3aRiOHy3k(|M=7SEdh-U9&C$NJ0nH z{wHGs1h2z4dh3;Ck~)Gaf!kqFe`)Np#g8Wipkn<^;t+6L#B=$~e>mlg$7aoi-TW?B zPnaze&wlqwDEXdAJue_!0N0^t2`9gaJQw#;NF3@$SEXEh+I~=WK=-{@l)3vw!gRil zu`SeD=WX#g`ZLs|pa3*I>fzQPN|OXUh|4`XQD%29x=k;Fq~MBCX>|HfJ@r?xUcE<@ zJ?0+fuM|As*KES1+f!rUuK;?8$vGSG=-w4j7)6^walR@tu-A_;)A8(t{*^)77SB4V zb^z(hC#@vh{d8giU{M}!1C;b~JTm~6K3jOqz4?{2urHw>r)?YStX_%_7QXTj2GYu| zcoC;86Dn6L=HAd8uPZ&50J+I@oc%z$1-h?%;O^%)0HBof9aF%iThy0^g>Ti{33=hq z1Pd`j$ZyrzVXvnE86vJ@c$L{3J#1vCsD2+5DTo6(smj?Aj~M_2E8d;}GEH59+wLtO zP;LvUZSxLj?2(e+ET6d?DVcHXlY75oR3%|>E)~pmiW78|u?HZu198@hrJCmx03Kf| zFTG|sXq25#1X)hDUUS~K7%|{wY%cVaav5!OZNDh+Mqfus8nh@-1C5Q`C-V`fR3P`- z1n~4BRX%m3>=I2(dL-9?+0Pi9U$8~L-i~0=b>l4>MMI$_u3e~ z+M}w(ts<5}AoqLERb(E|dEb34j)~T}h|mLo*W6cr(|Pso)eqp^%xi#x38al4jC(lC z3`%-`(m@SQHv?O5DrU%;r;wnr*mR!Fyz{L%1~`@tk`KW##1&WI!$^G#em8XCokyKu zIIyM7O>`+zVIqPTF8S*c*M^&Dxn9y>{D2%%|`m&398n_mp4y_ax z8TKb%p%advEo7fP%BJ9eu5gzYDLd_?GRX;`?=D{W0_i#0=O5c~AD?h$57e-SwYIO> zv|~Y=dY2g)fT1fYEOj3c!)FS`B%??rExz#O1(3d}4HzbU2wJVCWBL$?zMPZ6j@H`&;9r;KIdZr!js#rL*C=g2I;|| zHZ98)#gQ|k6qPQKWP}UoN@O&LpY;rd*$GP;CW(RWB5E6x#+YlqX1CJcWVC*7JY!h6<6`}YY?cu z1o$>D|1`2emTgbgShL2XVu>(nJYL(&-1<4OVx>5Zp`v zEoV{}mE&m`*(REpJGdvy#+pi-m?vn{EVRmWyo;?$a#f`p5T^d0Yj2f@Zvk%OEK%9wr@xz;~!2}K&X$w)tlZm!ewJmgzCQ`m2$k-?^Qo2&3koe4wI44M8FZu#dK zijKck+0QA>ssCpejlE1kA>?984j1&Ww!^?<^yNlOIJnWzO|TZK@*Y}@_wp!RsN>Mj z8W}ROKBab4;F8(jM8Fj~Km=nlaUpH{TD-dR`~2`H2sRC#nrh=KmRYViBYd9U!qJV= zQ^fSLc8!Cum)~C0ArY6ge?5Gbyt*v$!RlaXAwsyU=cyaIG zLncZ7WUYuD+m;H2xc zSaY(8tEgBoKHSaBL{_|ESbGK%&$n>EpO6{yY4ii+SsSf?TOL7+9c3iz_)h9~H3V$H zCt`rCpS(Axvu^zvNpsjb&8vuP9pr9`GTe-LQz@kk3)Iui&!F z8sew|a=3nSDQ~nI3RSpuSmSnt)mVt-rgeGtCAu#WB=lz}A_3#*8|KCbnq?sjmrE-M zD!mcvc1*Nvb+`-W*1;bk>9;YQh-MmaB@{6(BNb|S)lt($IKQq}3=7Ja28axnKaZ0l zg5V&?`YZ(p?eqX;io8Vg#aXvT#|VY$<+yp0hii;S?Qme9SPEX-)7MyjauxIRNPi(v zv8Vp|^vtv04Rvp7d43vR+1VuVgMFq|WVu9n#$G2g^+G3`52cb2np_w?Bw>Jh&%7ZH zH%2EgzP{)pS-lnq+S7@iH#up5qNbgCOz*5l{;1>kPG70pCdgkvEI0X_AfwBwO<15H zlRH*0Qc&{I>;5YYbL$qGa-Vu)sy7S8H~N}MZ8RQY|=YSoT?j( z-e9Dapf|9_e%Pn7_CdJ}Z(S@3>%H+*>&hla);S*CeK0)%b*IiP%~vQ(8MCHnvL9_C zaq?3?j;iIDu1q6~kyUy_+WRbq+zs$}b`jcKf@)I59E(4C@s1OFDE zQK>G2=(Vu5n6-g1lUyQVOjY9HOdTgC{RPit(cGa| zoL6NdmqbrO0J5qvg*wc&Hidc1e2|6e=`Gt|Q4|yFX0dxQnm-lOALzv$($E!Q#gSoA zAs+8W2K%~@B=^;UoXguyW#U50Sl6>o^B_L-XQ$xm*z@XaM@&d}t@$#EPauQae$zHY zwD3Zc;fPHS@T|r`5mu8EG)=e=U&^q~pqVD-8q#q30X=Ki51{*G-+=i+H2SS1HryDf zu{a_KjB*(BrJ^2u1|pN*Ww64Xl}q^5?_f6$xuHU)Yv>iSyy&bevio~XI>nKA4^!S; zyBukW-qp$<&(Q`R>r=#q;(92w#Ld9~(IUKMXf!Y}!ba@UFGB#qusY9dMt!YI#k)=5 zC@X$-v61uRyZn}irg4xP^W94#+P&p# z5gKa9>#>A8mlVTz$L6ksjL_^rRMl9Z%I5XA7Me9sJW%86T#)CM^+XFm*4*41#4UqR z#5Dlw3)*!C;hbnP?Fia)X*sKLdb}SN^CMHwmD=l?rNE27AqNezCp(2V7?vM-&UzQ5 zb4{9~;oLZs9_>O}(FTQr`eE$(70@g*HdQKo$_uF1^!cqTzDvp6GX>(Q zhS>Gng;pm4*%QXKsjFxZ+6P$tt8 z%aF>q8rXjum_%K{#N|hRp?mGb{EM39r&2txRjE!<(z%}mv~>tZ(7wYCjzI^NIOn>* zx>{s3U|1w%)zltFdSWfjBzl%7Ww6$FRMtQ0)J@YbfWkZGO5tLu%;!+Lc+f5_JErH} zAZUM>p&{ALQC%q}nf+Q67UY7a^!KE)2%T>@k$DV;96#a8TplWeku(sSI zf3_rDY4V=Sw+U4~XQCH1Iy_`;O2q=sjaP%^n*{i=mC-ufY@rJmYVt&wu3*j9MmI^N zN_p{Wp~Z5*13#(N<=`^zqp0narZBVc2&AGa)bcGPVQm)fewOYr>lkbHnqAdM_R~a- zlT8}h~IFZwODY3OJDu&~_J0(nvg zmm1fKLzF;lc`xx+ zoFkj1k8>#yhM6r)NT`8hobS-qv-eQ&0oX2dpjG_mQgW!=!MVEtggY3y4X-bOjqOda1BfE;y0TVG(nrGP*Ym&b>L>d9TS zQgy>eY{K^bi|n#{16^EK$xyHbEqYzxK~^Vt&z5xkRgXu25~V}D9xHjxYQ(=ENOzm? zIllXNJY?Xs{IM;r&1<~v2!qiVUp%K~pqm6Z7;DjSbL*F1C`;rCs{^XXqbIi%;VDV7E(G-esA`S2|J~Bzr@#ZpgB$nLx48t=LXqQc)N_T%NV<=WLIJD+8F;T%Uw%un;E=oeEvr=fcnt8CjRd;&n{#9Uor-X ZA?JQFts+&7EDZd+cwYNl&Kaxw{{vp(0-OK< diff --git a/apps/docs/public/binary_search.003.png b/apps/docs/public/binary_search.003.png deleted file mode 100644 index c3d027e82cd849fa220c6dd8fd1eb18d23802461..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46257 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

ac_uv1=NYbZdB3Pv}v%7P$ zw+9CYuVVHs@tg`c%)Qyqu=$z#vc!5+yT`|wtu0+9(rC2OX^x|Z9f>crQuullk51%~ zs{K87EiEnOGqM+-Lt@#q43h9tI`~Y1O>Q3W9Yz<`I9Az3QMD89<$P51WnwSDD}M=> zO}nHyA#+Qu<1;Ue`1EXr&S!~?9`FzZILg;+kF@(0G{Ab%iur`#XJ)dNctpKe>J+&i^SX2-dNmsh8Tc4$;+m_q5z2UhJ zX8`Vr5jiQD8q^tG8XEXV48O$l zj~FhXyZ`Kl3tQzMqjbRn{bQ7VJBWXL!*5%CsO*ibN&Bk z!1_A%rzXYU!p{b=l*d!9ELwHf@!jp$ILv8mv(kBOW=CMRZ=;!mf-@X1Wjp4A-|0z* zn|*$&C47?qmipekaUm9F4ei=fwR_{fi3}-e02E&!=WPuB9qq$$Q3h)iqIW!nz7=Ac zxO}gg!jS3cu-l`jph4jUb>tL`A8v9N0%ddM`uS~{Q>wMBmaB{_HQm~!k%F0t@r9=! z4bdDys+QugLoRe7DBwdkU-eGO;)acs_0&x|Z!$4gS!uUp`c#0_%Ks9B&;{5KF6wh) zVNIt0?3EX4fl))8Zdl}ypYsQ!n>j>ap?|M)-(`KRT=%Z0W&Woi`14|daTP2a!r>H zV3=JV4|3!aTYMj)Tv#PpL)}v}?8&%bcx$K02 zR|w(>Tu21-f&$RfQ@FcCtweUbW>5Aeyb|&S-61`<@Rp;#NHXJmZ)_As2;=+=H`DeT zz2cd!?sV6~t{=`y)!E)(X{b-6CM8sCE`h!T=aV?$3lze9PI9axp078`4DMO^I5{Wh zR#>E5KK*#Za(`#AW*|jP z!WWJFEh9L+D*b+foP=&$@`5Gs5?){)^rPQES@^qV z!RdqHr#>#tqOr*=2HW|QOZg}*PTTkP5>$m$l=sb91sX>&Zttx!ep~KuZA7~Brpu>a z$ws6sb%J`wPp}sMv0&N@EUeI@7pF1Z7m?!&^X%_?L^ZlC9er9BjJ(%(GB3uWRbJWZ zJjor2ls8sQlq;<)dbURejSapHV;|jDjxT#% z5@W@*JU|j`f#h#pl3FXOUeBFYh|mtG=J~uOZR(Fm0sz5IFjbo5@7RWZ5``suV2r81 zb;v|g@>I`4a+FyD$%Zq``B8^paQR(kh#)lI+Lv4#n@3WIH_YLh(OIDbKPxRqE0_{M z!Me{<|A|}a`A_N#dzTY?X0J+GnW|~u*slNEsnfh?1BG-Q0P>EZEC-XcnP&{1!flv%A`iG?u zHX_?|-~up$m`5)TU1KT57rd5_FCiEE=2)&HpTw^2upc)jUAvT_EDeT&rOFO$qd8sK zMaTwm^`ZB~>NUIETK!@(-$m^+b)VUy?)}9ZgUku)Uc3cF@cLH(^q?|zykPa}El?J% z1f>&IIzop_O%L%Q{-%HY}QKcMOrC5&CNZQ{Vn#iuiV$3OD9R^Bb;ANG%2lWAl+FG>>XgU!FWYh-hQ4%d71NQ~(+L`#cZ zvc)T<9Ys>4p%~T3|2ZM8M{-n5|!#0sw@6}u?h=@9Q#kKB7Lyv&Zf<44q z{^ZgHQ;T(LiqmBn&fkcMrrDeRdD-`p;OevddF9>3;@7|fH(_?YWG`cOtzF2_-b3Xs7C$RM6> z)w_UAg1F$U?v;Ofy85lG-b33K!S^OFcXQ#8PXo|9>1wX^->5kPF^|^uw(K>CG+uQG zv9L_d!rsxizJyRVF9RE_D8C0j{#HJi&$HM^%wWT#6gVg>GA~-~<5$lC#96ff2ykh4 zZu9~#HiF^yPt_;Xy=9gTNqz5fyIc=Mkbup1hl@2B`+~~FV$JLb$aMwVoc0bvEKd6g zcoPweTzF_D#2e8RLFx=o3xCg#MV}H4pF9}^49+|Fav8nH{2DG9>^m6MlotLf>>{b) zB?Kvq16G)NpX$P1|3x4V@GmKD5QWHvrTv;j9mro(DHZR}=WhYue%wXi(p{kY*Pu56 z^K)`mYxPhhO%yJ`k9oo3bSr)c4nOxC7X{Z!up_ zUNBAn!r>)=cOhjOx{$2>dYD;xp>9@I z)`;|UMi~W#y^eHU!R{|#?#al>ktBD{cTqeu(H<_diUjpIBDpIss#8+n#l^*sZjrn% zblZN~($WIE=it-TrL0xwRpYqaC%+wc%cC5?^tKj8yvhA1hugEmHg!?>tHb6ZB(Lfm z2XPp}BiRQ}e6mmdo}8W3Ww>oOMkFQWpFXM<@mcIPk!=d432vbF##lJhI4mh=sM`jMfdpd7V>Q8=WSx8g6x+Uatzi!;8H=QuMP^e_y9{W?D-NF zhX!}OLemdkZ_46&inc=n?3jK#ITwmH=xl-K*s2L=nnS8BX}ywQKGJ+vOgTIRt6Rws zASv(5x5q?3)De`>(5p}%h7>%0 z7zh;xlGBPT5YES`xC3r|2oLajbnd?$%n85%ytjid!CZigw$->BhldhM0^XRuXW$O+ zfePj4D?-7PkEAUL{3)TbMe6==N+|RaHtN0l=yO_(HRCR$bP$0z91Mt-rNJCIDGo;} zsPzIx{!WZNkiXgwfzuDLi3H7C#AqXI^%RhGD2Idi<8ru`j9rMEX(#^bxN`hCiXflQktMS$Lsq*hMrjw5h8gPp1uBL4{#ny6hpWa3*lds3ovL z$)Z>Fen?6d4{;FQ@5uH6_Ec-6Bk68gcc9xe&~E`85Z3IrnOD1zU$ zV|e{Ll=v}P_GQ{y{nj#@*e`M1M!g~ZGA&0=y@J~2P=ntvc2PP8qEu7x>c8JVvdqLl zh!h3#CSci{JQMk(_~XT0-rD&ud_H*djWo40Z}qf@^HWshd$W=Z#rc$Z)H;416d=NPV)mkp6a$+q}e ziUAen9$?#<<3R>$T|Ys1_b;rT7(~k++F7e5kmjW`k_(_-k0q!h+VCF5RbIMTi=5or&cn}b_v@Q;-vFY>oXy|TogC0DXgktlKd z$&~8i;K$f*zt)4hto6u4VM^EcG*$3$JK@u}$7{D)mkW4Z)T_-iqR2(hGF%UDYY9z> zA=_Sv#8{8A=J<^;3cWuyU-ZQBPQJb@d8VVT=l;^tV^>1XbA_+#9pG3AnJ#k=M6cdw zK>C67TzeNkCQ?F24Xj<#A7F$s{^yZ40j%Sf7W!8qx;vp8dgbcs1hr$ixpliaob87; zu5)%Qqs0OZsRzm5BBG2vj%zx-t}ag>rk13@d-zj?Ogc+ShrdwN$u)}kNz3}aDm#)| zDsf!I*^Xz)OoGAL7$j^v_YSwO$f&F5Q3|0VG*<&8ay#E6MO3!7m+dg%xv%jTkkc<( zx~jDdJ0M#)n*q%i;N`wjKtt%?_>dySrL9ASgMzA)mhc;N-B}=_9|DJ zr72kAQL$Y!7?s!`dSQX{7aS`L^SX0~(nr{y@(|F14qDxHJt-!jtGD8V9 z6i1|}6<1!jfCzJBpBp&v@Z2aME5Tf!Qp_(K?MaU~najtoFb!(Okv&yC zmG?JxoLe0(4G#`}`w5S}D3C)vTpM%)Dn&#lsgkz-u?40AqVN*Y*5 zTb76@uQp(=1Zj?R$hl~xlUD)45%8A{BOC_F9W7YU)VpSpyG#$4oAb-&s%B4JjGNji z%8oExSO;?zj_DXByg708td`v*=Y5&xSGFy8ONY!ByJm}x<$QYQdWS+aC7XnSgJucd zj$>1og6HPSYFY4m9^tZZa1`~uQ4b}XAcmy;n6p2JobI$`4Rw=)sIia%WPYKPo_E<_ z_oYUsmzk5)h-t-XxrxTe!P=Ko{KibFPmrXi$Fa-deYL(lb^BL02M?Z>j^t;1EdCN# z>kqX7%}8Egy2r?iL5+M2|duRFzUI?GFYr?E6 zIT@+GJkfiFt(?GGv(mFFx7Mm~CE<#@m{@eZ>BhzlnQUF519sxAkrrO4=S4uqZehO> zur0>I3hLT_Ilu}uc-S2+3gC?Y70?@iRt>@&`cq++*Mp;aDDWp%ZtICzoai@(wQl6B zSF7QeeACMl&Cqf%yE7#kkr1iEUgY422Z2(8HN0;8wGLygqiO#c+L=ZAY-lkUl37t-(7h}Ah_opvM zrWyxbUFn}uzcS^iEt^&~=GAmtKnKjSY^TK0qJ2R0$Y%d&{V!*LS1ZE;dCalU9rkN` zO(2vycHRL<&+<91bbb;8UQu8=#zejU&YBzc^xJzbo7N8WZB*Sd`2)Q^(M{8d(p6>| znF#NB&xoI!&~TN%loXBmxy0L=e>&d-dPOP#v=+ot=V6;Pv_QmsGwqlBLCy!yJ=ZJJ z^g4hGx;HtKA);cMhb9T$#GH;poGrCiEh@tsF5;<1{@p=I5}Xp2C6F|0hG|*$N~TZeqtZA1~XN1lt|KVqI@*z zjEVC;W6eymzc)3`*64Br7|EC<_eyD|{wWJ)KNpK(QDZZpm{apeIYaj3kFV&Xc9Fz}PNW=v@^FnujD?n|}t$J)&)L zk6KlRn8{_7Z`BUY53Nwp(RF4gi4@!Xi5PNLh20p?Qi&#T5vC=kL2z=P89^t;ocVw! zW%tX?hr`C3W+z13vg9Tbe7%Wu0Vhp~+OkDIDtv&!bF)Juqw~%+EnSKVgf0vU>XI_& zY6$XeA5HY&g7b)oUfn0b>ojBHqoTp6eETUkzQBVeU2m24_>{2u8g8$LA4UE^;Pw~A~igO=bkk?3(Hb2{yy7MdLuT8SB!wee9M=Y zLFwvwxMri-8Pp!qCWf`Equf7J;~Hy_NfZ{IoOox}z9Pn@fX(A*BELJXQIk`k@N&E!%Kg-HJHLEf#Oz*3 z2vcv?jy^K~_*?8suIPeOHZ0}26x&TCme2>VnX>OHsFzg~Vblw)d(ac$(J_I(Z)`c+ zR6BaR{>1XutCF|t<%6g!py1;zs!w~BpXVryCJlOzXY{rjmpf(DV`u|rZ5^=6JMeg+ z{MsW)t?C&%fdZsf3<<5V0zlIM-XJQ< zdw9p-e6J=7{ReB|X=iT+Mi%aFyPu{*B}H7WG(rAhzIg3 zBgOuqyZynW-+j!vi9S}?#Cu9;sUA72ady+J(aI7NuUfLwQQ*-YU&olH5jAzk8!kCL z&t3V$osXQeZ`M3#eD}wq<{HZzthJ7I)-s&%Ag8idf(Kzw;{zgBnkkkPg`UaiTCx<~HqGeP9 z=Z}8bsiWzgaTBUc<#LyAOpqu!=5CF`U2$aDjH?vW){-Lj3Ek`TWtjT#) zL0h)fph+_R)-dOI)m;3fq9|3tDigFEjJg+j3`8*aP;9u+I=m-ex9Z->bB!#UlQ6*} zMsT1juX=Y*ZVvQhJMVg&9^u(HKWS>cJ#GJ`3AtVP$g|gYHvY~UuLMMMg&0Fs0pVcQ z>a#)YqlvbZ;NZnJYPI{F%0APO;H>ur*q`i@5|2j7479imvN7sIXz*q=n(vFUsiDGSjb~fco?5+HuT7@^ zy5=ce=`3{BcEiRAUqhF-`R+m8!k4orfIctPFKf}U$$Tzu)AHqQso&&s*OHt;p(g-n zx$I-j5Cn~nwr*%dNm;LkDQipq_tA~2qCTEV zZ<%Xwr*?6?k4Ot0a&oS32oROB%#lMa?}1$BM+uC!=h&a7Hdf!y2!t4^O0Cyw-Tepe z?K-rjs^B3QDycaW2?S*o?rc7ATbNXOQZQb?%3;x;A4$i2VnlX8wL9Re#v5%Iw)nIM zR&oFQFk7TzZB{Wm6^J*B0m;phCGh%UMD~{i_r>U#;ij%z(}fJ#t2G7`nZSCq(Lm4V zW!QXqorN`cp#*zO#KccEliaRgAuHAXb=M8*>C;Cvk3Y@g18m1vvQ+cKoi)yDWyW%1 z)iM^A-qteE37292tb=fIiq>8bCYlHYHWXEWu1@t#vTiuoE;}WmEIff z)E1_Sex!~q<5aUd9yDU7eK4R{*E476*0|_7Q@wqpcA#WpqN#N&;qX8_!ZPy_Ww;1p7%$Hr&PkGBTV=aY4{xL5nCm|zor z;J||)(kwbG+x$dfnuEan5On9~Smv}zCIX1U{AfP;<9A)h)n_jjwZL3Kn$J97Sa zNnntf3|0^$<~4Yg@H?IS7?I$fet@4N_wl`a`+JKJA$(w45uPCW+gn`-fJdVQR4Ck;UpZ5*vY5H2p@yIP zmVZebmHthD=31AnIUeGE(^5vp^6VPHt^hCpKw9y%_Ol+V)9Z@)l}TT>W^Wod zG&eD^vwz2(Ewgf;%5|^=Q2}AlM zzVJA^oVUMn>F@DVh2_Fkn)?g3gP$}DENGkx0Bo@Dah9NmO0QHz*>_EGs7E%^$M;pm z+{90LUI?78W0#_FNWHr`vt3-b$-c#}@5vU=#}=L;_q64$ns-Y!>GpToS&7EoDVMQb zgyXthU>2%$IUBGSJT_yhYlEH^b!YSX9MPlMc73@5UB^)$Gpt7i?e&l!+iz9QazNIy zx7Bx#GuB2@$((fROv$|6b6hC>pN^ME)XM=iuD)zFr)`BomE@^hhP=zNwysfTSe5%} z-kGI$fr@SPJRKLNGX&|3v}$fdP|(aQs&?xu(woN5<<{udV<;geCZ;ZAbsMlmIyMwH zl0A>|9haS77#SI%iBv4c@k`Lq`laxO~NtxOxSk8~S#Brx7 zciz^cpnEo=EkD{M*k?ynBY_%NY_J!DtbfbQl5jZOCNRTGr zRnP-vX%yrOjLXOKNs*R^P`Q+LcII4B6Qu;G*}u!ggdgi;!p36R>8h!=y;z6EHoLry zRyU4OzlE_{%t!4C_CxeB?~<=EgS9#4Qc}5;Q4Z#Zp9mPL-w1qPFrth)0S+U_e%dB$ zCX%9N-N&!WYc)-O|GxE2xn9iO>50jlf~K}8mMUv(O=D&}zDgEYiuKj~tsuo#%=NIC z#t^EOH(ba_G5)dZ%=>H1{J7ND3Tn<`c9sTpuPcx<`_VWTT8>ow41SpQ3XjKMb>`}` z3=BlzN7?odHanMaaISq_u`Y7k&PRg_6GJiIP5t3_z$Ttl)$~Ki`>d*X#q25~o1WS% zkCrLErH>zf_Vt+`rR4_;JjALBGfA6$G8M3iS^48t)7!=AYl`EsDnGX~bj%?T@ZINz zmf}@zW}?r}&$lRzhVmRga0cZBV7bwd*AqRI6%Q@W9JOxQysbu##oxAXIK6#T$Jx4~ zr848aUVAl9yX;mxI40HaG2*_y_j$C`b1j+@VuhdCY$DIxi)LNfM@IQ<_9@U}gt`b} zX!ij8^TKum1$K-ggw(rXL0h4t+w;_$S!rkFU`Q?%-y@-RK@+t;7=SlKZT55=%z)}O zKs8@}&(wbYqXpJ#M>#xbH%_(fGbWwplhEkAI}0hO?ealnTA~|Smih{s>y2oL@lvgi z*SkRQZU1#wqeaUk@p_(4>5ffAUC06Z!LrRq!ih2W@=LkE@MwVah@7V6*k!K?TT}~Y zurVaws4+P1Y4vG&a7jJ*>!}zyD27do)#k({*hAbwb79Vw7RW5#}RvK1T z@;E4$;^}2{p2mqD3E&qRikB3_Bh3Lmm~BXEmIH{RwzoBL$gVr%6Yh#a9rljj^E(_F z=PwlNW(Gzj3S`vLs2HtGv3gWRjUm}b$RjGlcK<}TMwYjd`BQ~8fVS@^FG!yGXScn> zxqB38Pb#sOOR?>ZS}Du7g#8$d0>Uu{NH!h8}~6y4Cf?Frd} zv-cUWQ`XQ@*47^OZjHIqwNl=f-TGBPJFv|ni>m--@Wk~}4px3&!jzt*p{O6zP>Mdt1I_1t@Vs>*gD7li12-U;hhxQ_)^_@ZUe2k zRL!-KPbzwzRwZ|LHVlgmBuuSncG)*zm@Ax}!rZc;xSDR&&Pr9$8Ef89oK^f?JGZmd z?3#pxMDdf+Yaev0$}+eVxtHv5L7sJBvrI8!R!~FP`rX&&R_6}3-ule^1AX+nx(y6c!e)47D?r&z(Y$mjo@=b;g|TTX3?luzr|MlJLwdvK+)Yw3r;9 z<42lFhI2VxM;s}Q^Htg%+I>+4WqQKx%VzxF3x3?N7P1*bQQG&?keCuIu`!|D5!ysD zZQ3JuK5jNz5mYrkP3DRkpK^!Ejp6yyT+KCy7@3#_IDp2cAziaXJ1BXwbXKte z;OCipZ5I^$_6Dm;mx-YzDg&o^qTT7T?yon4J^( z9>mEE^%y^0@&g^0#Gpc7-*8myas}9<%#sf}Yowg|WaV1DBKamGd!*HA&%;Cso$^XZ z$bbi;kJ%HU;8g+zh`}JWbUhFP6Po2)kFNn_#5znZ{m?BBR6q&N>vIOcy)iaM*Hk`y zJeo!zHyJ!W&G)fgk6Gq)cs)Ei0aRGwZM(RY0j14qxrAigmyK^#Qo~tO!^sYAQ;MIYyrl zo7(F-b+lK?uV$2)-E{M{=G)hBsdtJPDO4KSqZv^8si5W1xtgkwoZn*nuTqDYJpR?0 zngC-gDOJw7PW>B8l_N{q{%TX{nTp9*zkTD?_`zkzy*-vR>PQ7&m*8}4G!#9(?TB7* zUMWQbC0%KVwaPKJzHf89`F+1$;BdM}T%0m83G-WQS>>JYU#RP?e20ga#~(uCU#xIXBRV2R_g7v!Z9Y@F zbF4V+tj`+@*~$VxOmWPdU3u=~27r$v_u!6l@KdV>~jqpFI%>X-S9SzS_Q3xAlV3FBcuh0Mnm3=j* z13gw++s~7&G%q)tQ&_jSbAkC&tiG;Rq`A&Iz}OpZi%jN+g8x}TQNQHMc~QU1LD)O-Pc*rK0_YU3wr>>!?4j?0otFj3<|(2^ zK?PJ3Skot3ngR73K3&fT*7TF@28bdIrzuaOB;93_zU!dQ=?TIkmS+U7zfb_pBDegF zSLgzkfcMNb2#bss{;MAGKUL9m*$WR(T`W5}KZ%LA&^;?Z@DR~C&Kk{#p8=4as;4If zMMSN4Q`Qkz7GWQj{BGFPD?uChM}DnT~MVDZ09vu<_+w(~LbtuzSyK=r_o}!3~gv1QL6b+AycrG^@&0$D0uj+T*5GYD0RYsFoY`SW2;% z4{mdZ2;tyzTd%t)qVIu>`C5uX z(a5qlXp(5*=Cu@mP#tewIx=Sdwdd*gjFx32^Y^jS`?o{Td=-LJ&iDO*C~vRY`7&q$ z>r(#r))(7S_~^}oaBbZ%zWIe5U7aq11#0KoY)JpqomP5)_h6~VR9{-)^Fr z>pk9E8N9vSsXyDJqL6j?nVjLqO_p#glG<2pKbLUEX}I^`OB1=xz}c&YZQQJ9CN$$W zjc7Qd5S5pnJDkN`jVbbAjST5vDq5k>u5Dmt&0nBARu0y0n_4*fF%*s>!VqKJ&=p=3 z;QUZTKbxp6)wJs8*prLpC>p-ouYBt{Knue}Bm$gfNLG3xy8ULl-PgOfI=6%;U89dB z(_w?|TJii#z`z5k`=EaKQ&e5!ulnJ&voK(u>&)a=!{s1zS&_4K(8F~QUo3@2m~{gH zDyi5Og#I^PyDuW(@g;jS>0`Y7XnNa>s`Vg8xF=OQPg*o$NVKTs)C*-Fd?s!F+vw+=BF$;x6Y9i_qB{j!&_8KemQWOy@1j zYa-2|7xAb?xS7OWx=wu%7C(vsslvB0!M`elpnZ#rb+7S09^`Jl13D7mPpm9rn1axJ+eTc&gjSzwMD{u>ibrO0k zR3T8=jt9fUx|4^2K$R|`x#!dm{UDR|^-)2E`_gMsUyFq_Uv#BVfNnV~V)6U+=)jfy zx&j0di4M@C`W9yeDjoTL$o8#Y$Mic4M90rdG(zVM@rn9MsPOp(E@!kI(7FnC7&!}y zHqM>s z5a?>*=L^P#X!T1p|pvag3RuwhgMbi)0c^j~8G{*uT&eGb?I z2KgU{1*PMEzx8Xupe@JVk(>&JgAj~&>3M}a&M)$S$dWYevH$*E&<+raZzv8#0lp(f z=%VQJdt&1A<^3iBG=BfZN5BMhu@PZ(Ao;(R{%h=CYy8*BDF2sXf4>E;I#D14N6MI` z{EDtlpnw+33VQ#lOu#rGyZ^@AU*B!|YIu{4Ey`(`uX)7H+fDN`jY=}FMG}vtramZd zRT|!-P5Ra;ioC8<=J>ij_W{Ap3d5ywPf;c12+xSOF-xJ?ZmwkdUc7os^Yek60qc&A zNOF(cdzZ|H%Ra4jZ=4(e!Z5?Zcc*25O1RLv*X7GQm?fjEd z|LtDGW>?(Ph$;WGQRPxGzdF1WQ7AMQ$j zlz2X?2=zSeIAovoShawGJ0-Yn6I|rim7`I>>g{zndu3kn1<|#XB6wh@EOmW_CICRP$h@9@IY|rOctwkKKRdsG|KSsPmF*Y^^my3nH$e)Sk zL$RqneE-O)SFPA;m`@2acxl4>XR5>&DAEA*19T0Do)nHeTh1G5Z)!vJoQpFtnyB}g z<8J`>FrDA|bzX34Pd>juN-~U={q%T$|8{tv1G2yFj0s!;`tun+u88Vma4FUnxFGFi zKHI+e#>D5@z71l~u*(8^eK&iI^s&&eR|bm2Icj#4wQM>q(u3>ZaF@QRWM0a$@$cpTwqCQJbl#u&1&d9$QWXQ2{4wpxxLp&?-1>BT9Jlf5 z(XRdRYI%_CT9%X-=hq1V%V^o51A@z{*WjKyx%g-E?Qskm`kti}a!z}_;A%!1KKoaO z66ZiUS#+*Siv!s{7Pw@QZq5kw2&ie5Tk8%aPlpP12$MVoCjBA8TaAYN@~atqA8>VM zYqi^Ux?at*IsPCwH@CS4Wo6}=_wm*dmpH3`oS-^^3%%Cf6t11 z@&=CNe2dKeb#J6jnawyyX0lgh7FvSfsXqJC0|a3D!;U-CxGcbUa2YmM^wqPIxK9Nz z|DSfQG_0v>U2kGgut%Yy#etAmP+AahC{q{`>wt;^R>PnYKm-&F0V$vcNOC+BmC2zp zl+mI!1q5UYG9*!iR6wZ8C_}~snNFaA58+zqD$G_)!?sMT6du3&)Yw{JP!xiIcT2%y%BA zBGRnl^!j<00`h|ioL~YAJo``*I0Jssn&%nw1p`StrB}>HysWLwO1p2p*RH16ujc`S z!FV2MXKaN}CbpLZcn`Ke%@@999M|w%bL+Lkx_CprVjYzuylbx;~K{^HKgg8hWq(Iq(^PM>-@0?UIEhQ zC0>DIo95Ae#a>B44ERI)cK~-A%gs0cEA86;7T-SGqdkL-HB1fg|t2Mjq6ywT+O}(sH951{LI{Mts4q`>(!_?pyUhn=4{p z815{m2w#;2=5l&saC*Gp$*5rPu*jX%)KUKJ-39068{DyiQB=UeC4G*;hgYIg_u-k)iWK&jgV77}uzUjAs4v4|j-n$HvZ&mQ7ku;>Y^poU?cP zy?6b35Xta|~7B?EjFxxLhq}&~!VF2VQlOLlq?H=zQ{VPp< z)tb$kHWtDMT=yj09H6hOD>Ki=>YnK^jH^sWOm_sOGHT3Dmer`fF$ePP-$rkE-f_Eq z6V;&+xa#HcN>z9E+((sw>Oqi3$)Rq+ zb5qS+NmPql;cCV^ZQvcH|3F)`2lHO1TiOqaCOuv&GM@VaGRG%ZO4*j`S2RoN3Yw1K z=X^4#{yL&W%f?XKn&)9(ylN}-GB8;g@i&!PqgC4ByW9I|gsmCA5!exDCrQp%)HdG{ z2SC0yzQLAF5zLOstyp=;&+m!wReH(8c5wWp#xpugR#dTlB#c4hSk-L?8P|>!9!^%E5O&Gm88tu)l@JP=2RWWeYaL_bo$|qp!j}Py z6GzPobw)NfUE#eO+L3+BAkT5v>a%agA`FVD^Xs9vEY{-~(F!%5c#S7OBUTnYh=Zak^hp+Y~T&3mE zf;cAQ8#b;rpG2NYFFJNYY3J|TA0OLnb9BAjLzlt;0psz*hlab4-VfV7jO&>88T`5S z=S?0Sud*m1xS+fWkNU~10hUE`W$F|qrMwAr8@{t5e$QEYkJCACBK>tmxcb%eCcrTU zad)NFX^?#v)E3HY{cu-Tm$ZvY>fG$xsXda!`6z#8g^S2Mui}P0u+8f}fTnr*hQ{KJ z{9^XF12{ix-koh|VU6JpX`btTLrUiKBdaR;osJsUDLDpu2i-}h`6-n5CgoMt#Q`ld z_cF%EyMvl$X2y!;`G85bzgL1YoZ% ztF#I_pQ><3of&ajx!!WAP)h)119KaFa-cqywa38cnm?cQD{0m5_ETRx!}8(>8W9YFMS%= z@H9wH_D}9jS_G8+T#&Y86z_5xfuND5Dttbji>Gn4!7#xA_4C5F7nZqbg@4aj)VhiUVbekVvRa5ZyU&N+lLHmD%Ulo~v1z+%FVK(CQU zLUD;RiZD1kZ*#Vg(fZVJ@w56sGZq?`zc4N63k9fiq-%8H@+Hzj)ZH~9NQ^Ty|NN{Q zNMh*RWnsI$KCTsw+d}pD684NZV34>S!Im(VN4JlGr@~{IIb%AK9?zco9k9dj?*Ikw zge~p})(RG$7jh-#&s!xn-W#cg>TV0m;eZk1k?^-%uynsnwpL2{tf{zX7vQIGqLAXH zh}i)HW+8`i7qGaBa2C(Lp1|c0=Yqssw<A;3* z?IDFKQdsB!)A`}9OTMUq@g9?&r(eld{|4Y*-C=JEZ*_<-997e;FZ&VYDZxGVGYe9y zfK5%1lfxHI3bxDauA-=>j?%XwRsgZ>-WXRI#~zSrbQ8q-+2+QhvWx91Gve0tzC=|Y z@rw|(o-Y7Yj?<(#spdW)GWZ^cv1?_UVsdYChR7)W)X*;eZz$0TXA6g_T`*dx~~sLtKYEs(hi{umyz9V)&mi&V~j1h2&RQX5-REYuq6iSKDy zP!c4NBOP`+u#!jlF9+7f8DzH_MVmyEV4#36q&1KVWr>G=1DQe@^c4<}bEfs?j6Ysp z16$=J@Tz;(nRjKz1MzURjeUA-?cB_IS{uUpyNyM%NHNmHK*d`vY+$62P0AbD>5@0o z&Fmi}m!k}_cjf+c!wueL%LZkrosl*mGmad>h`=vIqj+yJKg5_KBAa3DIGw-~D5JTv zGF?G{0gzmT&nh#?vqrdJ4`Dj5bn?TH8~W+IF*Wwa)usLV0I*Jrf)_<7o z>ATr1?3M_2BcljPi#EPnkKREpD^ETaQywfh_n&7S;&T9nNcI300P zfT<~h-%c&UZj;o0l^lUCLVs?`euQM~RYjjOyR`DHBoz}~9%X(?hP{hE2#WF_e?Y-k zU(+MPxiwlTZS$tXZZU2-3&LLm!YetQT(Ky;zZUbI=)F=Ad+-VOiT#3Y_VVk@*WX{c zkVn+%_B=D91?4VTG`)pAYgH4|*|S34S=2c`@y5G(+IqfaXq5UPx^ExaY>!f2GVF6Y zpk!v#x-I`sQq+0*4rX zj|i1_xoOy{DHF6MoI_<@DhM8I4`w!Rp{P^foX@F6ct+ba)ylWPSp~B*hJz06>YgBL zp}DDkb4}s(JE-DS=y<=Ok8rNAmJdd7Fbh?cxt~AE_A?%NDS?5IiE^}c(V))7poX1ZPhf*a z0-J0q^{8L8iG8OraehKaWO6~hF!C4JGj~cIswlcuf6*rO);{;An~t$Ycq5t{KR4|V ze^`RnrA|AGN<%ss7aHJ-L{9+zv?rj32%~roVPlrh3#y(z({|3yqf{z|ZxkYk*wbSc z30DTp7z+*891Mb&&X?{9NFQY*i90FRLBU3yLgMq&J(J@MPu~3pQw?IknwS*SLSXg5{5I;;W z^Y)U_2>_y40b1Is{S)NTKiv(MG;nw#9=e5=gO==LtE>#IFUdLxd-KBXe}G~%p#d$* z0`I;W?DKtG;XK@f7? x;r)A0F5joaJ;QRyFNeIeU;2OCCehI=ir5#dUVC}3gTUY61J?VqzjyiP{{Y1RAmso6 diff --git a/apps/docs/public/binary_search.005.png b/apps/docs/public/binary_search.005.png deleted file mode 100644 index 40ead9dbb735b8af6cca11402af12779617fc048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38316 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 diff --git a/apps/docs/public/binary_search.008.png b/apps/docs/public/binary_search.008.png deleted file mode 100644 index e5a7ac6df697203db0bc853774ab9b733cde694b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43575 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

aa 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

aDq+P39U64;jQWG()A*j&R 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 F{{Snoq(1-v diff --git a/apps/docs/public/hash-table-operations.svg b/apps/docs/public/hash-table-operations.svg deleted file mode 100644 index 3823419..0000000 --- a/apps/docs/public/hash-table-operations.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - Hash Table: Three Core Operations (All O(1)) - - - - INSERT - - map["Alice"] = - "555-1234" - - 1. Hash "Alice" - 2. Compute index - 3. Store at index - - O(1) - - - - LOOKUP - - value = - map["Alice"] - - 1. Hash "Alice" - 2. Compute index - 3. Read from index - - O(1) - - - - DELETE - - delete - map["Alice"] - - 1. Hash "Alice" - 2. Compute index - 3. Remove from index - - O(1) - - - All operations complete in constant time (on average) - diff --git a/apps/docs/public/icon.png b/apps/docs/public/icon.png deleted file mode 100644 index b04c9393ffd63ac6af083736f89a33fd94d77fa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50825 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 OKXDNm;R-=L-~R``W6=x% diff --git a/apps/docs/public/intervals_merge-formula.svg b/apps/docs/public/intervals_merge-formula.svg deleted file mode 100644 index a541aba..0000000 --- a/apps/docs/public/intervals_merge-formula.svg +++ /dev/null @@ -1,29 +0,0 @@ -AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTplNTQ2ZmQ3OS1hNTQwLTQwYzctYjMxZC1mOWYyODMxZWUwN2YAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaPzccOzcNqqGwCVEue2cwv0AAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDo3OGU1MmE0MS1iMWZjLTQ5MTItOGFkNC1kMjQzODM2MjAyZTRscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNocPSh2E7eebWNUztuxZwhMAAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFggfICJhx/gC3AGlwvd6lmmDILnZfr/OwUArljCD0UDNCWkZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaBCXwkaI77miLLMhWyIze/IAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCB1LL7eMTTGwGK0wDUm4AhFQ7VuJ1M+odScr8pTYladZWRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBjKZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOmU1NDZmZDc5LWE1NDAtNDBjNy1iMzFkLWY5ZjI4MzFlZTA3Zi9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOmVjYTBhMGI3LTM2YmEtNGU2NC05ZjY5LWVhYTY1YmI4MzEyOHJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCB8gImHH+ALcAaXC93qWaYMgudl+v87BQCuWMIPRQM0JaJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFggSiOomuuA+mAkOE2eUUrEUWQVHEzCQnln5mDcE/fV6vSiY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggzqJMOqEsC3jDPpPwzhLmPHdw+3qStk06lig2fLA7eKB0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQIaJokP0Hf2HFMBeaGK6DyJkDDQQ4XQObQu3dSbfF2CKf2lxM4/ZntW2Hq+PesGaHfq2LFy55GOjWL0an2tLY3M= - - - - Merge = [min(starts), max(ends)] - - - - - - - 2 - 8 - x - - - - y - - 5 - 11 - - - - merge = [2, 11] - - - min(2, 5) = 2 and max(8, 11) = 11 - diff --git a/apps/docs/public/intervals_overlap-condition.svg b/apps/docs/public/intervals_overlap-condition.svg deleted file mode 100644 index 6299e9f..0000000 --- a/apps/docs/public/intervals_overlap-condition.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - When do intervals overlap? - - - No overlap: a ends before b starts - a - - b - - a.end < b.start - - - Overlap: their times cross - a - - b - - - - - - - shared = [max start, min end] - diff --git a/apps/docs/public/intervals_overlap-formula.svg b/apps/docs/public/intervals_overlap-formula.svg deleted file mode 100644 index 3ba4fa6..0000000 --- a/apps/docs/public/intervals_overlap-formula.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - Overlap = [max(starts), min(ends)] - - - 2 - 8 - x - - - - y - - 5 - 11 - - - - - - overlap = [5, 8] - - - max(2, 5) = 5 and min(8, 11) = 8 - diff --git a/apps/docs/public/logo.svg b/apps/docs/public/logo.svg deleted file mode 100644 index 2f4041a..0000000 --- a/apps/docs/public/logo.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - \ No newline at end of file diff --git a/apps/docs/public/prefix-sum_1.png b/apps/docs/public/prefix-sum_1.png deleted file mode 100644 index 93318cddece5204aed129c0c7fee8d258f75c18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43723 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

;dl^4gK@|d!Axu*ydgO%cAkL> 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 DbBygT diff --git a/apps/docs/public/sliding-window-fixed-size.svg b/apps/docs/public/sliding-window-fixed-size.svg deleted file mode 100644 index b497628..0000000 --- a/apps/docs/public/sliding-window-fixed-size.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - Sliding Window: Fixed Size - Window of size K=3 moving through the array. - - - - 1. Current window (Sum = 10) - - - - - 2 - - - 3 - - - 5 - - - 1 - - - 8 - - - - - - - - - - Slide window: -2, +1 - - - - - 2. Next window (Sum = 9) - - - - - 2 - - - 3 - - - 5 - - - 1 - - - 8 - - - - - - diff --git a/apps/docs/public/sliding-window-flexible.svg b/apps/docs/public/sliding-window-flexible.svg deleted file mode 100644 index 048b407..0000000 --- a/apps/docs/public/sliding-window-flexible.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - Sliding Window: Flexible Size - Window expands until invalid, then shrinks until valid again. - - - - 1. Expansion breaks invariant - - - - - a - - L - - - b - - - c - - - a - - R - - Duplicate 'a'! - - - - - - - Shrink from left - - - - - 2. Invariant restored - - - - - a - - - b - - L - - - c - - - a - - R - - Valid again! - - - diff --git a/apps/docs/public/sliding-window-frequency.svg b/apps/docs/public/sliding-window-frequency.svg deleted file mode 100644 index 0e8d5cf..0000000 --- a/apps/docs/public/sliding-window-frequency.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - Sliding Window: Frequency Tracking - Maintaining a character frequency map for the current window. - - - - Current Window - - - - - a - - L - - - b - - - a - - R - - - c - - - - - - Frequency Map - - - - - - - 'a' : 2 - 'b' : 1 - 'c' : 0 - - - - - INVARIANT: SYNCED STATE - - - - - diff --git a/apps/docs/public/topo_intro_1.png b/apps/docs/public/topo_intro_1.png deleted file mode 100644 index 3e246ab07e3ae212d99083ddacee17f0db977901..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65516 zcmeEuXH-*bx2~c{FN&g4MK&rRO{Ihu6&0l_U3#%mLQCi+qBKQ=4M8D9L^Rr7jbdM+)B1c!5mDvUX4%^QW)ToJCS|@5&Q6=sfXFgGnY<0{dk6j_YC`^uYY|# zaqin$7veza;C;i81=9hZfo{7hBjjd@u@C-dll6W0nml8pXMvVqG%UWCWj{OriHi^S z?Eb^lEyp}urNPxdfBt{}0(+*`zW?=sC)#r# zI$|w7UmyI>KizezhmL*c|9#;9>Z^ZE`ft$uFM;uI9{yWt{;j3|<8J#mE&ff5f79aM zwD<$q{tKf11yTQksQ=M={hJp5rp5n1X`x7AJ$3qYQ=96xye(`#VPxxcssLhZbiL^) zpSqF=mSEWw6R;g$NYJp1)EeCUSvVsMKJFj9ljcN$Yo84poDoHFiEq?7aI-D=8CVrD zI7X7-4Eqhd&;4j9+}E{YUR5b4A%B!hoSfUYu&fkUW^1yh za0BO2qZt1ZpKK*mW?ylk`WJ11FQj&^cm%qI;;#+aHf}0_``N`_s(}B&qtvgk?k5t< zp{JP4%gPCF+Er5I7%y0Pc70wUa*pA@AaX+03Ce?XX-^sQs`=n4>$LnNik&@Emtv1S1U&s&WW8O$pnwr=^XEu1!{M?&zrP9gOpjPvP_+d_3ZNU#+Cmt@61-mW(Uj9sgF{kGES;TcPJIg<1XOP{2FXS$>$hVj9+6TvM6!3TSAaRF^D~@`4UBrEP9)hUK7}x2t?(x+re?Zj@kvcQhXVXNK1iam?>shJ&;FIpn2-v|ZOTju zsWZ{_G(GZr_GR_br8D{Joj%Gid!e$_2S>qqPJZgA+mdC|pxvu2BVqRMw zYU`&HJ^fww9om&t5tS!TB&Es*d|&?yu&~IHib;}c^iF{Gx$2E48u>L}9R;*W-W4U| zSrX7-xr8?5uksPlX)e1pV@Tyo*^K3nF_4FLlT&51qzPI;=-lZ>LikE6DENLD#A*DcjtIK0%bNywDStCB-kS$$Gk@_6S?dHHr7Gl{? zCYLg`tq|U6G;&^i)4E~{ldwFV?elI|^-&ZDYR~d7Ow~PR65fk&aPSYas@+L5+%s_Y zT*Zfc4@?A~cxzReZ1C8cDopkB3=6a2?xd+yf;}1g)PcqPTZ z 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

  • Syt*v|lpqvV}DprG|VJDL>?YAyhCH=QPbkpeOAvUm@U=nb7u=XjO` zCXG*}J@K>>Thzkn^q3O#ka8Ial<#F3K&}+npj14-D>G2=#P1oC1G zT2j0d*f;)|=*UTe2``7FUNn(McNV{ zsjcW%)s;l$QHs!BpYg^N-}rTNp?cpQ^mu=7x4ZFf!y!L)ATmD=j_wu4_zs`C>~kuX_fM2~#X>~B|37tKiMpuzQ z2S*>A8F&kX8pY2z-spsdfYUR4XoCuNsvzy+NJ!G4%uxIK-6iE>3=AWA{i%Hxj5!hR z+YY0xB9~2exUZIpGOMgj5v~x_wjWw?wMsUuZ}j-smZo|a7$yZD&2lL>v*L`R@LEprFpwB6jkp~ zNaRbcv$y-hp=)I4yd)iROyQaCwPdILtSUoAp*sEq*NM*t0&3qvk1&}?m83SE<4wUL z2FrUeE|#`G1p3gB1jbe$sPv)nH;%-6bUekki~nIrvfUbb0$5Mda?8Ty>Y!teG! z$aB*W%qWP$8b_kos-5MPe1yZ?QouU*`u34FF3dxOqDSE9WH$MP*CFX8uhm8!dnSaa z+t&uLHu@HN>{ri%zcQe~7JULW#}U<@bWuuK|BsQH0J0!Q1}%Ur8c)167Tp?TL%Z)& zw+0}q3=9}w^bFS*c|o$16yonMIa0zpVdc2@pH^>kw(-Yx@0-bn4fLcA@}%|LMCxau zGa1$Vyj<_PqwW#i?X(%i zLZuyx^E z!W5p{WpWB!=vzl>@h1{2^!??;|JPsC`qD3+t59m$G-HRjXw*U9a9D zM)8UZot(!k3u=E#lmv8Z_q-)J(5+v74Hzfu>qT$*KIfK&?(ND*K(Y@L<5;75x*7aA zGs|j1!5*e=rC7MK@Ef#}4!em=ZSU4|t-cQKYZ?ZO&ESC1KbeSy; zU)H81TBm&!P?O;`C__iK(C&&FLCa=Wx_jBW>nSz@{mrLi5t(irNBXD3xl2oazirT&Tew95Mp+{pI9`BYqJ?>@=)mJ~o=*Sd&<_ba%vEZVF%&S5j1R4=MjbQw8LQ(hXk8~Nr&w@>g>gIwsnelz{36qH(D+kR z23qn)RCQFZ<$EobWcv^Ia&rx51R_V?6QIW11iE9}b{x=d8lthm+4W{Cq6gOBcK^7= zZxq2$a5v^`?w$Jk@HH(MfJk`AXgJ)zYD1nAS-_wTvZZ` z8sYcp8Scxb>pgRDTW!Pd+ntCW$998KZ`uv zLRG**kmGZyK4U;LCd%okSY{ovzgrQkLTao&e9J9SR&}^qkPl_<3p^4#hPpKJB99qO zME=~qEk>XcUJ>nA@V4}nfRW16kuZ%B*nt~~@vBR>G-CAnIdlrV%mPDrgo5qAs!^v8 zRQV1Kri(gISi5S$9cgSIqbdp#MJ9vcLMQd>!)<<9c9I^x{({#4FyB*J*`NF+$gnYUtlOL`02PJn&_s8>?W=@ zUwBqE2`LhMhZ#^x_Z`?>#s%h%Y#xVp;3L2@TK9$!?>IlazY12#dePgQ9p^9(lrZe& ztO;SfyrExtR1H)LryN>s!*OciA@#@RX{3O2qCb8!c?Z8H2AhG`$Y`}&{O&!&on>OKsxOlr zZp52&L$1o&XC*L0WwSt@Q<)`n;#1Ydfo{n!k+7;N{-mYs$6|TV)2io?>l@08E>})2 z?TPL=F#1+EqS-# zTL~k*D`n?<%03EIoMgdcUX}SE&!Bj4&f zGjJ2>KUVgj4|rJZYnwoVAFSuCaO<_RH`oPS{Z=RL-fmO74~wW!?yq_4@GUOS+n(^- zAS}^rdNfAhVsDY9R8E)`&wlQ1Gn_BFH&AsLp?(Q~HBQ<2PvVTX1)U=QIIbsCU<0>3 zMd~QQ241{bc{&G0b`vQt>+rB7WT{qJnuk=y8W1MPeoJUX_480>AH#H@;;2}a8#=jZ z=3$9FvfhrGO~?G-LmhW#yyj++*LU1Fnf_2a;!#zgcLf3bP~bgeU(DE3*E~>{$}~f2 zF(tY^tH6W`(m1SoO_VRZ1n@aVyPSv+Qut)&>S$eR2wY~ZL!m3+i;}!0<}~!YsbR-z2ayl+YEO_ZC4?C8|E zL<>nCW^R`&38;#;HSm|Ozt@5c<)A2jDCCcBoR%t(%SH{ZAB}{L47)Lusm8M4KJAOJ z3EA|vPM)S$2L0jxF8`_pPu&gq?w8ypWy0V@V zZ#ccoAhhn&2b-%>d69{d#Vuq^O2rnQFDh%1a((=~0*zqa7v7%6wMdPv+4P?V?@64s zbwAv}edtam< z>!LyD%Y$`s+^k%$IPj@hLwhUnC-U;k(b$6zA!M3Ymv!WI5uV^-eD^N=22u4of9JLp zB1Glp@W$#KUxqc?4)RkcK&ybuH1&=KISCqU0at3x+lFj=P^pyX30T&e9r*|xr zwvR@czY#8;a?BT1T6DbnL(rfKJ;+tF#iITgFu^bQL*Ot9D$ko|q zK@Y$mnGNrB+6UkCm=y;+fDL{_c)_a5Q{1^rpHiELK_^jcaY(!>`$LaMrgEjwO_n4> zV@UQ71&`$2lc6cYVhbCMV~I??;UfAr1@R>vn#uFiWz2$!+W)*Z{WV07qfRB0 zUC5w4yM^Znnt&bjE8*q>7yV9I10`zn+NF9s%WO|8@!7kQio;3$Okq<+Rj~XIA>Iz; zq0e`WHZCOQc&IneyRg<3u-Y#b*;!pJ*`3&XL&8?QWfFLNu+;U( z)45^i76@Vrk?U6Az<$UQ5KW!fIB(WL%@9&UHZBr`Ip)Upgu&*Dt2ze4Wwd^oER1G0 ziEeao^S7TJ3gQap*Aq-xKaUuP6ek;uuRZZaj94d0TT~ZstfH&;bP_?D>a4Z8qXkSz zpJKx?II+9--i%ak%oMvJTnPE=<`*Cyk5#*2!%~?9Ri&u+f3GT_A(mGLuH;t>XAZUo z*iL;>qS1w$xvIrDQf=>Y>fzSCF#R@2`Gepi_ICImhjxxY5Eyr-r?x)$kC&5-78{%M zVGaY8QNb#dx?=O?n~*hfT^1-pq#w2kLDbQy%Q}sJ{Q8Q&?2@S%QiFc7ha1eGqH%zg zQw7dCnKBknjOcr8na<8mixy8t?u7rbq|2;?!2ZrTE7Z}0kF|=;NKIFZ3aU!*##4?&Kj8nW z7lMLr7s)n_Jl1ZT-+I`_a?}5gv6QS{Z`Ngo{8gU&dBLR4K2538)t@!!Ee8W zGX{NqIfB?czVE*KGReHkqX80@NpyZA{1zd?X@=<#s!$rI%#T&2=e{6A&%?XkVE)!~ zm8)E>uGeX;7pYMAu}&A1fX)xk1#$n`Ib<5!m^^itJ? zV*-|ywuQJgdt`swt<&i8C}qVlsw_eX-*QisO+1eq2*nmQftA{&vnbevA) zGv_&G*oH^fm;C9^>wiRT9()8;srogXzj}Ju`jpFA&#K;K;%{!?peEwu@aNYhGgBm$ zbe)mfUT;G%k>^nmjjd_N>v2oDe1Fn@*rJrx&+t#n$0BtZcOFEhf2^u=%*~vq$Yyjv zjL=;gHO{{)!(N0Y65aZ0gX}(doI4#EPk;6XdoR)et3lN}ri;&N+j!rHPu`rW-HBXp z^{2Z}yL5+=?zx@v%}LYg*DM+H=6L}HQT=6eReF&;YOIe%WDY5jR<25!#5L8~b8}j_ z$LxYU?kDwys`SE#g(H8O_aCo7c=0)+0`!ZYkN(~e{aCx{v;GluE4o%Bj3q7p>XOnG zOw9nJ06L!SJ_V0zf8ti9z3$b7F8=Hsfs6gN_RT}Nt_-Tu$cE}0Ip!A}wV&7WjX;5^ zP&jJ1fKLWio%f=&!aI*MK}{+6DLM#LT&Zlc#uyR_ zb6Hd_dh@#yWPm5{*^kbH8UfWNavp(CFTcJv;dLNBThf+5t%v)_E&nEA97OFD{6Ph( zy+uS0*CWiA6Pgz8JwiSc@EaZEC@ruQeS5(n`$rG*tLI4ix|E*b@MwWovuF}k0dCAP z@RdTJa3E>6ih^YF zIuOPg@=aPUzGf)|$qI;7-me00hYfz=Y1Aezg|5jYRD^w^4m%~W)9fyP_V9pD4g%4~ zUG);6nI9VLFAJUgineJsBeMZ1&t2Nzb(9=ibBuz&qdgMI9r-$}gcmKzobxDES?VeO7 z2rfy3#?@vX>Y{+-KDc|$3aKv3ck`J9mUw&im7z|$@?C$`5%By9QH;S3F@;&>DBBKf9~lWCGfql;}Hg+Mcy|- zrlE>G0R!u5bUVPPSasnYwLitD<(^i5ZazKDM ZM$##5*pXSyGhL-=<;f^A~ReB z9}Am3(na`wb#OAq;Dc264e{yA^{3O?jo_9^ZFFDyb6cN%Cnc7vxHE-M5H#GqBILZ; zGZ=@=}noKGwK~HbZrHW59Z+&FPJet5F+?v+b*6v<8X8s>_bqDG?e`4Xzg_r0N z0moJ?vS-?lTCbQ5pZuJio^rQyZVC)#&KHu&4N*FmD2^O9STw3WGPsco-p?zty3?6; zgDc~zrgd70lPZQWMflKFR~dR4%6D4d$lF`RFyY>$OS9j(PyL4>03HYhY=JJX{RRB* zLEa7JmL;>;8$_R>dPnhF!9eN+&(juzby1uYp9N0Q@6*2C{S4@|+AE~q(7JDc{3Bg$ z@2~Q=4E2|t>h^tXehJpyRS?-f-9q>3Qx%+!ILwBi4?deDc{*O-7*_}Tde$V!ii0zL znv`0N|J^(BvJiGudG@CpkME5NkuWXG33rU{Y^#Hl54wJw*s69r32&%ByYZgV2vx0g z{IEooC;pnjCsfWxluvxX)wrx`kG~pczxB^wdRF-1O;t?m|Mx%q{^dHb_*7!U34i>9 z|NUqBSRQ=a0OgzipMMto-{K&Q^?Sw5_&?(O=WqYNeF3&*sxx^|+W|182LymIpcr!2 z6T8WKfwFN@%-9_@>RqJx7>!+|L^7I~k#gH;-h~x5qeT^J;Xhh3BWj(|iU>JvjMlq| hCe&y%gHFwiKlY5KdrjN!bC)pyfv2mV%Q~loCIAP{lKB7t diff --git a/apps/docs/public/topo_intro_2.png b/apps/docs/public/topo_intro_2.png deleted file mode 100644 index 20662b1ed7bc4897f316e05819d8e38207c8d167..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88739 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�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 diff --git a/apps/docs/public/topo_kahn.001.png b/apps/docs/public/topo_kahn.001.png deleted file mode 100644 index 7c103cd8e13c581c0bec4e04396f7552ec916491..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72072 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%0DfYq2eD)8jNU@{u1+yPTaT9c7N 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

    ;4+g?;Mn!3-;l*<1wImdJlx^7 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 diff --git a/apps/docs/public/topo_kahn.005.png b/apps/docs/public/topo_kahn.005.png deleted file mode 100644 index 1ef486324f5e59aae5c839fd3e138d595f4df634..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71017 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

    gX45%w zXXJK9Sm9qFv+8CLceB$P2J}PXco27)^`*tq2q_O6&EQk(9u(YO_C$VoMuiq)(7$we z3lKH5#v1AEKp7Tc!p`VtDgDS2yR07aR>one1MIkg}T>u*qcSX^3!=#OeF4JZ7aC@e)TG zR;WbhqHz7lHI`9;p6KbCmglilGB5$&8bIVb>W)kJWs@#kAlY805dzXPnk3Hsu zavd;)$gVv0HU=iSjJI$9i7ei87ZdSR3R`ca;3V05s{+3q!DpNx{DkHszAMC+W)HW~ zl7*hN04Yz4SD1i*k2E#W3CMInrO}*>F`~Kp=YwDPZ^s!0{>YbmlhagnGh0V(Hm+-= z$VIzg!J*a-B+Jv)MF8l0y3bWBw7s%TQrsP2P=^Z0DFVF|j8_?{0qGZe>5xtKrY2Xl zFA(9_0d}&R17^1@(dmML&W{rS46tHGPYlR-pLO(Xj#_7<_i-a#W;=7-KqTN62Li-U zQdGIVAIFTaW509r-^zm{5VU%~L66eVQE{?DEJ%;4ESWX!Kz5}Y0>xr`e}bSwR;!vg z*Xh?sJ-b!+s&8RnnCMOZ{owbAH05Scb2b8mw3vCXtYlT0yeP)T__j(_x|t7D(q}nM zOU0)^vCjwjKtEY?tvNxt2~RRS$~R)n@clG$BASM;rTbQ zG*L><3YPqQh805j17WM)0I$9tfJ-N0bBg?F7L|s>K_WJ6-{w%Y+MqC_o#-}X9r|dY z=@zjQts@DZoiKMm+GJr%H2 zclzy@ML%(_7%!4M5W{ReXA7Qv&@$(ez6sS)#FvWI7hEcL#rIa_hXllO`N*R66`MDe zr3Vb0mCgeCuiU=>Iv_d8z;S4wYPbF2lmfn}bv2O{{( zhi6EwZDMz#^8+ZPN*>P=|Izk2`^CGDiRS;=>=Fkm2}XPKTB*4{&Wd8*uAq|jDVMhi z?(FQ`)u2m#Xxt=^!@gd^eR(9=(=}tV_{19EQPF!K{&mEcg6tv3ov4@Yd9Y>gax7G~ zanPjUB8kJnXT(v_gKMJL)=8lkoa*TxK^^G~6yKYyjKBB9%sa@5k$b*>L^cXn@;+FZ zA1}pc(ux4pm>)wANw$?d_i8SXfF;9M9sqpt=%PO%va$rmuL$pQfYH2$8wQ+PDJjl+ zm^1Dv$$Jr{%+*(2=X=XQ&|1g>0~Va$x;r(eLbLqVOy;JUZh=Yt?MlT3PK`~FL|^Y4 z%~G6M`u*&+clzk{8cXE_f*a^E4@5~WZjH)oQJWijjSE>5anER9P@CzOb0URYY$M2+n^jfbcee0WayvV~cIu!i7!wpMr4*r6-(b?5N403v zI0|9IA@KrV0a!JbzO_LKaS6nvyB7ehQuStjPQR>f^0yUh zl_Hh;H2M(v*_VBJ91eFMqPJ%fjjgpoH2Q=zmuo5W$cc(q_A!rYne5*E*>BhEDyjS0 zph-zjTkNq2{Fze=#AZ2?m9qoYF&CspB>?Z8rz=-Bpxyv}tE_OKVs{tN|FoLnryc6! z1RQ%Rpo$R-h^}6wNv|mkTO;{0;+$?zFW!HT+Ps{1P>an5(>NX*yH!Lr`_~`mJgNf( zRS`{FEhnVlz>l;XakjOw5nB>Ak7IG^{Bw1^N5yg|?M^*Mg2x4ivM*0{0LjKAKp>ZA ze=LZ6Ewn7Qkn>tUzR9F5*PzhsmV@RqEaz-FD3<-6h?KfSLxKkzdQ7k)oOI} zg1vpa1g16ToG-;Py%=A`(v#B$XPsO5Lu+2=*Whf1tyHA8&4yjy1n?k71fYu323!F# za>aSN^->tKL1u^s7KC;ED8?0;GJ^1SQ>sG7DjNt(y|0s^YG?2cT8VRn##kLvbu zrZ@sYZaL!D6VV9@@f}_Xq=|D9J=ZVBi^R5HbTFnczgLPF!{bJrJM0m|UtEWjMdJB~ zYf^J&AYAUHY%MQ9&SEJqrdYDUVgE)PFi+%Q0S)C#*TnX9_?IX2h4W$+Am^~00L4^U z`H-S{B!~oZcD~|sVQ{W&2Xhh5-|#^&pA>sZYeSHmjW!!`;V?KHt}1YKo!P#2%60jV zZmb>nOYy%EkOBnV2 z^cfK0#O=ghoH)4A+9?Rx>&eV-iQb_YCn=VcQ$c6erwb}9I|2$ai$WUldC*1(38Vrc znr8^gYaw^5^O+P4l%J0ksleyeJ%?$LS8op%g3Q6Tx@}ka(A3EBrktY$@7Ds?LD?*k z-YZO7+t831NTZ1soTAl@CaT?Lt5#(0Y#)Tbe4Yh1Loc5d@&WSevKN z{DUBrpBF~+u0t~Rs%PpsC+!x9Twq`wNV12~XiVm((Frj!gk?v<=$uBk==<`EWGr?2V+=lI=i^{d%wD4BHD)mhev{cp_ zh6)r5W5nAwG9BQa7B(=&=*RHSfg%<3H!DO%FjrkM03cmt6Ub;zuKTciqQLVWw+_pA zSFO~f`R3b0-J5`j;(kV()8TY$rb&q1DZT~+M9+e>z1;GI`zEOC$A{6|Dcj!CZJ9He zY;Oj9OeTr&%_horI*N$tJdTb1B=0UOb9h*FZ0Re9+G-bhd;NvRVCGoQj18$h<@b{` zVeKb0kgy)FcmY#@&M?$J+=_PTUlK=cw}TPJ*N@gXxkRuW@dHqz)3OpCR024jEK4uI zP`rcb(t0|Bblutpj&iBT(Ic;-+QM-0*1{sGmZY4BjD3>lSxwJ}`Epka3BkettT{5*x<1Tg*?F`E> z%#4^6l3Q{~O~!dXWy0yKbN)E%tkyc;f3wysX1;fx=XrmZ=Y5|NVXxKYMnj=5x8%mE z#;iT$gfq&MM*`q@iq`mghMapwmsCmlgs$4PZUav8VUKC+KgfAF=uM+4;%Iu*g=rjZ zs=K{tlyK#pb&FzguaME5(;gt;7||1j&U^s3Z@#+%j3HGwfS}|KfW|sL1mvjGeZGt7 z-&jQT6F5dI{cnQ(vx(gj(mmSiA3;+ZwJCdm$hV6Ws-NObun%DNi>OEf9!<&;9S?Je zGzl`IDK*edXlCJj711j?_>c}`BXI>mu4{gybBc(aqv;3#m^1MD!TjxyF;w^OU~U33 z*zS1_*XDpbJ%3Z%>6LF@*>8JA@Dg=Mf(*#{9+_I#dtRkh^%h>w&aO^VZ7#vPW{Ubv zTL#WQQCnFAT%H<7yL?$snM)xLB|S|)kj(bkBpH1!6m+`12w{ka=r{)itroo+Dz@T3 z%Nk59#2#x|j@5L0$Tna9`JU$h*&Dkg?Kp93dVoqE^czmMOBKk=v8tp~o<8bW8yLmV zyTt5xm_}amoh78@hS(YtElOx-PBB%^@Q7m_l;_p9=N0BwYvVFf*fKU{JcUR)AThth zBC$dk(I;O~6K9^n;e@~M%9P*8sb|jRyW0I=P1%tdqYtT%7bQ zjpwk&2$2pRiD8H5U8COT8rCDT7lnPHZ&p;RdkwMIbrq&?V%?lAXZ0Z#kE)?nY9Xb& zZ-~C@w#Vj}-a17-qVJoAZQ4_Qx~OO1MVin@Zf)k;Hkj-j+|+nu6Ea-r7dwrR0}+&- zW-|*5pM?=`60i7D+tyD?o?r{YafDCjG^Q?U7Cv6jf}8(4u2itYvaB+RO1q=be}7zZ z6ehens(c`ZGd;Qi0x4_#=}Vl|cs`njd!SFJhyj!>o-47To7@wzi&eALvCMv8=ZGt4 zvOmGt$1r;kL_*CaABgMRLb{kB6mkcHF8Ys4#<*T?mi(Og8(y0O{E$CZ)>?0bbr27C zr@VFBz8Dv3fHfsm1Yb>Xc^jWi{&JwC5K%vyz+{KA*JlR5Y zrcs2Q3gz1Rom={Ic+A0Yt}_ewQs8XKucL^2l8y-*^!C+eSn$&jud(3$PvpWEVvypp zMDL2Jv2reqz%DdVbA$qrI|SYOil9`1(}SfBELTtR&6s@=7rC23n4JD>!(;!3Zf zj*CgIyY|UH;~l2Z+L8{v1MIBL26@8bt!gqnn<2hrv@H)dSc1?#lW>a5F3mQ>MK&hC z$*&2=BR02nX)q8!ddVFqL|zrvQANleNM}>SFYyLopDaK0NL7hGZ06f^+uGdNi^2A5 zr}1hF(uYF5I@e_Ca@loNFyonXZg0J_WmJC-G2roBo6Vj2Kl-S9t;)S(+a0WO*9GB( zLQgYLIa3G2ofLa)$tPfM;HR3MLOgZ>(+g3Hlv4m4ut$1tk+nz}8^fKGr~5`xbVTTO#b z3kB%sE#u$YO{$>E6&z-Q%(n`mf?#2;))VSv{>%xQcSz32CRLBA`#J2gSGL|ClDImky%Jeh5iMNL?i0`P-r07 z>t+T%V!<*iaJ0mrzqRuKTz_2Rgsu`1*e)5~JW-~B-h?&dh7*iX< zs?<}0+6}0)gEVXT#&z_Po#ipOyW(hh{Jy2T0iRL}@iFHD^tHZK3Y_FP3O|%8mp-&> zklyV3shrt4%B)U1xP{SE8FcFAmJCywlbi$_vQY}@9Y}`D`j6FwBCQ;$lvpr2k(Q8v z%X_^4>~5a3_)azT`NuXcSiuZ20K}*32miS*$Xsn<69{vI9Gu_%h5%z729@Iuwe5*R zT|P(2J?v1&&Gvvx>V`RCiW$PK!8jzUO~O<0wrj+!~Sh2tJPEFgEx!%)cwBCsi)>hbd{lA024hiP)OGjih*!hI<#2#!L_J zZt}>VuSXBDgPy5xb-&QSRV$Wd<+YtfW-OYzGyy(TLile?&ABlV0E4(Qi&j?vNmlcG zbY6SppzEvgAJpF4HA9-HvWuZ~Pss8yH509e6T8gLV5FfVcTi(;&yj93=4uNpmcHx- zi}nzRD@rcCm*-)W(&|-MKq)p7QtzLK??cLJI_imfG2h8!N*`~H^rzBgr;O;l%qMuFT7gUQWJw&WNW!~vqSbwCt^Cm6ajN={Y~}Xu+YT|BFXOE z)BkeHr%pUv-kjN`>-SHb2A;8FOnH#6cFE9X`i~+DT_$vy{(E%_jV3gj&}jM}g99|_ z(4<3?4o$kRk+`6>39U_NZ9;1kTANTI|7+5fBhiC|;J;ARsv4OF%#* zN=gF$GT!#-5&^-!8C2%hu( zd@^~%kwx_EiOMFHuQ4dWbKhq%;6K~HUvzqtJPL-z8%j{!q^CV}=zi~^L!2(Or)k;m zKYZc$;tX%F-;Xv25|aMQBqTq`VN!@n%PRTnZt_f=BqSXk7>v&~z^KHAiaFQM7)&|c z76#)gpti_J@@T&s0nI71S>b8~8t`1yOjq%?vN8cTcqS#-_t=tv2t4fr|LDO#0s_J$ z!kxby@J-sk^GqZPeJG&9J4rwQBT$sRsC94Obe~&(oO3ki+}pI-$Y3JE(|>zuvp5jw zQ8QYc?-sf+G<%NpK37l;?a{RqbN6ofQq`VklrR`^g#6bB!TzmW+--56f~oe$aIpN% z{+DhpL6>7x_ZwRTZ?U3yu~NHodzQ4bN=RW^|LW>?Li6J0r+JV5!t*0_JReCZSzx{d z`v{5t_e0VIajvq7AL0N06#K&@ZWe+Ir2n$UuWwzJg%QMEW{bFp{nh_`*q43cKTqTf zVOt8n(b#-`cF~+r>Oro1^H9d|0(MKC9eF_9{f|(|0(MK zRYCp~^?!=`f2-Mk-kAR>>i-n=|E3^+iuylA{hy-#Ut;T@qW(`&|8F(hpQ8Q`YVkjT zjsM?^`utNk>`4+Ms;lhha^(-zXb$9B%}Cu2(y)^~!#v_3%VDtIjJ8&|CC(xH#_Ms7 z)6B`P98K1?3k70i`AWZ8pC1)DsjtFS3mhou2Rbh8`~8D;oN1UVRtZ6^-IeN@MCD)H z%)~k5T|P@k_@L!%s~_-S4hK)KNj=Vc?)ZByL~qEVnfa04GqgYf3n683^K;1I59AqD zxUqgo{oSUW+m@1ZhFDv%=CF&KNB)evb-uD#rbG4IT8VM<;O{V=6gCzDCPs6eQ`q2= z9StisOnU@hXO{{1+-f36T`D4RTT8koU;FbwO0rjTc(To8DO>o|$%y(AQXB&RSsOM( zOjPkflIP*b7j z`SUiW^tUt%eur{rr-CzSQlSoFQFz~ANk#7JOPkwD>S>#HSF##j7^O^Q>me?T6g{ug zAjdNG*8|H5fH^*&p@o$LjE!^&x!kk5G=o_E#!D4ZuIcpwwH$>I+ZwFvt1#8%RX5r_ z_&>Dyy`iQg5Hahqj@ikulBkHUNM*@4Z#K)#FIUssdk7;nZ%^kRcU+=l6`8My$+Efl zyT<=GNb37|Z1n8zC;N%WvbLq&nbr-Td*~cqlUx_+3aMjzX|8}a=HxU7x|4W zECjZX_`2A3$b?-YA2wODUpiaFJ)t0Nm%fkjfTyJRVQHE3(G3NMm!)>Tw{vh`7$eX= z=dT}xc0Pe^5SB$CH!`;S?KWQ9=6x=(6il9~DG#|?U=v#{j@2scLy|Or%Wo9vN9-(_ zL`>vP>n*m>+}A}IaTxx!Hxu=4o9`}1r`THfNk#1Mb{^COfj}C$cx89~&~k-PD%9xM zdL`2C^|J#;R<=@o?Oi|Z5b1Ny0gvB*I`K)2)nw^n$qmDF@voI{k8M&asx|O z`^wGn1WYkk6q$iooz7lC?ju~Lq$KFP)E$GwNiBgE@#JN4@c(Fq^L$dr7H>e(~ou(a+xWYYjEzjoJi_md=(B*X8N zQsrAy{x?OQ-XL|t%%YO>w?}ToO;GQ0<`in49MLhlL*pfVG8&W07N+dUh<9^q+Y;A~fZl2grTG9wBwN>S} z*L^J87pAVcT8<1wDBMBn6fW~##Zvd{!NM7+YPzcL2G$M>xLQi*9`Sn5ehDLA+Ws-h zMdvOLe@gS43naR54ER9#!Tnf?XWew$ z;l|FnVOGE;8l)rBu)*kiAZ+^~v(1QsN&6)h%;&OY-Hu&b-C`c^ddk!`J2XU)2w%K86A9Q=fDzV^T5*-&u2qku46u&qi7m-^U)~0u5KDTjs*r zSm%YU?`U;uF1WZ4b=If`mb4xII1zWZ@+zC{{+)zV%@FbT4^s}hV#c=$F0B{CV%H*T zLXd1%`s!2iCsVmHjj1a;>Ex+P4;*MAP@uUcd345O({2Cs*WaUiBQIdW>~-43vYo8Qgwzh7+y*C|W0R&8~Oh>-h;*xYn!czzt6IhA75T>gD2 z{gJ1MG3F*no`t}z1Z|aXbHP+HfI6|Qmo4kE>Y`Dfng+9A;a}cG|A9cX90|Q5e z%AB0jbLnM@SdHG7C_EUevC0!%#Ov{!)Py2HY)kDn%fss12U@NzbYI>Fna$Ay3|rbwS$*S1>>G{FviZRbb9!v>Gj{ieR7T}{W2Js`FEMh!y_}8D zRo!tNekG(JSL!h9)92r)GWuwjsXuE#qdw`e_#k-uPORseJc@gjXjPl=$LErtr@o^c zTqN*64jl$FI5yLM4QpJaKsD$?Iy~FE`E?DqoR-dh+*T!zTD00;TJ@F5WkeM8%3qdHR*UH}p&ZjP=kWfeNXgxM}KBNF6kUS|ohW*1UHZ|LA0#QNR z(BqEZkn*;J7x!;y@LBuMBDai26ntafRyh5%|sMh_+Ux-_2Bo2)?yY@ znEukzCS=DJlFkt2Hm)arjSdMwIDf?i7MwwSe^Q)ptLTJT@lmjxag6oqoMRTUl%el$ zC&8ZLAC32mq_SuN>zQ?@s9{ydoqP!?W{|lmcju$G%V%$a(eFO~)8G3p7>Hp$dm-}X zy8Y{h5@S&j!8Ojp$buPcEX2BG81N?~cOGTzuz>Ul9QMZaF`|5&H1kEqW)teWt5IPW zTcQ$F8=$fR2Nxd8XK$=X3AYKHI)9>^;G8uM@3XT%O<=24Y7_BtGhLxQktFeKcC76Zx(#{`R z;s`+<9&>vrzKuUqa>Z@H+k>u;)=Ra&S4h~}CM8;6zg16n4*WN*qx=q)gY|sU*w}1A z<=5~cRaxEgjn$Y%>;=;b;~)^|K>;l5(rR$P6aHG{wYI9ZwC%KsM88mPzXqf9|5&sH zEIK6($1Zx=kVV2f>&?4tP&TuLGp;3~iVu2J7Y*6bf7|Zd9xtP+?7zrZT6VZD1nJ>n z)a|@S&ie>!NpFRx%AVTg>Z4On|Zf7s7T&@r6iiTqnB9DE)ecdJk_~yk^t*v z_0?HG&}&Dw+6;G-XKk`xVK6??Pm5;WGHf`4>Qxu#5p*epJnifB;zN6#28$7pTuGVs ziJcEBScn}Yl|)pPGiApEE4m)VKd!sf2WK7RtvzAOn_%RjO7-o7E!m0 zgx?pJqZYAM-V%t?vsj}3d3c%xlBZ8^xC3@re|?;At9*al#0$}-WAOqv{Z=dmVoBb3c|*De!xuS%Q!FHL}52Ua&He|-D&4m&Mu{CW?g6>Jx%GJ?+qwwsH)1{PRy zh78ge{g$Qto*|MFGNLi7r%ukagpuZ>&@by!3VRfC|91RM_lYh5Y1k1C^6u~rW<@^y z<|JL$Xykn8&bt8W;wy}uX)PG&7}4JMg6P&i)4?faHV~o7hJ1GO9?aO>Xoq#An`6Mu zVS1}XusXxb^|ba@@=%g$!S#_81BYsF=HRR7zZ>~V?#&MtE!6Q0J=atTcyL5o)E2%z zIzBtwKP}3PT@L$Ttp_9cXhxTa-7!BKhR#36DlsuYOZ(1lB05A7k%Pf}ACzUYel*&=sv%l1-SvQ- z^F9;oL3c>d*8JCvS1HieasC>YYlPTGH^vah7k`KkZ} zY++}|{7wAuZ~5A*vtXLPxbzOzIUmn~ZC7HBNrifQf1T20NgnbIRTw*!ctW7kDyxiE zr1$Qn-g`sAIo4gdlkOhVISR{&ma#ZTm8)^0_Fp@*cMN66f?!E{P;T5UhUVBYhU3D1 zvkI9{J}Y6w?{q57|JB8K_}&nrxvRVHbx%(Z!DTl>o zuikB9`X(l`Js+AL`q+EG??77hm_zZ}_iAa{C?glWla37n5A?rW{7n+n;MECdoYX0> zA2`!-WqNa5*i2qn8`LoA%ZlhGE(s|)-~BdTl-rC~H=AX&A^I3{Yu1%5u~{d}ZF9c5 zdb%s`r(sxMkl;q&rTUGE6{t_j@79Tpg%;v|o+AP+QW4b`Jt&NmhAIS;7Y7zeeEtd! z@mwE?8tS&n3XZjdi(Sh!)H7PH*ni}SUf%7>X!C>@ z#d=73!z5RP4Pte;kpf;{_1(B9{{&)rrCE+6yvvqBzuenPmwGIeu)u(I9jYJ#K~ z-^aPnMFaQAZ%%$o?Xj`r`>jjz?lDMDnbJD2zVEVr(pZiaYxx>lu~W2l&_SYHs_G;< zG_2P7iBoD!oXJ_*q0G|Rv~88SFGpkyjq>vH1f}N#RKEhl8)~_9B%{{(>|a=I`t|U= zANZu1zI~n8f(tOqq4=a!Ip!wlymdNxFb7kNxx_G;_S-w(>MoHVa<~Mq%JSKoDw<47 zA58F=4bVu{lEQeQJWQ5d@0&Ng5Ex#L+hG$n$XT2Q{9<$dVvOZijC_(IpB(DGSeVa` z{x@BV7S=){>vMJSKHuPFNfDiO*oTj?&EcoRFg+-Z_Edk;_*3fZWhc|6Tl zXyD3k&RFO^*o&&<`Vs72wFjw<(S_qiceS5)NF{37fT-Ax+^|7zm2+r!UJvTZzH!NO zhynTT(I-grmh%BU0@CQN=BkHu#>Y!%3VNRxuX=Up<3xn_G`4_2v|E<7Gp7r)mY3qTr=K9!I2>)SN$sgoKE0Ewv5h z*7F4wmd)6(mHYqR{QLr<*pdB>XRss@Jz`axbQ5;R%q?@BT~{2*Z&g#V@i%oWWnzeb zY)DzmxMJnMCDhH~y%>ws^5I-NAhULnI;e7TMMZq#)e8_XKdzRcZ1QKikL;oADX5G^ z=Sg@%cgRYz2g(pBi)t&B`%#JJDLhb4MSY=Z_5xDTw$n6uF-cY4_U%Nh&qR155iP&* zNl3p9Y>U}DG7NOKyf>C6?17uDwtO2;yX8vi@mn)u612WD3$vGZ72g^VX3Vr+>8h~( z&?BX{&^_F)aIwc)As;nAhJYg#`sO7XuD#d)zzyGM&#D4C!OUN_q~RQqs`<8xJ<9Ot zSfY>jbbg!47sD>gU3UG-25dlKSZFg$x*Is0sm3wE1JIQte8FNIRF^!i#B`Gm@izQ1 zsr@581!E?%==>95mdu4SnkRFV{XC_ak?T#aX|BZly4gwYo8NOxhcpv6v<%%RUfWmf zJ7DcdabPF6!Fs$$pv%dW_F`z4%5N8w;!KzynjMjYZcq&cWa`RzrtU@rM_My5*hny+ z*a~&CjomO|?GbiM;os7;@F0i$EN@G;>N55_r5B; zHoGDv^s{oY?wRXw?8qigxHlN^LeN}gxoM!kzkgC3xDso~AJ2a};(gAcxHr4gW%urN z$F1zCOoRepsjk}3OQYm4cBBg4$|I`}I^~PMA5)+7adHx4?J-{Oq>2tX7*Q>%`mVRV z)bUo8N-)$#yLDb!!_3Osu`AbXeuUqrc*EdRR@sXFhjFjfJ`ujs>0D8e(wc6r&1dX; zd1Y6yKdDX{gtohCkBXZ3Pl>CZnuqd7Pj#Gko+ZEmlzYDOG*e7V?E@lD*f>N#0=iWU^kTlZ-)aclLXr7zNFno~Zh4v22q z|EGiSdkLJ;W7|=@m!t{3f?d)`h((<`YBE8+EwE zgX<5Ieh^2V)jQg0=&029Z7|O+(i{=lRd%{904pW>H3i$w7R9jVpF;9VD&8$xiUs;238fZ6jL zk4&Nn6CLW#v{zqB1Qn`qS!5+PDEtaZ8{i&!YRbwP_dG(u70GfzX|6;* zQwGSu+1c4ic<3f(y3h5wnOQW~?CRfv@y8fzPSBq|!ond>^of8qko5j#dB**N@yM6~ zBgc3>$7&@9S*`PgM^D!zJvm5COhiOXbXxI^<@iaS#6<~n3F>yIv`q1JN%IW-56%5( zAX6{+#+T9M9*xTODsL-gG`=;t4fPig))~%hNFtAU(*9e>h3LvK?mTv4^0 zBZTs`IG_^tTg#maCMG5togV#*32Sva@T1HdEst3vt_WYvAlrj+Smpw2g{E_un6s~Dq+?`c)NWG4LJR)kH0V0hS2PySrr|nC zm?BXmzX=naiKl(*A@A+=v2d}sD)ID*Thr!4j)`bP>wJVfdw}Ut+}(jWUcU#{`r_z- zf6em#()H`tS)htY6m%m7;pkbVS!*k+Ak$E(3-HYmeyIHJ6zFE(vsjWASnTyPA^cSG zG$F7_oj9+Ru6Yy8vPoF|$g@>KW`~+nwI25&C!+Bi*C9^H8*1XJNK!O$g4<{`U<-|o zAr+5K=2b2i(3%llY!Do(VGDf{85wzdR9ymB6-g<%f_zEt>gg(Di>9A7sU7KA!=iJ1 zKu6bB3d;S3rmHgfUD$?u2FGTGJ845RcQD6V$QBO2r`|myXeS~`~--&$u0uJfZ?#=Edt>j2UE?^a?Cd^_9vZea|JC zHb8_`CbP1!2{sK8<8V`*Ymz|qidLrm4SjLfaG$FIr||cSH~5EYCEuKNEf30T66f(= zN@14E5is05={ffaQcXZ|gmlsgT(=Gb5HE5Ig3kFtMZ5-l<7qX|(@RjR0BU?uGt(Gt zPJ=QI$lzT{NZ{b%8_c*zp=4>92JCL!rc3h1{rk6Q$k`8;BDZYgK;kA~-V}El4OO_v ztv=+>U>(k(oR$~(O6gZ(|0_4T!U^m}TuBhGrh*X@Ly8$=l^NjJB*w|)HXL?(0m`)g zKBnT&?=_*6(|*lB`y9i|T^2#n8D>KY=&KU1xsS&_`BQU2CY!8H(&*{6u4eDZhG!~o zhd@%R%5-E47?BsXAOpUU5lt!qe#1MI3UFiq6#uZF0<)J;7nSF7yN-hWVTfj`@jg3CwQkJAh424zXMn~Z@PGe-f!|!xnCIXGV6OgpxK(wC+k?!;uhjI+{+jtj!&+WxTsIw4;rz`siDcHeE zYW1ndafL>y8xG@(`dR4$-RpBj#`m^%che_s4s(LQ(&TRh`t8bJVm1unp*>>GBCuAHztjLfM8wPAM>kET9XuohWn4j#l&y>|xzD`Ip> z6me51U)XD+Sx}?AqVjB07OAYLfE`@{oy)8J$2PZD%gZ$^zg>;txeR-CtGPP({xh$hm)B35))y`KsrwZHtgCZfGI!Lmadq z2yJS%z$5&frXMJ=rQL*+ zP=3dC=PuvSv_owi2%Zbk8f&Og>ESuwwh}Te??LB6;riq*#}_QVw=H+9i zD|O@3(@%y%Wu$+GLf{WIU0;tZ?nlV1&W?MmRDD)K%5-RLr*<3+>sxwi(YKHiHXEm| zS*-X7ceCZQV6WzMPFFmhas^d@o)eXMyz{lqrMEJ{pvf@dBz{=ETH?;!0YBuTk)&*P`=ZkC{$?&q=R51DCm%o>35(<-MGqZp2d^0Dy&0 z5){f$6u)kcG~K9c1PZM5Bd5hiBJOyqwfV?kAQtxuC66Rf^|B%WPU&0Z=Kip%;*bry)pFk(%~}(4(t8w zh^_C$2u!O_6tBE6hsp=l;DSQ0Gy1pTrSv~4@q%z48E~UBt%`BDGABx7SM%hb%P8!p zH&66(*&G!qS8TPgvPEaR&-=S?zN*u`b_QVOK50eDFv?zr--C zCp=_NEWO6jVC#83AGPrM@`oqs5zmKr0i1y77$}XN7zxAgQhqA|Zb9;?(0x15;T}h! zR9kI8yaWxLPv3$XkvESOeLuuk$(cA6notdA^lI+Y4V<{+9ioMnN91&t%idm45l&1e z!tq8dYBs4{Le&Xis=~&zH3C zV@ZG@9tp7PvV>5P;5qkz*>LQ8dS(fCh}h^0=l;AmL0egUI^WmP%~bpQtV(*d#?CX$ zXx=-$)X5fMW0zJ!gKJxUKR_5gqEIWfXYu2N2TtCF^@7xX>SJD6nH1FNsRDPeADYmQ zjHhE4r^dbKFtWp#jgTKNJ7bnb1=np5In5%h?dRX<9sGuyk@^V(4a*9vRK&G65MXZ* zmX(!3_mr~c=H?3^r+V>W+t$j8VP)7WtJm0K+q>+pkL`EUn31ZbuZ+oyGh=rMMe6UT z<3J?+ZUAq8B&b#y|LjQ%gjDxQ{KCjwEB=)0mD;RKHrX_ps87=>5nzM z$9xx4N5MFOmkSC#0iN^A+1G#Jd(H&nK-AVUQx78Ry0;l(eiNa3iv)M$Z>ivC@qBUl zxW)=g${{LY-dOeb%dFx~yVAZ?ru$uSYhz10kPify#5U)Te(VRWQI^AOUqWin0Y+Pr#8nW~9V z8Ide*asi6~p(&k+AMYffbR%1mbT%9Ih^pXv07IE%1{khxo^Pv*eJDB0~2fw9jVEk&gFs@@3p4{0p~m1KLbq5g|eshUcG2PZQR%1v+{O)p50~ zw)!a8j`W_FKPQYU#XC@5ThMXo0xknsT22#IDjZuaTMOq%EeJFlJ@ApdC~y;ZM>RLV zqq^82Ed1b~+K(*M8!q;F78$t7PVKsH%p>aB=|~pbrQa0*B0uQBJaNTL3EgJ@=*#!w z-_&VqH~Mhju?$gPdS{amheS0!XhZj)Jq^%gpIM`ajHybOwbYVO51Dn&#i-$JmjJd~ zo|eNE5rH2E&A7*W0Y}D1ce62_rhskYBRc&1!f^FO?G)IJ>>~M|Tk=4{;siN?bEtjC zwJFDa*6FnUx$!#J+>pxY*&*;HSWCQNvSo9T1vyOCex}@K)(+hJYjYO8!#n6xaL|WI z5BFsIa(*|DwZ0W6T>m^f)tg+McFa%31vM}&K z#6w*2Ve7;~zV&uz_W+eI6OqtL(+jj{7Sc}~?2)@Y$yBTA-a1|KJ_U)6nsVqnjpL3g z=7@8@l()y@5&(*=3JYkB^D#fP8DsCn9*swRWYLK3I33y>sB^P&Ch`3p6}E#32Ai_O z2iy-#9j`rEg?sFzNaAUN%#rpm23++d6?$G#@ws{`FF}i=+hxPrR7iPoE6iZQ$t&~0 zdt8B?I|KxFgQfT(z5zV{i=}WlRpY8ALaa61C8Wu9(>&kW;kw*Vq~Q08XPot7WyQFw zsA=yD_08liAHbum)$|wgVGp`a zx!_{C(5eN@_Q0KDmycV$pzd+}u;}cT{C#-Vh(7hRM~D}$0kl{UZf9i%7bH*ODYst? zHHcZMwI5?HqzcbC*yv7w-YZE!_&rC{6xURwn(`sZW#>Q50V3smYdx8dUHn?@`|*aS^EqP$XOY1 zOzsLOnhm)X7jd`+CFjluU*%4fOzOWT)`-5MK#g~0Ndtv$(mXsj$kMVzXh|`kzrk=> zFH~Rua52t$YJUMbj^2#fa~JYnnI&RIw}*W!{nXQ$_wrf-IHa?vxq#o~9wW!^z!9-( zWE?y9?I|qH%#gy24QC9Fi1fJ%AkiuEHZC`SvRHvGxG|5iHlJ>2S~fXO3IQVqfsM!a zED^4XlTu!Gz4};|Ewows1bA5` zT-w9o+Hx#{wn1rMX?6h(V8IAVAe6szkK^tQPR#N&I$QWLJ>_N9?*$~ePw{+Y9otjh z=KR}O2-dG7_H#dt&esGP#ahPOsX-6h+BSsD={C>R`=^kT6X$5610*^$KRe+5s)7V4 zogHOVEUpBB`>Y{8AMVPuKENG1?Y4QJ+gvSXZsPM$q9(8D6~SmdT$2L*O{RTD4}w_n zTho}Ld8IlPsb4|^kZUUT)Glh!=mDb;~e20D=AhwMha zmh+2JjVfv%HuBn5gSFmd+?glF+07Tm4r$uUvwMJ0Ys`L2-<8>!qzV`L%O4vfabllpjY|j(5|BUR1a~D6SfRxmgfApbp;Wr zP!8<&W=B}`b_fUUJHrW^9!7)W>#TSOtpf+uHYWIir)^1Y#N7olaJQf=wUOxHm5_#4 zT{M9lctG)N?7~{pYUrY0lAupf}zw1($jdtx&uYN+mU~< z;*V>jLN-?IdG-4*q1TP5SsH!k8;C5R*n;7n* zlolL*1&peJptg-k9e&o?4WH6s>k}&*UW~y*ek_Cf(vY8r9XtB;b76~nep)5$;wu~O zvh{0^vOb(7F0fwDvFKVW8+p+khetdEAihM88~;ueCP+%{n&mRR%>S@+pLxv7-e>JE zqDvI=XO_C2HJY>H9`su}jN4@Go7KVst|bGH^MSRcua6P4k%ghxe5(>1e4*Q7&K!Ud z)i-Nz=P^9LgA9@hn0>r$`k+c^s&OJGR$;7^&tI#)=r+3=UY~@7_`&T3Ho0m*q+t`D>{#vy1U1B~juD1iIl!hqF?fkrL?9g%l<-MBB%T7|oF3 zGP|OLXqvz{D#Qv`u;51YIALWK>WI(Um$iWdGDRJuCQS$2B%ja~z=UU-w8DMGcrlVP~!( z`M>A8eqe5r12++d1m8~7|9!>-Oc_)Hd}#O-fKLYlfXVql)Jh+~ypvQL0zA6?5<;OG z!X&$vqm8WLZk9;R*r^0&qjHS?Fs+pM@w}HuG`cK$)=|mM^|kCig)c7(;c!couPdj=WyjDz}Bl<6P7P)_OgE*3X!O4 z6hWRW1z2nY{-|LO=}zV{RWBL$M0oDp<#E4f4SGT0(6tDd({;SXVQmmJQH!0DfwBT& z=)%oWiS-n&MN_^jr~r5-`Y2;}OGEGVksQ!AKOGOj71R|NBc@mS07R)XcJMwi`OUiL zXQs;R@dc zxc}`aHtyI*p1c~Ml#HtEA!{3}qe_172o-)kA#dgDt5CdFC&O_{6Rfb#rdY_1^tLQEQ9zm@PJ+O8}T93Ft~*bYnavB`?o$&a;ehII^5t>Y?lY)$+}t zl6x|DbLM+WW^xd@AUs|%p9(gB?{bHf^4%FIO6ec2#dCu&G2*~dFMbGp4<>9(Ct6=C zz6&_U$w7gHfN?HhAjaWQ)>?0I1n46zipZhJ3+0!1v+iv!6E|G-Huxb`&Kx@3;3}6k z*JOf!vwOS@Tz!vIG~z~Rpf6{$J=YhC02XFQ0=cdtIajg&K{Rx6S6k{8Dn9vce0==4 zB+~!Dx?jS0qKD28L<@#-|047I$;<(*p64~T4r=+3y1{wS4*$r$x6L6g>6pbMb~e6AY@BrCG_Gs#}CH^pj?ZJ00q;K^( zW!-zPg(Vbu-Qs8r0bOO*KI!6#jD5I5OVR*VAMuP9KUb;am;-}A9Hm}a@Qq1GeU6#~ z>zYqh_2O2Mn92Ws<1u3$Z7G7IX>5b7e4)L@xr}K&vopEKR1{fwc45ni>YjENS!K=W6B_>J^2&e%U3dJ zln~5?EcSwpKIFcjiH9nHdFlKe+hCmpw2tI{F}}%i^Jjw*vR6M0JPT2Y+e>dx`)P60 z0Q9g=ZqKSeTZn&0M@Jne#~!rqI{{!X^ahj@xUBcBh$VzzYzwwX;K47Hl#rp4cs<{! zCMHa;@WOjsLE!LSysd!86VUvyAV9O>rkmh)>L`REfuMEjy))?VrlIV`G_Gi-yA}HY zufV{Hq`toX9d2`cVh`zpf3ov)WCJkmDI6q6%>sm|DmgEElqFu}$n45ije_*i zuJ;&}!^B79>=1D?A!s#{$z%gIVoG3Z! zw%90=^<(-qzSkqVqXU{y-9`-2crorJ(P(2V9k|;z^F({s^>(#I?K>8W0o*MuH9mr$xhJ2M-)p}<clS7JY&Xn!*?!U2kF&M5HSQLZQbuK98qL{r10zu;Okh2L-sV`&&(Ht*SZ4FbtwPkr1B}$ET4}RWT6@+3 zqgxWb43@&}xWHaNb+SW;4t<4y&BIj9&^>v|TG?9H?O2;<@$gEI1RBb2w6(u9zlEHq**>xO5D{%KR|blg;D=4M~4bY1Y1@ zsaLID=~vNubI7K7U3n$(Rw2#t8pza6000YZQz*~HYi}%M{XhnG2Ev&YtqlgH6fG96 zS%S;%FNY=00^WhajPEl&{^VKsa3Bj&;PxIFXb@v<@LL`%)7<`0gHQI{V)b#|CEeCF zUMDxDYZ`YNIKrZZB+hHP1W)IepAqseEBtV)$XQg~-W6q2*cbV+r*N%wEfYCt4hDu8 zdS@h@C%=imzgmYUWf*8D07QoCj5d}%pea~P}-4K=Tw|Wn}Okmf4&G!b5J)Ag}R@;oZtW>9{(m@k0Zf zv19oA2-%L+99fbDw~z|Rpu)X0JJ5znhrhMa(CAUF|a zlS)HiP)Rk})ye5=we(63kQ>Mdo5;*h;{!G*S=21SW>(0v)p1Q9zQmfvj?n@h=nF)rbS%99SX9_|5^6Kg7j|55BY|+ro!LI=n zYN;}80YlbjPI4NDMg21H(f zZ4+rL71woUu)XQf%-GqXqAE2QIA1=yQzPX^AJ&=VNyAQexUpc|->~J3(nv{Q_m4-K;0i5jhd_toZ>iL~_ z0nk^Z&Uf z3W~=>1?|xr{BP=LB)8Xwe&Whk%Q0KJMR#vJQ_ewnd{bBWi6(_gtO!AB?2&&l^PL&s zp}sL=@vfTZ!)z;gauyQ!<=|5vVw&=9)|!cvDGy-$r@!@a)8?uZIy*a8Qi$|Eon9%M z$}Af3IJ75*#=>`9*p6f`WIOp8~}cE;l$Xk^LP(X=Us~k=jJFj4tsEL7+reP?8ca#?L-^JH9faF#ShAXO|D)dt?`2O$C3`;HUhN}GzCTl7>9Eh?msAxI35_^A}_{om&{n{aJl|)XR}+HA_Xj&p7UK z_vodanYx((1$+<>qIeA=hb1jrU#)$6D;*)^4YJI!l6RM$;aVl&5^M`ou?A`6?6x#iNa4bWzoRLox;nx7U%>LKW|q6=CYDwbW#hZs?pW8ex*ZnwZx z-H`-W`~n+n#`PG~rea!+yDuYDBiveKdXkBZSATZ~sphPm`=TJeoHE0}>;1D+JhW4v z4lrK@Sso~~lD`x2d2^^HoP>rML5;)cy2Lab$omMkmj?WT24I;zk-56_=|gNtDLY2j z;(TL2Co3m7I=SWv(xI%d;|qmS6d$MsyrBesa3}$}_7U9&RV?1qrp!SF1qC81=sh>j zpkeU>&{6r07+Y4nQ}D|?P|mcKwVBMMnN=LuHdM$fQpf5z+n5=D$)n4=%D(W zhUePpFK@uq2S}?8K??1So_Q=0f!^ct!L1h6J0xa7gZ6MZHfU1b(@erFqd{|b`1rCq zP%6ag^fKtsB2p64pB)1Of2T7+fz1U%%5a#%vzAmX?iHjD=GBA;7*UY5va({=Ji0er zLQ@VBzMWTwu$O``L2>|P0FW1Hz6Bl=o7<0CI}T@z5 zR=GDPmeVnMY@-|+q$kDbz-Tg5Rkf~xQ4NLgb%uKwzyeT23gm^Ip z(q0HZThG2bf8kdGz*}cS`rl@y^=w*6&2Q`2hWcelGes-rS#h)jdy}x-_*nvGW@etw znrM3qf^i?nHmo>w0`|Hmq7HW83Hca1v2u#hNLr1yV%@-O)F9swy@Mg7R1N9l?PSsk z!#bF5{`mY5*c~&Nh8nIKv_(EREY9WjbrCc=ZWp4u*9~!-h7gDDXo37lo=#pL%bj*A zuG#GwkL}S(BD>^w`xj?J{p3P*z*Q$Sh6ET9EYg1*M5llas6h)=V{xGL$r*_>xPZ9A zg?%;cuV`T*1fqq!f%-C*tS47kEVmDDemEnV7I4To3x;abQK;_66!fF7*ninvUmQXs zG2Vdv3$>i#XWAy5e$HEfz_@?PpOS3U$f)Tge=m)J}L|a?<*Dg>>g6 z=+H1>Al&qqeAw3^z?8|Bnu`S&q{yw#7gk;6juPtaxt(~ebpfi#qfETr44n{i^Gj{2 zoQ~$_qoG@Z7oZQa&F8(km-nPX$-tV~GSgzPvXws#kYzS(^yV!!#Gt*emp^;Y;gv>; zRn6$)dJ*VMg9gOU%CoRgMDY$l^#>nQ5j~|MIscW535{j(&I7#>kS#(-*9$A#FGp*f z8-x7ZjvSsc7Ku<{LFTcL82hl~wymB(yaH2h-2=ABaxlSFdlFRcm985JU?$NX%mja* zkzmz(fIa0u4}R_d+>qHB5stlCf+<4KEae+;PsK5zt~ny`Kg%S-zCj>C1M_{SL+`&@Y==zd_Q2qZGGHxJMP z3hj6?$I&}OaX?dc9L_%vLg_%Zd6^$euz{b1m}C_5a&BqN?-R<|`RRoJ(pm;tsd-+Q z!Mp=CGSwh7aoerj?tKrI4b+SzK3X-rBHSkCP1 zn)DuI0cIn@*uiX=6zNhk##HLn`t6X34vU^2Uu&A~nZK&C&b`8xUld!68ZnUv#wQ22 znvFHRvuSbt(c8r|yP8y!0f{6jZS9RWFZ^gdA zXoqYq9hL}w&$QV4aFC%Z@gKLPm3tDjxAI&vM2jCqXlKjzB9ID8T-DB@x9(X%_x2T_?`3n<9oj6 z=&$z~rw&Gk%>KI3x2O!KTD}ssvq!cO?li`NRm%>*L8Tu=2pMy+9yMN%FzoIp1in}rqww(2%(&zFGp5N zKAL)m293aZP7&fey^ph}Ez47+v29}CrXXLA%h=(Z((_&28R(6>b`-=|1WmTX#A4p@ z-PGOuxt>3}2z%+FZ%(izojWRRao2J#;e?ph?7cu)d}gWFhC8!^-#zvwIVS7iq1m|J z+IoWOcv0T3E&%R%yTCI=>KaQARq1x9l|W@w$)%-3(V}MPbWpqVu~#7K`ol&Qk<9)6 z-FX38R?Fw&nvXqZUgfW7Owy3c&Q=INTA8RQ<$cK6&)YY3B`WU*QC-pEL#EAx+G$^( z`{ZDs%wn5k9`CX_khhij<87^>(SDJ)bfvjLfn}qk*Olk_xmwV-0Zm3ODfYYBm}NT( ziK%Et`(M+!KlI82Xoz)FwB1CF_2}R1K$9DNI5*tq2!ir|{qD0_>cEnKXMiTx6qkxE zt6igY&?yfs*2PA;7pUI>u!ZeM+oWwKa0GcDNz^h=T3v|Rs~h3b(a^uS<9k?Xx>D;- z9_2=_Wt%Z0LC)8Mp0d`>I`*qBrGgU(aT_}^k=pc)&Y*jJG|47M(c#XMeRDtRT7H_!9fF`pP6?-UQ|>!$1HZ=Z-===c ze-CJ>Jzyx)Ha-!eoV9}0M$M!iRq0Fm7G)|f#nL)ff!J+99vphA8;-MEE_C5?gyCug!8m0&}ZFs-@ao;pt!Gzq%y1bj(2XQ1uA>Le>HwG0>lodgF-LtyD?kf*2?FOJ(^TKpFFBuhT#kVvv}x&+h5KuJsZr+$-yevF|Yos zrsP|v@C`%P$7PHDa2M9oMDH2f*;zf$LXDR+`e zQ>>+9Cg%O9jTE%~vdIRK`@)3k+j1awwGrak^2e$N)gT+adY2*VdQThs+6iOx&Wy{| zbRa(HUt`@w2=@AOmpQpQ@-AP@sxQyzK5y}R@fT4Te~e0^rS_eUG29xYLBI;de|D`5 zdgdC*EUON{Mn=m9PG5ITDUXUZ7EhRPFy+Lkr%dC*avxe5PD%&Z@SXWWar3CsW^Gc) z^}@y{;4-xqrD1_C{}yp5>)V&3D!kQG^JJu7r{8Pl?uR_@taD-5BGaC! zBHj5c=pFx-=z86cM#mzo{Pr-{vzf{#rIz=9P3t2P40C(SA8I})BuG$C^U{{f*rC0U z!4*&Ru=$R~#fZM`?D`gK;mE3VC^RlF$SnQkY7t&f<3I=KscgHwscyS?l7h=%mi2UBTA}H&cFudU@KBUWcXKd=!g=q}t*du0M(t_eig0me)iNHGMwUV)Z&Y zV72zAqh~$@nGD*G)E-)BAxbazbe-I5(p#D)Mi^PbUohVAdv6~cTQM>$_&h^<3uO(3 zM`+)Pb%^;_-wjkgAnmkVyBu-Z}MG;w2q)} z9&kv}biPEj9h9>SfF6=IH=B5BR~VXMYr5?Wnjui!_BBm&z^hheCTS(hTX}3@CqkF&fd=TcG3_9*S5Ltw=|Nf>vc_{eZXZULR=N(XpgFB$g zZN)*^Xf$^3=e~tkebtlEqx0e6r3cfh<*HLlg&SQdAv)y*c5IKXF zs*P0TC7xh=ULah{9CJGNdTYu5@Ov_lRznY)LtNDD*t8p>8NWy#Vg7u!Im|thLc0zo zVtxc_fdJ)TYm{~D^zSq0a5z=l!R@PfTWU?cW^Zy8?B`X_aAo7i0y|IgWDm}7mqeG> z$!;B8kQIHWMUZGaIP#}yeS>7Pn8xo=wSc7@8p5+^NLEIV_C~3EL)kDMU}|O=y@yGX zj~h3P=Ko8OvTlm77q%ce?r_h_Xe|2ZRzyn1_rG5fZr@vky(Z|XX{YrHnIZsZbT7xW zOu}Bx#~UbLKsCaJo8X`w4urH)Pl)cRfvIVAPqk!UWA*Z2#3Pe=>$q5xK2LyRxYLds z^#?ntXwhQ)=?osZbv>ke2dRB9}B}(dff_nDu5(ZZG#ZuxT$z6oh#1eB{O$ zrq6)^(EtA^^qtLR$%Sy3eMzpGQVW*2+f32M)UTwChccJZF%)`bk%=ZCM<@v1*>bMj zi9)&^h#8+nhq-AmRHhit1%cMjPCpv6pDL?h_DL4{e z)8ka>pepxY9~5M_xi#zl(fvoUAXNP?q6jLT?(Qkd9{zD|KMwGJw-T;>*`ETm^2yqs zt?UID?ln1E*^V{QSlNp;(fCc}u8GE)Xi$Bo-yi<}iALwL!>HVg;rKxk+Tnos`VE>- zAHTePn6m(NDZx-=YIn@x zx~eUw85qdqk&fAhoIZlC)9m?V&lv-U0;ic1S4X|%`>qJ~ddw15yeZ@;UxWj!a64({ z!SC(vzn=0BX9Q?HuWek(1O5K$ln68zcvIRc94edsaEgBWQ4N6K*A-#^Gk~Rh&)UL% zQ#ufmuI(5_Hr8b97ui_5l@vv^rpG831eE8Rx}e&xHFdG3E~wd*m4`KTv8FEmS5EE! zin>5EJTqUZdj52k(amQ&0o(K}f+ZVv^vYQj5UQ}rBLjJ1S0mkP9;*s9FQx&*78XV; z%5}^oL-2BF1iV)*MC4$*=VZkIu&oU&-E6f@Q)>ZyR8-~u*HaY^-eO1}a{(hv;prK` zsAnwKJ#sV_f8pxiMk4F)zz;_egQFbk-ngcMvD zGFRpdt@M&K-}V{19Ta@``4BJJ#lst8;yo|k_dLy_8VCGCSd-<2#sL_aKQpd$ztPx3 zP!Rr`)g30C)6ptH=lPS;H4UyjyD-R^Fgy?Aa+vOp>jeTCb(#YRI0KB${j>C#%1VLW z2^?e6v~et}&ffI{lgn8rGG6SI4GBFwpCL+S}8`gR%hHKHZ#PcmDq6Ug?&{tOr@JrV!|6&GQbH)Jk; zQTIN&AJ`kMdIBUzW(hc&PB+V!clKJB4+dS+rxt7b^9vK_r7rc!`|e#8LZOBB9q)ar zrFq*#Y!7+Udmz_qrn}jwXCB}TP2Mg!{#}(jX*P4Xna2C#fuh5-1tg&MDp2n*zO*#y z%_SzQ!hWO7l@}Gd9MTaAvsjQVDZAVO>;MdA3?wuM)-TVM$e*_X?w%JPI{L-sDiNIY zW8Mgti(E`8%SdV-zr+A1Md09(%Lsi>ie= z^`~Et_dIwh*WlrEJ0HZwE(}Id5p2Z6L4!F#fHdHvv%K^231d!TWDKUHD)xba$U#Uc@hl0~=%&9g5i4Bl97z zOc*bd1l_^ILJ3?|DTToEfWZKAIo1PV2}?(~X6ozJ0fyP+n8ic`vB&e%JqBJ(K%o9$ zZLGS(&=&T^(M*0e`|L}(-@|NJE7SAj+H&V48N@5 z7QMyqzIZ(g8E>`UG64X;TwcIgr;adi#xDy-0#`+VR|3MigRwB*G8n?$5jO!-!IH%$ z5s%pHN(lJ~wO%dobhOr8@Qg(8^}PVd_dLVB#xejFdEQ{+vxK@)I}flYHFQrCo*|?? zEuh2_F07EmNF6ZU)w%P4^(u@odgfe(p$)kpS?N1`xGZy_OL+5svhrwZqvcR2s~A6# z`$H^UH6zU_Cd;f(ZsiY$QxxwRbofYFEEPMJA;bNub8L2A(2H$5w44VBGnwK`A34b) zOCSUeah&!=K|phW?G1^J&@=X`d3{E(%fTod)?bStZ!?-S-P50+c7*%hkYMn2ACOmI za$Pb7CF7`dAZCQO`txND>IXj`qz;a?k9te0g-ayG#D(micUYcr;I&ZQnV~4MPjxhN zTeVp;fi9boMvT9z1D7EhE=$fNa$`=U2&0YgSHFFJG|=W$sRmpg>a{U+XM09-wR!=~ z$I^-qW3~)~^lh3ZN%wqok@1|2`0JjawzKN$`3IxoyxUirq5EiQ3nS9%R*xNuoc>{B zV6@Xp&@}}_X5iBvb=x@3vqigA1s<85Xh->(CSP>BfOl{?v0NKPeu}hzH(xovpG9S; zxy?RjG*DbFTzmpZ8H8j3Z(1!n6sFZTwTWf-p+nx2feRtCFMZav+h}jH_|D#_#m>=e8lnK3M&*AioH8bHIBnudL%CQK$6mg^B zOt|g4Ghm?-!dm=8gHlz-5ZkG}JW(bbtG74HKn_N)Vqx6wtwH@LLc>)f>^**;;9>Tq zW5dqlFJ?Vo+@kCKD!)vcf?Jj=Dz*T`6soDS)&dc1Ws}82<>NgivA~_-tdSOtK%g*Q zx~%S}pO8u#GgYO{xO5ayl?W<_NNmzBwxjMon^Ql{!udeb7G^Afv^D>06ov}mu?v{+?oy+NjJfwc^t-~8){~EN)J8UYvMVM zS-|mul`Rmz-u($%hA0pz&XF_edwdM*Cvqyi?5mbXx(kYI34_6Vx<>_YZ>#)#^6Iaj zpcb8(BS8k;>?5gNK|f{C;$&x?mb#t0)X8Q*-N~rim33%_l(e~!;XpAt5dkUCN<+}e zfne-b*dQ$C?ZJ(OsY9ccKIBP)gjqwMDNUzjho_hqK#BJ|eV?4Hl#lA>Ia!C??xc66 ze7q!tNOfwaexwtS4{T{mWgEXo`H-5NiOpvgK_Q#Iw>+d)2V1J9Ho=xH?*;G2!kFj%D(pu_SULI2pI>iFeuTEpuG!FX-CEX;Hga zM2NKI>mqN=pr|MO-+_*vK?4?lYOhmCd5!E$Q*?~C1;5#so)A9+K{%&L+f*Yvf$==B zC~zm--*ErikOGXfyln`-^-H-@Ed!D>ww0F-eOidjOZW zy0t^%G~(R&H>Uz&s*3qQ55THqUJ(Zzc-We0e4N4R?r>`wfS^mN-)^_72IIRJ zrw48_YuR4itLDYSqIX@&PR-V8s|Xj7KY?03s}&A5%huedTW@QQftk+mL0|UA=Yfrb zvFvhXh-mbz<4`P{7}{5wn3?r5ROX(-5@-s0Ywiz2O)0Y-%S#W={z=Hc+v>cW}J&`lrv(KHrxAxi|7fVktXB!*`cP<>U)Yy`}29_@wO&%Y) zK!8av#@^d$8w>z;&ajuH5pYW#SeKLJ$Xd&9Ij# zr2u1}RZ>QSb@}#@oN*8$D_Z9?M;1bg*RV~%l?;z!M!fp*uG=uTL#nKg$M(?Wn`4Rl zaAS9-(xR3U2U=i^uVMH0k{zk}j_HQNNGwngZ{9aN)3aanP^FJ1_-%`L=VF$t=?`Qr zbo&O=2>JrO`cwKlDMT)3NRh_f z9#gWAKU*&5`1e`v!zF{JX_mW@E-SsU5aym;<10_gAuha6m&2~FfH#5(Jl=f|I?RRkX z89fe`Bz8wSc6iNBv#+pnRsD_jB=$I8dl?F?fr{uru&8d)RO^iv#`_pZdY`**iYl!ek z0AI^%Z0>Fz24iD@+f%zJh@0!S3OLqa8PC@L4WX$m6GXyv)r(*Jn>I*V5OC8ChHC9Q zuQ+sLH@7}-L+rxG9g^n|m#eIv&Z`nQVlb}lj^@7n-J|@thoY#de&s@7_`_*o&z%8B zQOSJMtm$1*m!T$XD5q3W1}+w^Eq|HE~(P&S45)y|y+;j&d6QM(8X zZ%2*xSC$gNhzooG;Fnq2ye$75NPYZS(oXRrI8H8(Uk?Bh*_H zeOA_;!aVA7^Oy4mhi)*;8N>MdK!|zZ8HDCZ%Lk$6tH}a3Gi+|xbHz?~82^>TOeSwG zuO^TtD?38mW%x1Efh?1iGLz?OOZDl-lKZLs)950svgokkf;KZuL9{_o) z>=HQCwzpf<_F40c_XZ&}MgeS+LPbLzk-O6hdiszQ1o%d$)H6D$g87m0E$x&@m(1#k zw(aVsIlUMg_pxdfPP;gwVi642)c_n(bxoau7?UAKzlKs?^XL86QWgG%;(dJs{6-^B z8#P+|#*k@sJGSk+G9y9;*u*RwLFH$5jj}tHKbnERFs>gTVkGOxcjQlgZ4F^*xBoK2 zxzw-1`)?<@bRT}M$QgLqvB1df_QLQY)nqYa!7B{8#<99<@h%U&M`S}8LVp9%`9CR< z1Cx5CS;l7SwUC9XOSu0W4_35!A(UzTwXcIA{La%r2{YI@JJ43-ehtFBk7J@HopMfguLEIxzr|kB9?0fZ0 z(a!xZeX&h!h`D5Wn-p4baE8MhJ_-x-<8JoN{R<_qrJ$JA<~8{58F5K^rCt@s8g1hf zq7aZWRbO_;(*?Pyvnl%T1qJvh@Az?dKWVv@r9nhyrMvt;tCO!wd+3@!OSUNgI|H*_ z)lJfwa%pc->Pv2eb#Yb`-@XiRE{}5(gEft$0e#hQP!ckOh%v4UPEFp_COZret(+q# zhL-k=sYHXW5}V(K^zf3EXR8@b-yJi@cO$WYm*oEi`7B+QB=HdH^lOI zY=LzpB>&Q3C=~miyranb!}8d!<%fv!-0Q2Sd}4-iL~*X8#*LFnU3OaAUzlB6bx4Ku zB#QLf;MkjEKGeM&{wwf;iwO)VeMjJqX1!e7=#Z zC}I$$-<%xevi@4$i;VWP7$OI-6|T>FFy;ylpKY##%aV-RE%wg8F>lVme-~l55IV zvMi0Pkhg9QoD6jUbJSXD@U8@c?xzs#noJS)yzG|5jR#4c}8FWP3pZ2!9)G_&3bzI4@)kKO0#krou)yuGpENT^&^^5;8^Tv zaymYm(P*p|#lzu$CCOapn%CZun>$?k@9GhxX2!fAgM%{62dG@%Dc9=BP6Q|+@*|;R zL%}4Xf@cZG?Ki6W^+Q0w?2M-5ErdHzyPD<)jg9TN4#^+XoStogs|{ne2y(i$i3ZuJHm}v zw!4p$)VZ0>CoPSS6mVU6j;$<3S9J(4+oWG1TUn%8Gc6*SESS~iD4UhObTP_~UF`Mn zVk_n>_s{EKiiI?dSW(|4ieEtaJe!7LxAFl4VTQ>4Zk^~jT!-y64oOs0de5ZQ#}|(y z2wHM5pdZT<<@v6+MHe^m4AblHVejAkj-l#;DsAbl(2eY3C(VT$-#?}6M8HX~hFl@T z{2}(aiOg5$GHVm{zS)mu*soUqUGx&B}l zyb;zqx9&*?U~UsU=te3)(!-S!W&?dF&VR zx9_GpJ9&M#6Q4&kpcTMC*cqU*S}v3y2n@xkuwPd+*D;?q$m@YzgX~hH&ysGQYQc@^ zLUD{J3=Gc)6Ntk*N5FV0ce1OJcV@B!zNX+Mr^>|Mrp9di1n8$&1hh}E%Qo+AI@$eI zI|7xc#0J^W0yfn%y1~ICL_*{OH%9N(__<1VQsCI}lLIJ?iv_WLbN$gl=aFn?rB%=D zS^lJ_4Pd#kxySu92~|z&e+syc3sz^Z9!<9H9gU<@Vm>Nt91H+MayiP=@s_L8OHZw*!Y=FWhBWAQm30= za6(U){BfbxqZaNPB_Q-Geup1M`Ef^biQg~e!_XyH(gk+9LFU{+|5X-2M<9p2jHN^_ zXXzQFX!Cm~p!8AOA1&u}9l+HC9-<1S8&pr}^GQkF>s*9npS`LHkXw2ifb(37h#;m@ z`rl?Pb=eFC|AyfEfg+yZm)cm3?unXH3uo}?b7HzMx&H?>ji=@R6)_dz4J#MhI_Hp<9EyXNeH27?i zHq5b$-k`nHrSe;(1p*3-sGMg1K`=(c-TRdrOu!D_N2M;H39yM%j$|<7qgB7mRT)AkeE5Fq_7|DX~JF1 z8pYG%HI!PSnU8njwm4pL)q3AfW3cc8h@))CabG_Ul!c?J7Z0DA08&-d(h{9%lFT(W z23_zDiLIsZsn z*S%p(`yA!g?KcI`hqLY`o&?LQkZT&AjLfDtS@*{0U>ESco)&e|Td9pD-ef6^n66vJ zuyH_SJ38cV*2QAw!WLaWk)sx^#R8?^h4IP)T-t`a_-dWoNvWd)3Sx#_*M|Aq9ux}9 zq%T1sv{r(25y><`pw!%0WjM(7H1LWuc=)Xt8(AiX(rzus|%C!+4^99yHg za0gNq+-Z2W92+5SrHPvB@-_U>k$r-u9*!`pHwVXuuxL9&g%BHZy*>H%rJ-PUuNfvX zf>5OjA&D&;In&0;CBXxVVQIJV5#;9##mf-h*?GQvm6FLdRRCYVxWlJsbPnPM4iVCD z!mep**x(MT-rXqU7fzfXNr&zKn3Cqk10EimQH=<#5gL0Si!#4^eaMM*F=Xa~nR=IA zWKR1~EiSUzGCF|urL#}hjl8So4Hg26><8`hM6*1wu|gIWk=_dfyeAvUXUj2xy=ms( zhfT|%%JUGZ@}>id&d!-fgvAfDP*k$a^Klqev)lRoxzkt1Mdsx}UA%QUy}gsFt~Ri$ zp1LUdmH8XMq_Zv)x>adXea1A-=BGgV_!#bCDln36@BL?%nj2!Ir(d^Ep@Hhz{Y;^V z97o4s4ETyTUW-lwXGZb7sj7e#TiQMI@3uo%S;bI9Zj0bd!;{&4xDXb1IDl9vlpREh zZM`2ZbX4T&Oh0f(HeOtXaJW2(Tl%F4}vONQgHi|+tZ@mi>Rw$K@wpJ*qSLeSCC zFZOS73eb5kwYPW(%Bcuc=Rr&?iQyS3(2!<6;dq%#12>%6%6iGxD6q0>(!G0DVev?b zSZbp4+>C)Kcm%PrHX4LE0 zWNY7Q8@z5Jk$P?lfv^W5iDWd%zlTqub6w;czwZP?PZ z!L6a0xEhX@S>eD;OabEcdGwx-l9Mf}1X}af5K%Udr!%C)^qR8)vZ#cLB3w??Vq0Gg zAo%Mi*_USrRNWByQMCkxs>?OzzvOA|-qYlJoTdbF%)79D2iy0EJ&VTc9XcU*RlsBa zl9I{z9&~#-=9=F_$%T7wg-_P?bItrUB7B+M9*?;4=2%P5NKo!LhC{P+N_Zy#%D)ya zG|{Fpvrg#f3vVgE=0@3yBCM9)$vTfY;fcd8o2- z?~ot`EW(P&=}=vf^zN2%^<#N0yWTh%_kr8{>@zxg-=k0R>axkKi}PR_n-^1&+AN{x zCHtq~bw3i?-ghUSuiy__fR!8@niP6KEp`7?>HTjNXtNP+Ve=Dxdhzp+nHsvbE6hW9 z>r__IRN}kgd`rebI;t6>$<&% z)kCmyr#X@3lyq8C>@P|Doa2ns|0Bx_nreK4z_r>h|Md_0ZvjjJ*{oU4Gfy7&4M?o`UEk7D_DAMH55@ zO_hu4e$99U?71>-C4sV^5i)!9T3S@qNPY0}qKS?2MzP9!dq#2ELgM%=RFg&~Q6t-s zfXBch^hynIu0O%(nfbM~?}%SQs#Qn;)jvsqBE7^g*i0{DS1O3L=^SL8x?0^=r*{u1 zbjlu}-_~yjN^Jm?h{K}Q)f?;DTr|?M9n&f#Y|5ej^8iwS!U*iP6?9ZsyXsSM_6pB! zh5LMXy)4ynp!%?5je_(Z>q5n5Y+S(j&BTW0+h_5|Nqx@(cQfN4{-&O^nWhj9coVQUKxLGJ7q~op$u&XM{ZUpwK@yFvLs~B z6pX=hHa1D3;u26d^4EtKAvf1$uWi@bc2Q+}O}Z%eXzeoo?6dHPhQu}91^KHrRZmG3 ztXanY6y};E@zZduITAnf+iQN;Pp5j#kyvviehphdQLH%A(L69Iv=H diff --git a/apps/docs/public/topo_kahn.007.png b/apps/docs/public/topo_kahn.007.png deleted file mode 100644 index 88b5dbc330dadd694e8f6859911724526ef3f828..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65299 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 diff --git a/apps/docs/public/topo_kahn.010.png b/apps/docs/public/topo_kahn.010.png deleted file mode 100644 index da9f88b9ef33facfe7dd971005c701077c4047a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49082 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 diff --git a/apps/docs/redirects.ts b/apps/docs/redirects.ts deleted file mode 100644 index d47316a..0000000 --- a/apps/docs/redirects.ts +++ /dev/null @@ -1,95 +0,0 @@ -// Generated by `bun run sync` (apps/cli/sync.ts) — do not edit. -// `/leetcode/` → that problem's page; exact paths, base added by Blume. -export default [ - { from: "/1", to: "/hash-table/two-sum" }, - { from: "/2", to: "/hybrid-structures/add-two-numbers" }, - { from: "/3", to: "/sliding-window/longest-substring-without-repeating-characters" }, - { from: "/11", to: "/two-pointers/container-with-most-water" }, - { from: "/15", to: "/two-pointers/3sum" }, - { from: "/20", to: "/stack/valid-parentheses" }, - { from: "/21", to: "/linked-list/merge-two-sorted-lists" }, - { from: "/23", to: "/heap-priority-queue/merge-k-sorted-lists" }, - { from: "/33", to: "/binary-search/search-in-rotated-sorted-array" }, - { from: "/34", to: "/binary-search/find-first-and-last-position-of-element-in-sorted-array" }, - { from: "/35", to: "/binary-search/search-insert-position" }, - { from: "/39", to: "/backtracking/combination-sum" }, - { from: "/42", to: "/two-pointers/trapping-rain-water" }, - { from: "/46", to: "/backtracking/permutations" }, - { from: "/48", to: "/matrix-index-math/rotate-image" }, - { from: "/49", to: "/hash-table/group-anagrams" }, - { from: "/53", to: "/greedy/maximum-subarray" }, - { from: "/54", to: "/matrix-index-math/spiral-matrix" }, - { from: "/55", to: "/greedy/jump-game" }, - { from: "/56", to: "/intervals/merge-intervals" }, - { from: "/57", to: "/intervals/insert-interval" }, - { from: "/62", to: "/multi-d-grid-dp/unique-paths" }, - { from: "/64", to: "/multi-d-grid-dp/minimum-path-sum" }, - { from: "/70", to: "/1d-dynamic-programming/climbing-stairs" }, - { from: "/73", to: "/matrix-index-math/set-matrix-zeroes" }, - { from: "/74", to: "/binary-search/search-a-2d-matrix" }, - { from: "/78", to: "/backtracking/subsets" }, - { from: "/98", to: "/binary-search-tree/validate-binary-search-tree" }, - { from: "/102", to: "/tree-bfs/binary-tree-level-order-traversal" }, - { from: "/104", to: "/tree-dfs/maximum-depth-of-binary-tree" }, - { from: "/121", to: "/sliding-window/best-time-to-buy-and-sell-stock" }, - { from: "/125", to: "/two-pointers/valid-palindrome" }, - { from: "/127", to: "/graph-bfs/word-ladder" }, - { from: "/128", to: "/hash-table/longest-consecutive-sequence" }, - { from: "/133", to: "/graph-dfs/clone-graph" }, - { from: "/134", to: "/greedy/gas-station" }, - { from: "/141", to: "/linked-list/linked-list-cycle" }, - { from: "/146", to: "/hybrid-structures/lru-cache" }, - { from: "/150", to: "/stack/evaluate-reverse-polish-notation" }, - { from: "/153", to: "/binary-search/find-minimum-in-rotated-sorted-array" }, - { from: "/155", to: "/stack/min-stack" }, - { from: "/162", to: "/binary-search/find-peak-element" }, - { from: "/167", to: "/two-pointers/two-sum-ii-input-array-is-sorted" }, - { from: "/189", to: "/two-pointers/rotate-array" }, - { from: "/198", to: "/1d-dynamic-programming/house-robber" }, - { from: "/199", to: "/tree-bfs/binary-tree-right-side-view" }, - { from: "/200", to: "/graph-dfs/number-of-islands" }, - { from: "/205", to: "/hash-table/isomorphic-strings" }, - { from: "/206", to: "/linked-list/reverse-linked-list" }, - { from: "/207", to: "/topological-sort/course-schedule" }, - { from: "/208", to: "/trie/implement-trie-prefix-tree" }, - { from: "/209", to: "/sliding-window/minimum-size-subarray-sum" }, - { from: "/210", to: "/topological-sort/course-schedule-ii" }, - { from: "/211", to: "/trie/design-add-and-search-words-data-structure" }, - { from: "/215", to: "/heap-priority-queue/kth-largest-element-in-an-array" }, - { from: "/217", to: "/hash-table/contains-duplicate" }, - { from: "/226", to: "/tree-dfs/invert-binary-tree" }, - { from: "/230", to: "/binary-search-tree/kth-smallest-element-in-a-bst" }, - { from: "/235", to: "/binary-search-tree/lowest-common-ancestor-of-a-binary-search-tree" }, - { from: "/236", to: "/tree-dfs/lowest-common-ancestor-of-a-binary-tree" }, - { from: "/238", to: "/prefix-sum/product-of-array-except-self" }, - { from: "/242", to: "/hash-table/valid-anagram" }, - { from: "/290", to: "/hash-table/word-pattern" }, - { from: "/303", to: "/prefix-sum/range-sum-query-immutable" }, - { from: "/322", to: "/1d-dynamic-programming/coin-change" }, - { from: "/323", to: "/union-find/number-of-connected-components-in-an-undirected-graph" }, - { from: "/344", to: "/two-pointers/reverse-string" }, - { from: "/347", to: "/hash-table/top-k-frequent-elements" }, - { from: "/387", to: "/hash-table/first-unique-character-in-a-string" }, - { from: "/392", to: "/two-pointers/is-subsequence" }, - { from: "/417", to: "/graph-dfs/pacific-atlantic-water-flow" }, - { from: "/424", to: "/sliding-window/longest-repeating-character-replacement" }, - { from: "/435", to: "/intervals/non-overlapping-intervals" }, - { from: "/451", to: "/hash-table/sort-characters-by-frequency" }, - { from: "/525", to: "/prefix-sum/contiguous-array" }, - { from: "/560", to: "/prefix-sum/subarray-sum-equals-k" }, - { from: "/567", to: "/sliding-window/permutation-in-string" }, - { from: "/643", to: "/sliding-window/maximum-average-subarray-i" }, - { from: "/684", to: "/union-find/redundant-connection" }, - { from: "/704", to: "/binary-search/binary-search" }, - { from: "/739", to: "/monotonic-stack/daily-temperatures" }, - { from: "/853", to: "/monotonic-stack/car-fleet" }, - { from: "/875", to: "/binary-search/koko-eating-bananas" }, - { from: "/973", to: "/heap-priority-queue/k-closest-points-to-origin" }, - { from: "/974", to: "/prefix-sum/subarray-sums-divisible-by-k" }, - { from: "/977", to: "/two-pointers/squares-of-a-sorted-array" }, - { from: "/994", to: "/graph-bfs/rotting-oranges" }, - { from: "/1004", to: "/sliding-window/max-consecutive-ones-iii" }, - { from: "/1143", to: "/multi-d-grid-dp/longest-common-subsequence" }, - { from: "/1448", to: "/tree-bfs/count-good-nodes-in-binary-tree" }, - { from: "/1832", to: "/hash-table/check-if-the-sentence-is-pangram" }, -]; diff --git a/apps/docs/theme.css b/apps/docs/theme.css deleted file mode 100644 index 6cb39f1..0000000 --- a/apps/docs/theme.css +++ /dev/null @@ -1,71 +0,0 @@ -/* - * shadcn/ui tokens on top of Blume's theme. Blume (Tailwind v4) already maps - * background/foreground/muted/border onto its --blume-* tokens; this adds the - * names shadcn components expect, pointed at the same tokens so the progress - * cards follow the site in both colour schemes. Blume inlines this file into - * its Tailwind entry and switches dark mode with [data-theme="dark"], not - * shadcn's .dark class. - * - * Deliberately NOT remapped: `accent`. In Blume it is the brand colour - * (bg-accent), in shadcn a subtle hover surface; the vendored components here - * never use it. - */ - -:root { - /* Difficulty hues, LeetCode's: easy teal, medium amber, hard red. */ - --chart-1: oklch(0.72 0.12 195); - --chart-2: oklch(0.8 0.16 80); - --chart-3: oklch(0.63 0.22 25); - /* Solved fill for the topic bubbles. */ - --chart-4: oklch(0.72 0.17 150); - --chart-5: oklch(0.6 0.12 250); - /* Heatmap ramp — the GREENS of apps/api/src/charts.ts (README + email), with - level 0 on the theme's muted surface so an empty day reads in light mode. */ - --heat-0: var(--blume-muted); - --heat-1: #9be9a8; - --heat-2: #40c463; - --heat-3: #30a14e; - --heat-4: #216e39; -} - -:root[data-theme="dark"] { - --chart-1: oklch(0.75 0.12 195); - --chart-2: oklch(0.83 0.16 80); - --chart-3: oklch(0.68 0.21 25); - --chart-4: oklch(0.76 0.17 150); - --chart-5: oklch(0.7 0.12 250); - --heat-0: var(--blume-muted); - --heat-1: #0e4429; - --heat-2: #006d32; - --heat-3: #26a641; - --heat-4: #39d353; -} - -/* shadcn components draw `border` with no colour and rely on a global - `* { border-color: var(--border) }` base rule. Blume has none (its own - components always name border-border), so give shadcn's parts — every one - carries data-slot — that default, scoped, without touching Blume's. */ -@layer base { - [data-slot], - [data-slot] * { - border-color: var(--blume-border); - } -} - -@theme inline { - --color-card: var(--blume-background); - --color-card-foreground: var(--blume-foreground); - --color-popover: var(--blume-background); - --color-popover-foreground: var(--blume-foreground); - --color-primary: var(--blume-foreground); - --color-primary-foreground: var(--blume-background); - --color-secondary: var(--blume-muted); - --color-secondary-foreground: var(--blume-foreground); - --color-input: var(--blume-border); - --color-ring: var(--blume-muted-foreground); - --color-chart-1: var(--chart-1); - --color-chart-2: var(--chart-2); - --color-chart-3: var(--chart-3); - --color-chart-4: var(--chart-4); - --color-chart-5: var(--chart-5); -} diff --git a/apps/docs/topic-landings.ts b/apps/docs/topic-landings.ts deleted file mode 100644 index c6e69cc..0000000 --- a/apps/docs/topic-landings.ts +++ /dev/null @@ -1,69 +0,0 @@ -/** - * LeetCode topic-tag slug → the campaign landing routes that teach it, in - * default preference order. The one answer to "does the campaign cover this - * tag", read by the sides that must agree: - * - * - `components/ProblemBadges.astro` links a covered tag's badge to its - * landing page, and every other tag's badge to its Appendix card, - * `/appendix#` (`appendix.ts`); - * - `components/BacklinksList.astro` lists, under a landing page, every - * problem whose badge links there — both via `tagTarget()`; - * - `apps/cli/sync.ts` warns about a tag a problem page carries that is - * neither a key here nor an Appendix term. - * - * Add a key when a campaign topic starts teaching a tag; its Appendix term is - * then dead weight, delete it. A tag naming two topics (DFS/BFS: tree and - * graph; DP: 1-D and grid) lists both; the badge picks per page. - */ -import { APPENDIX } from "./appendix.ts"; - -export const TOPIC_LANDINGS: Record = { - "hash-table": ["/hash-table"], - "prefix-sum": ["/prefix-sum"], - "two-pointers": ["/two-pointers"], - "sliding-window": ["/sliding-window"], - "binary-search": ["/binary-search"], - stack: ["/stack"], - "monotonic-stack": ["/monotonic-stack"], - "linked-list": ["/linked-list"], - matrix: ["/matrix-index-math"], - "depth-first-search": ["/tree-dfs", "/graph-dfs"], - "breadth-first-search": ["/tree-bfs", "/graph-bfs"], - "binary-search-tree": ["/binary-search-tree"], - "heap-priority-queue": ["/heap-priority-queue"], - trie: ["/trie"], - "topological-sort": ["/topological-sort"], - "union-find": ["/union-find"], - backtracking: ["/backtracking"], - "dynamic-programming": ["/1d-dynamic-programming", "/multi-d-grid-dp"], - greedy: ["/greedy"], -}; - -/** One of LeetCode's topic tags, as a problem page's `topics:` frontmatter carries it. */ -export interface TopicTag { - name: string; - slug: string; -} - -/** - * Where a problem page's badge for `tag` points: a root-relative landing - * route or Appendix anchor (the caller adds the base), or LeetCode's problem - * list when the site has neither, so a badge never links to a 404. - * - * A tag naming two landings links to the page's own topic — its route's first - * segment — when that is one of them; otherwise DFS/BFS prefer the tree topic - * for a problem LeetCode also tags `Tree` and the graph topic for the rest. - */ -export function tagTarget( - tag: TopicTag, - page: { route: string; tags: readonly TopicTag[] }, - served: ReadonlySet, -): { href: string; kind: "landing" | "appendix" | "external" } { - const landings = (TOPIC_LANDINGS[tag.slug] ?? []).filter((path) => served.has(path)); - const own = `/${page.route.split("/")[1]}`; - const prefer = page.tags.some((t) => t.slug === "tree") ? "/tree-" : "/graph-"; - const landing = landings.includes(own) ? own : (landings.find((p) => p.startsWith(prefer)) ?? landings[0]); - if (landing) return { href: landing, kind: "landing" }; - if (APPENDIX[tag.slug]) return { href: `/appendix#${tag.slug}`, kind: "appendix" }; - return { href: `https://leetcode.com/problem-list/${tag.slug}/`, kind: "external" }; -} diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json deleted file mode 100644 index a466480..0000000 --- a/apps/docs/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "module": "ESNext", - "moduleResolution": "Bundler", - "jsx": "react-jsx", - "strict": true, - "noEmit": true, - "skipLibCheck": true, - "allowImportingTsExtensions": true, - "paths": { - "@/components": ["./components"], - "@/components/*": ["./components/*"], - "@/lib": ["./lib"], - "@/lib/*": ["./lib/*"], - "@/hooks": ["./hooks"], - "@/hooks/*": ["./hooks/*"] - } - }, - "include": ["islands", "components/ui", "lib", "topic-landings.ts", "redirects.ts"] -} diff --git a/apps/docs/content/(01-linear-structures)/binary-search/(problems)/153_find-minimum-in-rotated-sorted-array.mdx b/docs/(01-linear-structures)/binary-search/(problems)/153_find-minimum-in-rotated-sorted-array.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/binary-search/(problems)/153_find-minimum-in-rotated-sorted-array.mdx rename to docs/(01-linear-structures)/binary-search/(problems)/153_find-minimum-in-rotated-sorted-array.mdx diff --git a/apps/docs/content/(01-linear-structures)/binary-search/(problems)/162_find-peak-element.mdx b/docs/(01-linear-structures)/binary-search/(problems)/162_find-peak-element.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/binary-search/(problems)/162_find-peak-element.mdx rename to docs/(01-linear-structures)/binary-search/(problems)/162_find-peak-element.mdx diff --git a/apps/docs/content/(01-linear-structures)/binary-search/(problems)/33_search-in-rotated-sorted-array.mdx b/docs/(01-linear-structures)/binary-search/(problems)/33_search-in-rotated-sorted-array.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/binary-search/(problems)/33_search-in-rotated-sorted-array.mdx rename to docs/(01-linear-structures)/binary-search/(problems)/33_search-in-rotated-sorted-array.mdx diff --git a/apps/docs/content/(01-linear-structures)/binary-search/(problems)/34_find-first-and-last-position-of-element-in-sorted-array.mdx b/docs/(01-linear-structures)/binary-search/(problems)/34_find-first-and-last-position-of-element-in-sorted-array.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/binary-search/(problems)/34_find-first-and-last-position-of-element-in-sorted-array.mdx rename to docs/(01-linear-structures)/binary-search/(problems)/34_find-first-and-last-position-of-element-in-sorted-array.mdx diff --git a/apps/docs/content/(01-linear-structures)/binary-search/(problems)/35_search-insert-position.mdx b/docs/(01-linear-structures)/binary-search/(problems)/35_search-insert-position.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/binary-search/(problems)/35_search-insert-position.mdx rename to docs/(01-linear-structures)/binary-search/(problems)/35_search-insert-position.mdx diff --git a/apps/docs/content/(01-linear-structures)/binary-search/(problems)/704_binary-search.mdx b/docs/(01-linear-structures)/binary-search/(problems)/704_binary-search.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/binary-search/(problems)/704_binary-search.mdx rename to docs/(01-linear-structures)/binary-search/(problems)/704_binary-search.mdx diff --git a/apps/docs/content/(01-linear-structures)/binary-search/(problems)/74_search-a-2d-matrix.mdx b/docs/(01-linear-structures)/binary-search/(problems)/74_search-a-2d-matrix.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/binary-search/(problems)/74_search-a-2d-matrix.mdx rename to docs/(01-linear-structures)/binary-search/(problems)/74_search-a-2d-matrix.mdx diff --git a/apps/docs/content/(01-linear-structures)/binary-search/(problems)/875_koko-eating-bananas.mdx b/docs/(01-linear-structures)/binary-search/(problems)/875_koko-eating-bananas.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/binary-search/(problems)/875_koko-eating-bananas.mdx rename to docs/(01-linear-structures)/binary-search/(problems)/875_koko-eating-bananas.mdx diff --git a/apps/docs/content/(01-linear-structures)/binary-search/index.mdx b/docs/(01-linear-structures)/binary-search/index.mdx similarity index 90% rename from apps/docs/content/(01-linear-structures)/binary-search/index.mdx rename to docs/(01-linear-structures)/binary-search/index.mdx index 8fafb1e..7667191 100644 --- a/apps/docs/content/(01-linear-structures)/binary-search/index.mdx +++ b/docs/(01-linear-structures)/binary-search/index.mdx @@ -26,14 +26,14 @@ Time Complexity: `O(log(n))` - - - - - - - - + + + + + + + + ```python diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/128_longest-consecutive-sequence.mdx b/docs/(01-linear-structures)/hash-table/(problems)/128_longest-consecutive-sequence.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/128_longest-consecutive-sequence.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/128_longest-consecutive-sequence.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/1832_check-if-the-sentence-is-pangram.mdx b/docs/(01-linear-structures)/hash-table/(problems)/1832_check-if-the-sentence-is-pangram.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/1832_check-if-the-sentence-is-pangram.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/1832_check-if-the-sentence-is-pangram.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/1_two-sum.mdx b/docs/(01-linear-structures)/hash-table/(problems)/1_two-sum.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/1_two-sum.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/1_two-sum.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/205_isomorphic-strings.mdx b/docs/(01-linear-structures)/hash-table/(problems)/205_isomorphic-strings.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/205_isomorphic-strings.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/205_isomorphic-strings.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/217_contains-duplicate.mdx b/docs/(01-linear-structures)/hash-table/(problems)/217_contains-duplicate.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/217_contains-duplicate.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/217_contains-duplicate.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/242_valid-anagram.mdx b/docs/(01-linear-structures)/hash-table/(problems)/242_valid-anagram.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/242_valid-anagram.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/242_valid-anagram.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/290_word-pattern.mdx b/docs/(01-linear-structures)/hash-table/(problems)/290_word-pattern.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/290_word-pattern.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/290_word-pattern.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/347_top-k-frequent-elements.mdx b/docs/(01-linear-structures)/hash-table/(problems)/347_top-k-frequent-elements.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/347_top-k-frequent-elements.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/347_top-k-frequent-elements.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/387_first-unique-character-in-a-string.mdx b/docs/(01-linear-structures)/hash-table/(problems)/387_first-unique-character-in-a-string.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/387_first-unique-character-in-a-string.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/387_first-unique-character-in-a-string.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/451_sort-characters-by-frequency.mdx b/docs/(01-linear-structures)/hash-table/(problems)/451_sort-characters-by-frequency.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/451_sort-characters-by-frequency.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/451_sort-characters-by-frequency.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/(problems)/49_group-anagrams.mdx b/docs/(01-linear-structures)/hash-table/(problems)/49_group-anagrams.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/hash-table/(problems)/49_group-anagrams.mdx rename to docs/(01-linear-structures)/hash-table/(problems)/49_group-anagrams.mdx diff --git a/apps/docs/content/(01-linear-structures)/hash-table/index.mdx b/docs/(01-linear-structures)/hash-table/index.mdx similarity index 97% rename from apps/docs/content/(01-linear-structures)/hash-table/index.mdx rename to docs/(01-linear-structures)/hash-table/index.mdx index 2b720f4..de2adcd 100644 --- a/apps/docs/content/(01-linear-structures)/hash-table/index.mdx +++ b/docs/(01-linear-structures)/hash-table/index.mdx @@ -13,7 +13,7 @@ Data is stored in a fix-sized array, where each data value has an unique index. -![](../../../public/hash-table-operations.svg) +![](/hash-table-operations.svg) diff --git a/apps/docs/content/(01-linear-structures)/monotonic-stack/(problems)/739_daily-temperatures.mdx b/docs/(01-linear-structures)/monotonic-stack/(problems)/739_daily-temperatures.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/monotonic-stack/(problems)/739_daily-temperatures.mdx rename to docs/(01-linear-structures)/monotonic-stack/(problems)/739_daily-temperatures.mdx diff --git a/apps/docs/content/(01-linear-structures)/monotonic-stack/(problems)/853_car-fleet.mdx b/docs/(01-linear-structures)/monotonic-stack/(problems)/853_car-fleet.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/monotonic-stack/(problems)/853_car-fleet.mdx rename to docs/(01-linear-structures)/monotonic-stack/(problems)/853_car-fleet.mdx diff --git a/apps/docs/content/(01-linear-structures)/monotonic-stack/index.mdx b/docs/(01-linear-structures)/monotonic-stack/index.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/monotonic-stack/index.mdx rename to docs/(01-linear-structures)/monotonic-stack/index.mdx diff --git a/apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/238_product-of-array-except-self.mdx b/docs/(01-linear-structures)/prefix-sum/(problems)/238_product-of-array-except-self.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/238_product-of-array-except-self.mdx rename to docs/(01-linear-structures)/prefix-sum/(problems)/238_product-of-array-except-self.mdx diff --git a/apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/303_range-sum-query-immutable.mdx b/docs/(01-linear-structures)/prefix-sum/(problems)/303_range-sum-query-immutable.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/303_range-sum-query-immutable.mdx rename to docs/(01-linear-structures)/prefix-sum/(problems)/303_range-sum-query-immutable.mdx diff --git a/apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/525_contiguous-array.mdx b/docs/(01-linear-structures)/prefix-sum/(problems)/525_contiguous-array.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/525_contiguous-array.mdx rename to docs/(01-linear-structures)/prefix-sum/(problems)/525_contiguous-array.mdx diff --git a/apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/560_subarray-sum-equals-k.mdx b/docs/(01-linear-structures)/prefix-sum/(problems)/560_subarray-sum-equals-k.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/560_subarray-sum-equals-k.mdx rename to docs/(01-linear-structures)/prefix-sum/(problems)/560_subarray-sum-equals-k.mdx diff --git a/apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/974_subarray-sums-divisible-by-k.mdx b/docs/(01-linear-structures)/prefix-sum/(problems)/974_subarray-sums-divisible-by-k.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/prefix-sum/(problems)/974_subarray-sums-divisible-by-k.mdx rename to docs/(01-linear-structures)/prefix-sum/(problems)/974_subarray-sums-divisible-by-k.mdx diff --git a/apps/docs/content/(01-linear-structures)/prefix-sum/index.mdx b/docs/(01-linear-structures)/prefix-sum/index.mdx similarity index 98% rename from apps/docs/content/(01-linear-structures)/prefix-sum/index.mdx rename to docs/(01-linear-structures)/prefix-sum/index.mdx index 12974c0..e5940f3 100644 --- a/apps/docs/content/(01-linear-structures)/prefix-sum/index.mdx +++ b/docs/(01-linear-structures)/prefix-sum/index.mdx @@ -27,7 +27,7 @@ The leading `prefix[0] = 0` is the sum of zero elements. That extra slot is what -![](../../../public/prefix-sum_1.png) +![](/prefix-sum_1.png) diff --git a/apps/docs/content/(01-linear-structures)/sliding-window/(problems)/1004_max-consecutive-ones-iii.mdx b/docs/(01-linear-structures)/sliding-window/(problems)/1004_max-consecutive-ones-iii.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/sliding-window/(problems)/1004_max-consecutive-ones-iii.mdx rename to docs/(01-linear-structures)/sliding-window/(problems)/1004_max-consecutive-ones-iii.mdx diff --git a/apps/docs/content/(01-linear-structures)/sliding-window/(problems)/121_best-time-to-buy-and-sell-stock.mdx b/docs/(01-linear-structures)/sliding-window/(problems)/121_best-time-to-buy-and-sell-stock.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/sliding-window/(problems)/121_best-time-to-buy-and-sell-stock.mdx rename to docs/(01-linear-structures)/sliding-window/(problems)/121_best-time-to-buy-and-sell-stock.mdx diff --git a/apps/docs/content/(01-linear-structures)/sliding-window/(problems)/209_minimum-size-subarray-sum.mdx b/docs/(01-linear-structures)/sliding-window/(problems)/209_minimum-size-subarray-sum.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/sliding-window/(problems)/209_minimum-size-subarray-sum.mdx rename to docs/(01-linear-structures)/sliding-window/(problems)/209_minimum-size-subarray-sum.mdx diff --git a/apps/docs/content/(01-linear-structures)/sliding-window/(problems)/3_longest-substring-without-repeating-characters.mdx b/docs/(01-linear-structures)/sliding-window/(problems)/3_longest-substring-without-repeating-characters.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/sliding-window/(problems)/3_longest-substring-without-repeating-characters.mdx rename to docs/(01-linear-structures)/sliding-window/(problems)/3_longest-substring-without-repeating-characters.mdx diff --git a/apps/docs/content/(01-linear-structures)/sliding-window/(problems)/424_longest-repeating-character-replacement.mdx b/docs/(01-linear-structures)/sliding-window/(problems)/424_longest-repeating-character-replacement.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/sliding-window/(problems)/424_longest-repeating-character-replacement.mdx rename to docs/(01-linear-structures)/sliding-window/(problems)/424_longest-repeating-character-replacement.mdx diff --git a/apps/docs/content/(01-linear-structures)/sliding-window/(problems)/567_permutation-in-string.mdx b/docs/(01-linear-structures)/sliding-window/(problems)/567_permutation-in-string.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/sliding-window/(problems)/567_permutation-in-string.mdx rename to docs/(01-linear-structures)/sliding-window/(problems)/567_permutation-in-string.mdx diff --git a/apps/docs/content/(01-linear-structures)/sliding-window/(problems)/643_maximum-average-subarray-i.mdx b/docs/(01-linear-structures)/sliding-window/(problems)/643_maximum-average-subarray-i.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/sliding-window/(problems)/643_maximum-average-subarray-i.mdx rename to docs/(01-linear-structures)/sliding-window/(problems)/643_maximum-average-subarray-i.mdx diff --git a/apps/docs/content/(01-linear-structures)/sliding-window/index.mdx b/docs/(01-linear-structures)/sliding-window/index.mdx similarity index 97% rename from apps/docs/content/(01-linear-structures)/sliding-window/index.mdx rename to docs/(01-linear-structures)/sliding-window/index.mdx index 1124a53..074c52a 100644 --- a/apps/docs/content/(01-linear-structures)/sliding-window/index.mdx +++ b/docs/(01-linear-structures)/sliding-window/index.mdx @@ -42,7 +42,7 @@ The window size never changes. The main task is updating the window state effici -![](../../../public/sliding-window-fixed-size.svg) +![](/sliding-window-fixed-size.svg) @@ -79,7 +79,7 @@ Here the window expands until invalid, then shrinks until valid again. -![](../../../public/sliding-window-flexible.svg) +![](/sliding-window-flexible.svg) @@ -143,7 +143,7 @@ The difficulty comes from keeping the bookkeeping correct as characters enter an -![](../../../public/sliding-window-frequency.svg) +![](/sliding-window-frequency.svg) diff --git a/apps/docs/content/(01-linear-structures)/stack/(problems)/150_evaluate-reverse-polish-notation.mdx b/docs/(01-linear-structures)/stack/(problems)/150_evaluate-reverse-polish-notation.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/stack/(problems)/150_evaluate-reverse-polish-notation.mdx rename to docs/(01-linear-structures)/stack/(problems)/150_evaluate-reverse-polish-notation.mdx diff --git a/apps/docs/content/(01-linear-structures)/stack/(problems)/155_min-stack.mdx b/docs/(01-linear-structures)/stack/(problems)/155_min-stack.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/stack/(problems)/155_min-stack.mdx rename to docs/(01-linear-structures)/stack/(problems)/155_min-stack.mdx diff --git a/apps/docs/content/(01-linear-structures)/stack/(problems)/20_valid-parentheses.mdx b/docs/(01-linear-structures)/stack/(problems)/20_valid-parentheses.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/stack/(problems)/20_valid-parentheses.mdx rename to docs/(01-linear-structures)/stack/(problems)/20_valid-parentheses.mdx diff --git a/docs/(01-linear-structures)/stack/(problems)/71_simplify-path.mdx b/docs/(01-linear-structures)/stack/(problems)/71_simplify-path.mdx new file mode 100644 index 0000000..185a0b1 --- /dev/null +++ b/docs/(01-linear-structures)/stack/(problems)/71_simplify-path.mdx @@ -0,0 +1,62 @@ +--- +title: '71. Simplify Path' +description: You are given an absolute path for a Unix-style file system, which always begins with a slash '/'. Your task is to transform this absolute path into its simplified canonical path +icon: dot +topics: + - { name: "String", slug: "string" } + - { name: "Stack", slug: "stack" } +issue: "https://github.com/prdlk/leetcode/issues/70" +sidebar: + label: 'Simplify Path' + badge: 'Medium' +--- + +### Example 1: +- Input: `path = "/home/"` +- Output: `"/home"` +- Explanation: The trailing slash should be removed. + +### Example 2: +- Input: `path = "/home//foo/"` +- Output: `"/home/foo"` +- Explanation: Multiple consecutive slashes are replaced by a single one. + +### Example 3: +- Input: `path = "/home/user/Documents/../Pictures"` +- Output: `"/home/user/Pictures"` +- Explanation: A double period ".." refers to the directory up a level (the parent directory). + +### Example 4: +- Input: `path = "/../"` +- Output: `"/"` +- Explanation: Going one level up from the root directory is not possible. + +### Example 5: +- Input: `path = "/.../a/../b/c/../d/./"` +- Output: `"/.../b/d"` +- Explanation: "..." is a valid name for a directory in this problem. + +### Constraints: + +- `1 <= path.length <= 3000` +- `path` consists of English letters, digits, period '.', slash '/' or '_'. +- `path` is a valid absolute Unix path. + +## Solution + +```py +class Solution: + def simplifyPath(self, path: str) -> str: + stack = [] + segments = [item for item in path.split("/") if item] + + for p in segments: + if stack and p == "..": + stack.pop() + elif not stack and p == ".." or p == ".": + continue + else: + stack.append(p) + + return "/" + "/".join(stack) +``` diff --git a/apps/docs/content/(01-linear-structures)/stack/index.mdx b/docs/(01-linear-structures)/stack/index.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/stack/index.mdx rename to docs/(01-linear-structures)/stack/index.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/(problems)/11_container-with-most-water.mdx b/docs/(01-linear-structures)/two-pointers/(problems)/11_container-with-most-water.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/(problems)/11_container-with-most-water.mdx rename to docs/(01-linear-structures)/two-pointers/(problems)/11_container-with-most-water.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/(problems)/125_valid-palindrome.mdx b/docs/(01-linear-structures)/two-pointers/(problems)/125_valid-palindrome.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/(problems)/125_valid-palindrome.mdx rename to docs/(01-linear-structures)/two-pointers/(problems)/125_valid-palindrome.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/(problems)/15_3sum.mdx b/docs/(01-linear-structures)/two-pointers/(problems)/15_3sum.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/(problems)/15_3sum.mdx rename to docs/(01-linear-structures)/two-pointers/(problems)/15_3sum.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/(problems)/167_two-sum-ii-input-array-is-sorted.mdx b/docs/(01-linear-structures)/two-pointers/(problems)/167_two-sum-ii-input-array-is-sorted.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/(problems)/167_two-sum-ii-input-array-is-sorted.mdx rename to docs/(01-linear-structures)/two-pointers/(problems)/167_two-sum-ii-input-array-is-sorted.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/(problems)/189_rotate-array.mdx b/docs/(01-linear-structures)/two-pointers/(problems)/189_rotate-array.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/(problems)/189_rotate-array.mdx rename to docs/(01-linear-structures)/two-pointers/(problems)/189_rotate-array.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/(problems)/344_reverse-string.mdx b/docs/(01-linear-structures)/two-pointers/(problems)/344_reverse-string.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/(problems)/344_reverse-string.mdx rename to docs/(01-linear-structures)/two-pointers/(problems)/344_reverse-string.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/(problems)/392_is-subsequence.mdx b/docs/(01-linear-structures)/two-pointers/(problems)/392_is-subsequence.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/(problems)/392_is-subsequence.mdx rename to docs/(01-linear-structures)/two-pointers/(problems)/392_is-subsequence.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/(problems)/42_trapping-rain-water.mdx b/docs/(01-linear-structures)/two-pointers/(problems)/42_trapping-rain-water.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/(problems)/42_trapping-rain-water.mdx rename to docs/(01-linear-structures)/two-pointers/(problems)/42_trapping-rain-water.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/(problems)/977_squares-of-a-sorted-array.mdx b/docs/(01-linear-structures)/two-pointers/(problems)/977_squares-of-a-sorted-array.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/(problems)/977_squares-of-a-sorted-array.mdx rename to docs/(01-linear-structures)/two-pointers/(problems)/977_squares-of-a-sorted-array.mdx diff --git a/apps/docs/content/(01-linear-structures)/two-pointers/index.mdx b/docs/(01-linear-structures)/two-pointers/index.mdx similarity index 100% rename from apps/docs/content/(01-linear-structures)/two-pointers/index.mdx rename to docs/(01-linear-structures)/two-pointers/index.mdx diff --git a/apps/docs/content/(02-nodal-grid)/hybrid-structures/(problems)/146_lru-cache.mdx b/docs/(02-nodal-grid)/hybrid-structures/(problems)/146_lru-cache.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/hybrid-structures/(problems)/146_lru-cache.mdx rename to docs/(02-nodal-grid)/hybrid-structures/(problems)/146_lru-cache.mdx diff --git a/apps/docs/content/(02-nodal-grid)/hybrid-structures/(problems)/2_add-two-numbers.mdx b/docs/(02-nodal-grid)/hybrid-structures/(problems)/2_add-two-numbers.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/hybrid-structures/(problems)/2_add-two-numbers.mdx rename to docs/(02-nodal-grid)/hybrid-structures/(problems)/2_add-two-numbers.mdx diff --git a/apps/docs/content/(02-nodal-grid)/hybrid-structures/index.mdx b/docs/(02-nodal-grid)/hybrid-structures/index.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/hybrid-structures/index.mdx rename to docs/(02-nodal-grid)/hybrid-structures/index.mdx diff --git a/apps/docs/content/(02-nodal-grid)/linked-list/(problems)/141_linked-list-cycle.mdx b/docs/(02-nodal-grid)/linked-list/(problems)/141_linked-list-cycle.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/linked-list/(problems)/141_linked-list-cycle.mdx rename to docs/(02-nodal-grid)/linked-list/(problems)/141_linked-list-cycle.mdx diff --git a/apps/docs/content/(02-nodal-grid)/linked-list/(problems)/206_reverse-linked-list.mdx b/docs/(02-nodal-grid)/linked-list/(problems)/206_reverse-linked-list.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/linked-list/(problems)/206_reverse-linked-list.mdx rename to docs/(02-nodal-grid)/linked-list/(problems)/206_reverse-linked-list.mdx diff --git a/apps/docs/content/(02-nodal-grid)/linked-list/(problems)/21_merge-two-sorted-lists.mdx b/docs/(02-nodal-grid)/linked-list/(problems)/21_merge-two-sorted-lists.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/linked-list/(problems)/21_merge-two-sorted-lists.mdx rename to docs/(02-nodal-grid)/linked-list/(problems)/21_merge-two-sorted-lists.mdx diff --git a/apps/docs/content/(02-nodal-grid)/linked-list/index.mdx b/docs/(02-nodal-grid)/linked-list/index.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/linked-list/index.mdx rename to docs/(02-nodal-grid)/linked-list/index.mdx diff --git a/apps/docs/content/(02-nodal-grid)/matrix-index-math/(problems)/48_rotate-image.mdx b/docs/(02-nodal-grid)/matrix-index-math/(problems)/48_rotate-image.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/matrix-index-math/(problems)/48_rotate-image.mdx rename to docs/(02-nodal-grid)/matrix-index-math/(problems)/48_rotate-image.mdx diff --git a/apps/docs/content/(02-nodal-grid)/matrix-index-math/(problems)/54_spiral-matrix.mdx b/docs/(02-nodal-grid)/matrix-index-math/(problems)/54_spiral-matrix.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/matrix-index-math/(problems)/54_spiral-matrix.mdx rename to docs/(02-nodal-grid)/matrix-index-math/(problems)/54_spiral-matrix.mdx diff --git a/apps/docs/content/(02-nodal-grid)/matrix-index-math/(problems)/73_set-matrix-zeroes.mdx b/docs/(02-nodal-grid)/matrix-index-math/(problems)/73_set-matrix-zeroes.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/matrix-index-math/(problems)/73_set-matrix-zeroes.mdx rename to docs/(02-nodal-grid)/matrix-index-math/(problems)/73_set-matrix-zeroes.mdx diff --git a/apps/docs/content/(02-nodal-grid)/matrix-index-math/index.mdx b/docs/(02-nodal-grid)/matrix-index-math/index.mdx similarity index 100% rename from apps/docs/content/(02-nodal-grid)/matrix-index-math/index.mdx rename to docs/(02-nodal-grid)/matrix-index-math/index.mdx diff --git a/apps/docs/content/(03-hierarchical)/binary-search-tree/(problems)/230_kth-smallest-element-in-a-bst.mdx b/docs/(03-hierarchical)/binary-search-tree/(problems)/230_kth-smallest-element-in-a-bst.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/binary-search-tree/(problems)/230_kth-smallest-element-in-a-bst.mdx rename to docs/(03-hierarchical)/binary-search-tree/(problems)/230_kth-smallest-element-in-a-bst.mdx diff --git a/apps/docs/content/(03-hierarchical)/binary-search-tree/(problems)/235_lowest-common-ancestor-of-a-binary-search-tree.mdx b/docs/(03-hierarchical)/binary-search-tree/(problems)/235_lowest-common-ancestor-of-a-binary-search-tree.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/binary-search-tree/(problems)/235_lowest-common-ancestor-of-a-binary-search-tree.mdx rename to docs/(03-hierarchical)/binary-search-tree/(problems)/235_lowest-common-ancestor-of-a-binary-search-tree.mdx diff --git a/apps/docs/content/(03-hierarchical)/binary-search-tree/(problems)/98_validate-binary-search-tree.mdx b/docs/(03-hierarchical)/binary-search-tree/(problems)/98_validate-binary-search-tree.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/binary-search-tree/(problems)/98_validate-binary-search-tree.mdx rename to docs/(03-hierarchical)/binary-search-tree/(problems)/98_validate-binary-search-tree.mdx diff --git a/apps/docs/content/(03-hierarchical)/binary-search-tree/index.mdx b/docs/(03-hierarchical)/binary-search-tree/index.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/binary-search-tree/index.mdx rename to docs/(03-hierarchical)/binary-search-tree/index.mdx diff --git a/apps/docs/content/(03-hierarchical)/heap-priority-queue/(problems)/215_kth-largest-element-in-an-array.mdx b/docs/(03-hierarchical)/heap-priority-queue/(problems)/215_kth-largest-element-in-an-array.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/heap-priority-queue/(problems)/215_kth-largest-element-in-an-array.mdx rename to docs/(03-hierarchical)/heap-priority-queue/(problems)/215_kth-largest-element-in-an-array.mdx diff --git a/apps/docs/content/(03-hierarchical)/heap-priority-queue/(problems)/23_merge-k-sorted-lists.mdx b/docs/(03-hierarchical)/heap-priority-queue/(problems)/23_merge-k-sorted-lists.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/heap-priority-queue/(problems)/23_merge-k-sorted-lists.mdx rename to docs/(03-hierarchical)/heap-priority-queue/(problems)/23_merge-k-sorted-lists.mdx diff --git a/apps/docs/content/(03-hierarchical)/heap-priority-queue/(problems)/973_k-closest-points-to-origin.mdx b/docs/(03-hierarchical)/heap-priority-queue/(problems)/973_k-closest-points-to-origin.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/heap-priority-queue/(problems)/973_k-closest-points-to-origin.mdx rename to docs/(03-hierarchical)/heap-priority-queue/(problems)/973_k-closest-points-to-origin.mdx diff --git a/apps/docs/content/(03-hierarchical)/heap-priority-queue/index.mdx b/docs/(03-hierarchical)/heap-priority-queue/index.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/heap-priority-queue/index.mdx rename to docs/(03-hierarchical)/heap-priority-queue/index.mdx diff --git a/apps/docs/content/(03-hierarchical)/tree-bfs/(problems)/102_binary-tree-level-order-traversal.mdx b/docs/(03-hierarchical)/tree-bfs/(problems)/102_binary-tree-level-order-traversal.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/tree-bfs/(problems)/102_binary-tree-level-order-traversal.mdx rename to docs/(03-hierarchical)/tree-bfs/(problems)/102_binary-tree-level-order-traversal.mdx diff --git a/apps/docs/content/(03-hierarchical)/tree-bfs/(problems)/1448_count-good-nodes-in-binary-tree.mdx b/docs/(03-hierarchical)/tree-bfs/(problems)/1448_count-good-nodes-in-binary-tree.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/tree-bfs/(problems)/1448_count-good-nodes-in-binary-tree.mdx rename to docs/(03-hierarchical)/tree-bfs/(problems)/1448_count-good-nodes-in-binary-tree.mdx diff --git a/apps/docs/content/(03-hierarchical)/tree-bfs/(problems)/199_binary-tree-right-side-view.mdx b/docs/(03-hierarchical)/tree-bfs/(problems)/199_binary-tree-right-side-view.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/tree-bfs/(problems)/199_binary-tree-right-side-view.mdx rename to docs/(03-hierarchical)/tree-bfs/(problems)/199_binary-tree-right-side-view.mdx diff --git a/apps/docs/content/(03-hierarchical)/tree-bfs/index.mdx b/docs/(03-hierarchical)/tree-bfs/index.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/tree-bfs/index.mdx rename to docs/(03-hierarchical)/tree-bfs/index.mdx diff --git a/apps/docs/content/(03-hierarchical)/tree-dfs/(problems)/104_maximum-depth-of-binary-tree.mdx b/docs/(03-hierarchical)/tree-dfs/(problems)/104_maximum-depth-of-binary-tree.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/tree-dfs/(problems)/104_maximum-depth-of-binary-tree.mdx rename to docs/(03-hierarchical)/tree-dfs/(problems)/104_maximum-depth-of-binary-tree.mdx diff --git a/apps/docs/content/(03-hierarchical)/tree-dfs/(problems)/226_invert-binary-tree.mdx b/docs/(03-hierarchical)/tree-dfs/(problems)/226_invert-binary-tree.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/tree-dfs/(problems)/226_invert-binary-tree.mdx rename to docs/(03-hierarchical)/tree-dfs/(problems)/226_invert-binary-tree.mdx diff --git a/apps/docs/content/(03-hierarchical)/tree-dfs/(problems)/236_lowest-common-ancestor-of-a-binary-tree.mdx b/docs/(03-hierarchical)/tree-dfs/(problems)/236_lowest-common-ancestor-of-a-binary-tree.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/tree-dfs/(problems)/236_lowest-common-ancestor-of-a-binary-tree.mdx rename to docs/(03-hierarchical)/tree-dfs/(problems)/236_lowest-common-ancestor-of-a-binary-tree.mdx diff --git a/apps/docs/content/(03-hierarchical)/tree-dfs/index.mdx b/docs/(03-hierarchical)/tree-dfs/index.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/tree-dfs/index.mdx rename to docs/(03-hierarchical)/tree-dfs/index.mdx diff --git a/apps/docs/content/(03-hierarchical)/trie/(problems)/208_implement-trie-prefix-tree.mdx b/docs/(03-hierarchical)/trie/(problems)/208_implement-trie-prefix-tree.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/trie/(problems)/208_implement-trie-prefix-tree.mdx rename to docs/(03-hierarchical)/trie/(problems)/208_implement-trie-prefix-tree.mdx diff --git a/apps/docs/content/(03-hierarchical)/trie/(problems)/211_design-add-and-search-words-data-structure.mdx b/docs/(03-hierarchical)/trie/(problems)/211_design-add-and-search-words-data-structure.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/trie/(problems)/211_design-add-and-search-words-data-structure.mdx rename to docs/(03-hierarchical)/trie/(problems)/211_design-add-and-search-words-data-structure.mdx diff --git a/apps/docs/content/(03-hierarchical)/trie/index.mdx b/docs/(03-hierarchical)/trie/index.mdx similarity index 100% rename from apps/docs/content/(03-hierarchical)/trie/index.mdx rename to docs/(03-hierarchical)/trie/index.mdx diff --git a/apps/docs/content/(04-relational)/graph-bfs/(problems)/127_word-ladder.mdx b/docs/(04-relational)/graph-bfs/(problems)/127_word-ladder.mdx similarity index 100% rename from apps/docs/content/(04-relational)/graph-bfs/(problems)/127_word-ladder.mdx rename to docs/(04-relational)/graph-bfs/(problems)/127_word-ladder.mdx diff --git a/apps/docs/content/(04-relational)/graph-bfs/(problems)/994_rotting-oranges.mdx b/docs/(04-relational)/graph-bfs/(problems)/994_rotting-oranges.mdx similarity index 100% rename from apps/docs/content/(04-relational)/graph-bfs/(problems)/994_rotting-oranges.mdx rename to docs/(04-relational)/graph-bfs/(problems)/994_rotting-oranges.mdx diff --git a/apps/docs/content/(04-relational)/graph-bfs/index.mdx b/docs/(04-relational)/graph-bfs/index.mdx similarity index 100% rename from apps/docs/content/(04-relational)/graph-bfs/index.mdx rename to docs/(04-relational)/graph-bfs/index.mdx diff --git a/apps/docs/content/(04-relational)/graph-dfs/(problems)/133_clone-graph.mdx b/docs/(04-relational)/graph-dfs/(problems)/133_clone-graph.mdx similarity index 100% rename from apps/docs/content/(04-relational)/graph-dfs/(problems)/133_clone-graph.mdx rename to docs/(04-relational)/graph-dfs/(problems)/133_clone-graph.mdx diff --git a/apps/docs/content/(04-relational)/graph-dfs/(problems)/200_number-of-islands.mdx b/docs/(04-relational)/graph-dfs/(problems)/200_number-of-islands.mdx similarity index 100% rename from apps/docs/content/(04-relational)/graph-dfs/(problems)/200_number-of-islands.mdx rename to docs/(04-relational)/graph-dfs/(problems)/200_number-of-islands.mdx diff --git a/apps/docs/content/(04-relational)/graph-dfs/(problems)/417_pacific-atlantic-water-flow.mdx b/docs/(04-relational)/graph-dfs/(problems)/417_pacific-atlantic-water-flow.mdx similarity index 100% rename from apps/docs/content/(04-relational)/graph-dfs/(problems)/417_pacific-atlantic-water-flow.mdx rename to docs/(04-relational)/graph-dfs/(problems)/417_pacific-atlantic-water-flow.mdx diff --git a/apps/docs/content/(04-relational)/graph-dfs/index.mdx b/docs/(04-relational)/graph-dfs/index.mdx similarity index 100% rename from apps/docs/content/(04-relational)/graph-dfs/index.mdx rename to docs/(04-relational)/graph-dfs/index.mdx diff --git a/apps/docs/content/(04-relational)/topological-sort/(problems)/207_course-schedule.mdx b/docs/(04-relational)/topological-sort/(problems)/207_course-schedule.mdx similarity index 100% rename from apps/docs/content/(04-relational)/topological-sort/(problems)/207_course-schedule.mdx rename to docs/(04-relational)/topological-sort/(problems)/207_course-schedule.mdx diff --git a/apps/docs/content/(04-relational)/topological-sort/(problems)/210_course-schedule-ii.mdx b/docs/(04-relational)/topological-sort/(problems)/210_course-schedule-ii.mdx similarity index 100% rename from apps/docs/content/(04-relational)/topological-sort/(problems)/210_course-schedule-ii.mdx rename to docs/(04-relational)/topological-sort/(problems)/210_course-schedule-ii.mdx diff --git a/apps/docs/content/(04-relational)/topological-sort/index.mdx b/docs/(04-relational)/topological-sort/index.mdx similarity index 86% rename from apps/docs/content/(04-relational)/topological-sort/index.mdx rename to docs/(04-relational)/topological-sort/index.mdx index 57160dd..3bac838 100644 --- a/apps/docs/content/(04-relational)/topological-sort/index.mdx +++ b/docs/(04-relational)/topological-sort/index.mdx @@ -18,11 +18,11 @@ Before we get started on topological order, let's talk about directed graphs fir Topological sort is not unique. For example, for a graph like this: -![Topological sort example](../../../public/topo_intro_1.png) +![Topological sort example](/topo_intro_1.png) Both `[4, 5, 2]` and `[5, 4, 2]` are valid topological orders. -![Topological sort example](../../../public/topo_intro_2.png) +![Topological sort example](/topo_intro_2.png) Task 3 is completely independent of task 2 and 4, and it can be anywhere in the order as long as it is before task 1 which depends on it. All of the following ordering are valid topological orderings. @@ -46,15 +46,15 @@ For this algorithm, we systematically remove one node at a time, each time remov Here is a graphic to demonstrate the idea. - - - - - - - - - + + + + + + + + + ## Example Code diff --git a/apps/docs/content/(04-relational)/union-find/(problems)/323_number-of-connected-components-in-an-undirected-graph.mdx b/docs/(04-relational)/union-find/(problems)/323_number-of-connected-components-in-an-undirected-graph.mdx similarity index 100% rename from apps/docs/content/(04-relational)/union-find/(problems)/323_number-of-connected-components-in-an-undirected-graph.mdx rename to docs/(04-relational)/union-find/(problems)/323_number-of-connected-components-in-an-undirected-graph.mdx diff --git a/apps/docs/content/(04-relational)/union-find/(problems)/684_redundant-connection.mdx b/docs/(04-relational)/union-find/(problems)/684_redundant-connection.mdx similarity index 100% rename from apps/docs/content/(04-relational)/union-find/(problems)/684_redundant-connection.mdx rename to docs/(04-relational)/union-find/(problems)/684_redundant-connection.mdx diff --git a/apps/docs/content/(04-relational)/union-find/index.mdx b/docs/(04-relational)/union-find/index.mdx similarity index 100% rename from apps/docs/content/(04-relational)/union-find/index.mdx rename to docs/(04-relational)/union-find/index.mdx diff --git a/apps/docs/content/(05-decision-space)/1d-dynamic-programming/(problems)/198_house-robber.mdx b/docs/(05-decision-space)/1d-dynamic-programming/(problems)/198_house-robber.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/1d-dynamic-programming/(problems)/198_house-robber.mdx rename to docs/(05-decision-space)/1d-dynamic-programming/(problems)/198_house-robber.mdx diff --git a/apps/docs/content/(05-decision-space)/1d-dynamic-programming/(problems)/322_coin-change.mdx b/docs/(05-decision-space)/1d-dynamic-programming/(problems)/322_coin-change.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/1d-dynamic-programming/(problems)/322_coin-change.mdx rename to docs/(05-decision-space)/1d-dynamic-programming/(problems)/322_coin-change.mdx diff --git a/apps/docs/content/(05-decision-space)/1d-dynamic-programming/(problems)/70_climbing-stairs.mdx b/docs/(05-decision-space)/1d-dynamic-programming/(problems)/70_climbing-stairs.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/1d-dynamic-programming/(problems)/70_climbing-stairs.mdx rename to docs/(05-decision-space)/1d-dynamic-programming/(problems)/70_climbing-stairs.mdx diff --git a/apps/docs/content/(05-decision-space)/1d-dynamic-programming/index.mdx b/docs/(05-decision-space)/1d-dynamic-programming/index.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/1d-dynamic-programming/index.mdx rename to docs/(05-decision-space)/1d-dynamic-programming/index.mdx diff --git a/apps/docs/content/(05-decision-space)/backtracking/(problems)/39_combination-sum.mdx b/docs/(05-decision-space)/backtracking/(problems)/39_combination-sum.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/backtracking/(problems)/39_combination-sum.mdx rename to docs/(05-decision-space)/backtracking/(problems)/39_combination-sum.mdx diff --git a/apps/docs/content/(05-decision-space)/backtracking/(problems)/46_permutations.mdx b/docs/(05-decision-space)/backtracking/(problems)/46_permutations.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/backtracking/(problems)/46_permutations.mdx rename to docs/(05-decision-space)/backtracking/(problems)/46_permutations.mdx diff --git a/apps/docs/content/(05-decision-space)/backtracking/(problems)/78_subsets.mdx b/docs/(05-decision-space)/backtracking/(problems)/78_subsets.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/backtracking/(problems)/78_subsets.mdx rename to docs/(05-decision-space)/backtracking/(problems)/78_subsets.mdx diff --git a/apps/docs/content/(05-decision-space)/backtracking/index.mdx b/docs/(05-decision-space)/backtracking/index.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/backtracking/index.mdx rename to docs/(05-decision-space)/backtracking/index.mdx diff --git a/apps/docs/content/(05-decision-space)/greedy/(problems)/134_gas-station.mdx b/docs/(05-decision-space)/greedy/(problems)/134_gas-station.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/greedy/(problems)/134_gas-station.mdx rename to docs/(05-decision-space)/greedy/(problems)/134_gas-station.mdx diff --git a/apps/docs/content/(05-decision-space)/greedy/(problems)/53_maximum-subarray.mdx b/docs/(05-decision-space)/greedy/(problems)/53_maximum-subarray.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/greedy/(problems)/53_maximum-subarray.mdx rename to docs/(05-decision-space)/greedy/(problems)/53_maximum-subarray.mdx diff --git a/apps/docs/content/(05-decision-space)/greedy/(problems)/55_jump-game.mdx b/docs/(05-decision-space)/greedy/(problems)/55_jump-game.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/greedy/(problems)/55_jump-game.mdx rename to docs/(05-decision-space)/greedy/(problems)/55_jump-game.mdx diff --git a/apps/docs/content/(05-decision-space)/greedy/index.mdx b/docs/(05-decision-space)/greedy/index.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/greedy/index.mdx rename to docs/(05-decision-space)/greedy/index.mdx diff --git a/apps/docs/content/(05-decision-space)/intervals/(problems)/435_non-overlapping-intervals.mdx b/docs/(05-decision-space)/intervals/(problems)/435_non-overlapping-intervals.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/intervals/(problems)/435_non-overlapping-intervals.mdx rename to docs/(05-decision-space)/intervals/(problems)/435_non-overlapping-intervals.mdx diff --git a/apps/docs/content/(05-decision-space)/intervals/(problems)/56_merge-intervals.mdx b/docs/(05-decision-space)/intervals/(problems)/56_merge-intervals.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/intervals/(problems)/56_merge-intervals.mdx rename to docs/(05-decision-space)/intervals/(problems)/56_merge-intervals.mdx diff --git a/apps/docs/content/(05-decision-space)/intervals/(problems)/57_insert-interval.mdx b/docs/(05-decision-space)/intervals/(problems)/57_insert-interval.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/intervals/(problems)/57_insert-interval.mdx rename to docs/(05-decision-space)/intervals/(problems)/57_insert-interval.mdx diff --git a/apps/docs/content/(05-decision-space)/intervals/index.mdx b/docs/(05-decision-space)/intervals/index.mdx similarity index 97% rename from apps/docs/content/(05-decision-space)/intervals/index.mdx rename to docs/(05-decision-space)/intervals/index.mdx index b7eb845..1bdce9e 100644 --- a/apps/docs/content/(05-decision-space)/intervals/index.mdx +++ b/docs/(05-decision-space)/intervals/index.mdx @@ -23,7 +23,7 @@ Every one of those questions reduces to a single primitive: deciding whether two It is easier to state when two intervals do not overlap. Interval `a` sits entirely before interval `b` when `a` finishes before `b` begins, that is `a.end < b.start`. By symmetry they also miss each other when `b` ends before `a` starts. If neither of those holds, the intervals overlap. -![Overlap](../../../public/intervals_overlap-condition.svg) +![Overlap](/intervals_overlap-condition.svg) Negating `a.end < b.start` or `b.end < a.start` gives the positive test directly: two intervals overlap exactly when `a.start <= b.end` and `b.start <= a.end`. That pair of comparisons is the whole overlap check. @@ -31,13 +31,13 @@ Negating `a.end < b.start` or `b.end < a.start` gives the positive test directly When two intervals overlap, you can merge them into one interval that covers both. Its start is the earlier of the two starts, and its end is the later of the two ends: `[min(a.start, b.start), max(a.end, b.end)]`. The merged interval begins as soon as either interval starts, and it ends only once both have stopped. -![Merge formula](../../../public/intervals_merge-formula.svg) +![Merge formula](/intervals_merge-formula.svg) ## The Shared Region When two intervals overlap, the part they share is itself an interval. Its start is the later of the two starts, and its end is the earlier of the two ends: `[max(a.start, b.start), min(a.end, b.end)]`. The overlap begins only once both intervals have started, and it ends the moment either one stops. -![Overlap formula](../../../public/intervals_overlap-formula.svg) +![Overlap formula](/intervals_overlap-formula.svg) :::tip Merge grows, overlap shrinks. Merge uses `[min, max]` and covers both intervals. Overlap uses `[max, min]` and keeps only the part both share. diff --git a/apps/docs/content/(05-decision-space)/multi-d-grid-dp/(problems)/1143_longest-common-subsequence.mdx b/docs/(05-decision-space)/multi-d-grid-dp/(problems)/1143_longest-common-subsequence.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/multi-d-grid-dp/(problems)/1143_longest-common-subsequence.mdx rename to docs/(05-decision-space)/multi-d-grid-dp/(problems)/1143_longest-common-subsequence.mdx diff --git a/apps/docs/content/(05-decision-space)/multi-d-grid-dp/(problems)/62_unique-paths.mdx b/docs/(05-decision-space)/multi-d-grid-dp/(problems)/62_unique-paths.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/multi-d-grid-dp/(problems)/62_unique-paths.mdx rename to docs/(05-decision-space)/multi-d-grid-dp/(problems)/62_unique-paths.mdx diff --git a/apps/docs/content/(05-decision-space)/multi-d-grid-dp/(problems)/64_minimum-path-sum.mdx b/docs/(05-decision-space)/multi-d-grid-dp/(problems)/64_minimum-path-sum.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/multi-d-grid-dp/(problems)/64_minimum-path-sum.mdx rename to docs/(05-decision-space)/multi-d-grid-dp/(problems)/64_minimum-path-sum.mdx diff --git a/apps/docs/content/(05-decision-space)/multi-d-grid-dp/index.mdx b/docs/(05-decision-space)/multi-d-grid-dp/index.mdx similarity index 100% rename from apps/docs/content/(05-decision-space)/multi-d-grid-dp/index.mdx rename to docs/(05-decision-space)/multi-d-grid-dp/index.mdx diff --git a/apps/docs/content/index.mdx b/docs/index.mdx similarity index 100% rename from apps/docs/content/index.mdx rename to docs/index.mdx diff --git a/apps/docs/content/keywords.mdx b/docs/keywords.mdx similarity index 100% rename from apps/docs/content/keywords.mdx rename to docs/keywords.mdx diff --git a/apps/docs/content/progress.mdx b/docs/progress.mdx similarity index 100% rename from apps/docs/content/progress.mdx rename to docs/progress.mdx diff --git a/docs/site.json b/docs/site.json new file mode 100644 index 0000000..53553c0 --- /dev/null +++ b/docs/site.json @@ -0,0 +1,538 @@ +{ + "folders": { + "(01-linear-structures)": { + "title": "1. Linear Structures", + "order": 1 + }, + "(01-linear-structures)/binary-search": { + "title": "Binary Search", + "order": 5, + "icon": "search", + "display": "page" + }, + "(01-linear-structures)/hash-table": { + "title": "Hash Table", + "order": 1, + "icon": "hash", + "display": "page" + }, + "(01-linear-structures)/monotonic-stack": { + "title": "Monotonic Stack", + "order": 7, + "icon": "trending-up", + "display": "page" + }, + "(01-linear-structures)/prefix-sum": { + "title": "Prefix Sum", + "order": 2, + "icon": "sigma", + "display": "page" + }, + "(01-linear-structures)/sliding-window": { + "title": "Sliding Window", + "order": 4, + "icon": "app-window", + "display": "page" + }, + "(01-linear-structures)/stack": { + "title": "Stack", + "order": 6, + "icon": "layers", + "display": "page" + }, + "(01-linear-structures)/two-pointers": { + "title": "Two Pointers", + "order": 3, + "icon": "arrow-left-right", + "display": "page" + }, + "(02-nodal-grid)": { + "title": "2. Nodal & Grid", + "order": 2 + }, + "(02-nodal-grid)/hybrid-structures": { + "title": "Hybrid Structures", + "order": 9, + "icon": "combine", + "display": "page" + }, + "(02-nodal-grid)/linked-list": { + "title": "Linked List", + "order": 8, + "icon": "link", + "display": "page" + }, + "(02-nodal-grid)/matrix-index-math": { + "title": "Matrix Index Math", + "order": 10, + "icon": "grid-3x3", + "display": "page" + }, + "(03-hierarchical)": { + "title": "3. Hierarchical", + "order": 3 + }, + "(03-hierarchical)/binary-search-tree": { + "title": "Binary Search Tree", + "order": 13, + "icon": "git-fork", + "display": "page" + }, + "(03-hierarchical)/heap-priority-queue": { + "title": "Heap / Priority Queue", + "order": 14, + "icon": "triangle", + "display": "page" + }, + "(03-hierarchical)/tree-bfs": { + "title": "Tree BFS", + "order": 12, + "icon": "network", + "display": "page" + }, + "(03-hierarchical)/tree-dfs": { + "title": "Tree DFS", + "order": 11, + "icon": "folder-tree", + "display": "page" + }, + "(03-hierarchical)/trie": { + "title": "Trie", + "order": 15, + "icon": "spell-check", + "display": "page" + }, + "(04-relational)": { + "title": "4. Relational", + "order": 4 + }, + "(04-relational)/graph-bfs": { + "title": "Graph BFS", + "order": 17, + "icon": "radar", + "display": "page" + }, + "(04-relational)/graph-dfs": { + "title": "Graph DFS", + "order": 16, + "icon": "waypoints", + "display": "page" + }, + "(04-relational)/topological-sort": { + "title": "Topological Sort", + "order": 18, + "icon": "workflow", + "display": "page" + }, + "(04-relational)/union-find": { + "title": "Union-Find", + "order": 19, + "icon": "merge", + "display": "page" + }, + "(05-decision-space)": { + "title": "5. Decision Space", + "order": 5 + }, + "(05-decision-space)/1d-dynamic-programming": { + "title": "1-D Dynamic Programming", + "order": 21, + "icon": "columns-3", + "display": "page" + }, + "(05-decision-space)/backtracking": { + "title": "Backtracking", + "order": 20, + "icon": "undo-2", + "display": "page" + }, + "(05-decision-space)/greedy": { + "title": "Greedy", + "order": 23, + "icon": "coins", + "display": "page" + }, + "(05-decision-space)/intervals": { + "title": "Intervals", + "order": 24, + "icon": "calendar-range", + "display": "page" + }, + "(05-decision-space)/multi-d-grid-dp": { + "title": "Multi-D / Grid DP", + "order": 22, + "icon": "table", + "display": "page" + } + }, + "redirects": [ + { + "from": "/1", + "to": "/hash-table/two-sum" + }, + { + "from": "/2", + "to": "/hybrid-structures/add-two-numbers" + }, + { + "from": "/3", + "to": "/sliding-window/longest-substring-without-repeating-characters" + }, + { + "from": "/11", + "to": "/two-pointers/container-with-most-water" + }, + { + "from": "/15", + "to": "/two-pointers/3sum" + }, + { + "from": "/20", + "to": "/stack/valid-parentheses" + }, + { + "from": "/21", + "to": "/linked-list/merge-two-sorted-lists" + }, + { + "from": "/23", + "to": "/heap-priority-queue/merge-k-sorted-lists" + }, + { + "from": "/33", + "to": "/binary-search/search-in-rotated-sorted-array" + }, + { + "from": "/34", + "to": "/binary-search/find-first-and-last-position-of-element-in-sorted-array" + }, + { + "from": "/35", + "to": "/binary-search/search-insert-position" + }, + { + "from": "/39", + "to": "/backtracking/combination-sum" + }, + { + "from": "/42", + "to": "/two-pointers/trapping-rain-water" + }, + { + "from": "/46", + "to": "/backtracking/permutations" + }, + { + "from": "/48", + "to": "/matrix-index-math/rotate-image" + }, + { + "from": "/49", + "to": "/hash-table/group-anagrams" + }, + { + "from": "/53", + "to": "/greedy/maximum-subarray" + }, + { + "from": "/54", + "to": "/matrix-index-math/spiral-matrix" + }, + { + "from": "/55", + "to": "/greedy/jump-game" + }, + { + "from": "/56", + "to": "/intervals/merge-intervals" + }, + { + "from": "/57", + "to": "/intervals/insert-interval" + }, + { + "from": "/62", + "to": "/multi-d-grid-dp/unique-paths" + }, + { + "from": "/64", + "to": "/multi-d-grid-dp/minimum-path-sum" + }, + { + "from": "/70", + "to": "/1d-dynamic-programming/climbing-stairs" + }, + { + "from": "/71", + "to": "/stack/simplify-path" + }, + { + "from": "/73", + "to": "/matrix-index-math/set-matrix-zeroes" + }, + { + "from": "/74", + "to": "/binary-search/search-a-2d-matrix" + }, + { + "from": "/78", + "to": "/backtracking/subsets" + }, + { + "from": "/98", + "to": "/binary-search-tree/validate-binary-search-tree" + }, + { + "from": "/102", + "to": "/tree-bfs/binary-tree-level-order-traversal" + }, + { + "from": "/104", + "to": "/tree-dfs/maximum-depth-of-binary-tree" + }, + { + "from": "/121", + "to": "/sliding-window/best-time-to-buy-and-sell-stock" + }, + { + "from": "/125", + "to": "/two-pointers/valid-palindrome" + }, + { + "from": "/127", + "to": "/graph-bfs/word-ladder" + }, + { + "from": "/128", + "to": "/hash-table/longest-consecutive-sequence" + }, + { + "from": "/133", + "to": "/graph-dfs/clone-graph" + }, + { + "from": "/134", + "to": "/greedy/gas-station" + }, + { + "from": "/141", + "to": "/linked-list/linked-list-cycle" + }, + { + "from": "/146", + "to": "/hybrid-structures/lru-cache" + }, + { + "from": "/150", + "to": "/stack/evaluate-reverse-polish-notation" + }, + { + "from": "/153", + "to": "/binary-search/find-minimum-in-rotated-sorted-array" + }, + { + "from": "/155", + "to": "/stack/min-stack" + }, + { + "from": "/162", + "to": "/binary-search/find-peak-element" + }, + { + "from": "/167", + "to": "/two-pointers/two-sum-ii-input-array-is-sorted" + }, + { + "from": "/189", + "to": "/two-pointers/rotate-array" + }, + { + "from": "/198", + "to": "/1d-dynamic-programming/house-robber" + }, + { + "from": "/199", + "to": "/tree-bfs/binary-tree-right-side-view" + }, + { + "from": "/200", + "to": "/graph-dfs/number-of-islands" + }, + { + "from": "/205", + "to": "/hash-table/isomorphic-strings" + }, + { + "from": "/206", + "to": "/linked-list/reverse-linked-list" + }, + { + "from": "/207", + "to": "/topological-sort/course-schedule" + }, + { + "from": "/208", + "to": "/trie/implement-trie-prefix-tree" + }, + { + "from": "/209", + "to": "/sliding-window/minimum-size-subarray-sum" + }, + { + "from": "/210", + "to": "/topological-sort/course-schedule-ii" + }, + { + "from": "/211", + "to": "/trie/design-add-and-search-words-data-structure" + }, + { + "from": "/215", + "to": "/heap-priority-queue/kth-largest-element-in-an-array" + }, + { + "from": "/217", + "to": "/hash-table/contains-duplicate" + }, + { + "from": "/226", + "to": "/tree-dfs/invert-binary-tree" + }, + { + "from": "/230", + "to": "/binary-search-tree/kth-smallest-element-in-a-bst" + }, + { + "from": "/235", + "to": "/binary-search-tree/lowest-common-ancestor-of-a-binary-search-tree" + }, + { + "from": "/236", + "to": "/tree-dfs/lowest-common-ancestor-of-a-binary-tree" + }, + { + "from": "/238", + "to": "/prefix-sum/product-of-array-except-self" + }, + { + "from": "/242", + "to": "/hash-table/valid-anagram" + }, + { + "from": "/290", + "to": "/hash-table/word-pattern" + }, + { + "from": "/303", + "to": "/prefix-sum/range-sum-query-immutable" + }, + { + "from": "/322", + "to": "/1d-dynamic-programming/coin-change" + }, + { + "from": "/323", + "to": "/union-find/number-of-connected-components-in-an-undirected-graph" + }, + { + "from": "/344", + "to": "/two-pointers/reverse-string" + }, + { + "from": "/347", + "to": "/hash-table/top-k-frequent-elements" + }, + { + "from": "/387", + "to": "/hash-table/first-unique-character-in-a-string" + }, + { + "from": "/392", + "to": "/two-pointers/is-subsequence" + }, + { + "from": "/417", + "to": "/graph-dfs/pacific-atlantic-water-flow" + }, + { + "from": "/424", + "to": "/sliding-window/longest-repeating-character-replacement" + }, + { + "from": "/435", + "to": "/intervals/non-overlapping-intervals" + }, + { + "from": "/451", + "to": "/hash-table/sort-characters-by-frequency" + }, + { + "from": "/525", + "to": "/prefix-sum/contiguous-array" + }, + { + "from": "/560", + "to": "/prefix-sum/subarray-sum-equals-k" + }, + { + "from": "/567", + "to": "/sliding-window/permutation-in-string" + }, + { + "from": "/643", + "to": "/sliding-window/maximum-average-subarray-i" + }, + { + "from": "/684", + "to": "/union-find/redundant-connection" + }, + { + "from": "/704", + "to": "/binary-search/binary-search" + }, + { + "from": "/739", + "to": "/monotonic-stack/daily-temperatures" + }, + { + "from": "/853", + "to": "/monotonic-stack/car-fleet" + }, + { + "from": "/875", + "to": "/binary-search/koko-eating-bananas" + }, + { + "from": "/973", + "to": "/heap-priority-queue/k-closest-points-to-origin" + }, + { + "from": "/974", + "to": "/prefix-sum/subarray-sums-divisible-by-k" + }, + { + "from": "/977", + "to": "/two-pointers/squares-of-a-sorted-array" + }, + { + "from": "/994", + "to": "/graph-bfs/rotting-oranges" + }, + { + "from": "/1004", + "to": "/sliding-window/max-consecutive-ones-iii" + }, + { + "from": "/1143", + "to": "/multi-d-grid-dp/longest-common-subsequence" + }, + { + "from": "/1448", + "to": "/tree-bfs/count-good-nodes-in-binary-tree" + }, + { + "from": "/1832", + "to": "/hash-table/check-if-the-sentence-is-pangram" + } + ] +}

    %~1Ad4vC1qf|JxXz3?#qqBkw(BdR#VcK~o#MV?aot4hs-vR)olX2Ib@f+#0B7dS0 zrq(_I3d-VDZ3(|$1`j0916DD8d!bEHgBpZW8{cANH%mSL^k?4LtQPIU*&Jhsm_cmN zKa-hNA`9prm6_F$MSDJ|%X#c�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 diff --git a/apps/docs/public/topo_kahn.002.png b/apps/docs/public/topo_kahn.002.png deleted file mode 100644 index 65604a6f31f4564d91e491d9642b52d6a873db04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82313 zcmeEuWmJ^g`!*m*senjGE8S9pl1fRJbV?&7APfy-(nxm*QX(bYpi&|r-QChTz`)G= z3?AV8g!BLOe$=&eJx=U>_kG>h-r%b!FL@P<1PciX>8jKtF=ZqqbZ;aiR6dN$z$**g z^`b~f$WJUpMHMYYB}HwmZ0%K^Juxy7vv7E3^~6Py3kiuK#K^!vS&D_B`N!oKw4$9-C!VyR-i zx_-m-^DS*F2&Vra-cddKz7<5IKQqxMIrvGseGn){?4URRJb6kS0>wu$;N^&!2@icrDQp91h}8+#&!ZsYS?RrAh4`eSZf5iIC>KBcTt^vvlP7|F@w=yARK&+c z(#H6|KlI4g8;OrL@bTsU+UxgfsC9k+Db4RsDBq?+l9!^6c<|q1BR+_n&vPo@g%99x z3=D6Tu16;Srv*erkgTr$-=CnOMM0Se=T^S?e;WWW(WU?U6Ms$g*F=A#=)cqdZ=(IJ zMSsinf3#|#$NlYSf1CbaT=ah++P~28FS`CafLu5Y9ZzL{2avx5$ln3v?*Q_j6wO~U z-3zs)fss>TQP41s=~Q=KM@0U zRL+Q*VrKOFZ+_1kd)XrQl7d5Ob;w24VH|JrYUwsh$8aNzL2Je}S`fiI_k#tP?g!sv zs|XSl(wb{e`Y{&eCqu@$wi}%ZZYkLv{cv0 zOIQjYDs>)(*9HzMc$gNk4VuwQLSrtTePUHbkVZZwsPiJQ-*RZ(`cHesme6&S2v zN$TN*tFt4;PFeKUa#$+V!iy-Tuf#Pv^xnm%rXmTzvFp+Yy!7Mq+Z}2}#weq8P^}*f zF2uiCs-rKA?^Y*kzeOn4v87K~O<((YS6~wTaGCmI*vb9g8>tL4F4q{*c8T?qm9xIp z?azN}EbQ> z>wfY?HNELbBHTCO?cEUoahEU0k43{{OZ%MA%(S#X&ojp_<{GKe5C_6{)ie>l&$mQr zfYl7Fmj~1GdwCUD(sS1-S)-GY`Hw*-7X&sJE=T7uUcc}RzRnm6!<$~ETLZDoPeqhV zwMQnOpxfxF0{Ln0=c=>AR_^T+6il$L`C7R(a0i~vWu(Hj^%Gx( zba9A5CxiW}g?A#F+ZLrHAAGz(2*kHI06B`g z!gm*_fCs1$IKbmThY%(K%j$40%CH+!Q_(#gyYGEy&D-=5RD0|DzB?CJX2OLI$pXBZ z@iD>g7Gi;qbwKWjjYq-p8`&@dM%L#wpq&tjH08n9spJpO?~Zt7hm8s;7ji9z5|J{p zj|}$SSQ@Q(RoOnA=Z4n5BuXUmFiRL)zVhpLUH!ubB21{Lby?=Aw~u3rNpX3c*b=rw zu5^Pbv15X-L{fE|xRePntfjxvyco$sreJkBGq#VE1l`m4}Eg-x)-ioqP`jzZspI#xyO8Hv3Vv z8I$(KI-83CwdB&>ws1r|PUN8+jYFS?AM{N|-v;lP#S=zIoA^oavRtgL>}zi%XQs!2 zQi!-wVN)a-xE=?CE;H83bLl5PgXVBJPr9_pCOaXVc`n$w;{jVuYMFjPys1bqu>I0j z%*C8JfRS)uZ-;#VO`xIi&4n@cKSlHoE6VKQBdddr(u`THHqVeR39W_;pZ((!9voe? zDXuv&pzhbA?_$U53W34nhXUWV?~Xz`YgJhC7vGM@PcaiGUL2fsK&2DV3~fBlEDQXB z!>~2^;bI*I!v#N?lxJ&L{}q-Rrtp@vjH|Jbj79PT=dzLqYRT;`-2 zFmf1WQJIL1cg`QjA-{@=;SK6&J8pA#E}>ADj^OrEby=FCUS_}VWy-ev@!~D>TLBey z)9tAcD*Py_`)NYdv3(=<;6Qty*AY&jaDi?jMgV9aO;s>G4j$jSK4y6HlgnsWrQ_Fu z=6W+8EQ846^ERn#N7Zt2@*YQ6#9KrVBOLoRars7tYxH-Dw)c>RjBg|ARZpw}rrtOf zY!-J=LUq<`5qVpYbnwG9DSiJ!y^}4_mXU0R`j`<_DUkM^zLScWT~Ptuk@sK;<)M$p z`W#5SwF=G1t9;A_hwo#JaL|aewTHsbz5~%Kl8P~73zJEebsTXq z9pX34!|}Y&nPWW-8)MK98tEDEFu!58MRTE^s{m90skgfzEPf{kWuHGvZfS=OYKT1! z>*y>Qe-I|PTokOX;W=ES-;H)`jdR8_=m(lfrOoUkL;^-X0DsvWHe3JY=Cr7(z<0|v z5z-|{`a!;(4ads&mxF)xh02H|3n6;yAW`8l_C&`B7^|E@9_Mas8aaGju;)Q(9ni8m z#UiPmGtxj!E^&dw0I9lJsgM$F?D~(}GA4HT);_}yL~gIjmG8+$R)%;kXl&r|K`pem z01|j$`n>Il=;Pmm!?~sn+F-#-+>b2H`*Rwmyz9`aUOT8*X2ks6IQ!5xMwl><*gDm3k zEL(qS^4lBdO#|xtB{_FQXFr$fBGm{CorXVmjG=KD6&YtJH%na)pVVuQldhl(xLZBF zG@pbI^k3fH^3HK?En$+;;lm4+yMqVpBUVHvgV=`aHZb?JH#>snQwoE;q_-0f{R&k4 zN&6ZqI^3O?9Z1F=OOR$zTCA&GIwulBNIKwVW};7|5n>|)2~^IIn2;s;?UeHJEu&6h zc#~5`j^IiUL#4^46P?g`^B`WS>j6qiMtfiLaU5%+AH_M^&G}oyz~5US?AV8#>S2I7HLHda%4D`G#U?Vr40?x0i_UGYgQRos%SyR z*dyb28&+yso!W+09dgZ92ROcZ)!e@80bgG6%xl6KEC~{fRWm8VZK&DlgjeS^9`;wU z+E;JwnhVfh7;XTF08Duodkx|GWO=mD4z9nRoAM{B^>+pjZy>ki4estnAHB-x4Qk!l zzAJ$wVAd|bG}MV4*Rii;wf7|>g|mvs&r(gi^-Fci(YvokefSCkHt0J+jq9WrS{oyP zoeGI!yrC4KzM>>b`Q@wLOFqw(GeYCIK*5cq6;r{*>!tUb`-JuO`U|wQjMmbi-^?Y= ziYT9(8}nE0E|ADy99)G!Er~1M`USizatX7DMWY9|kbG~2ojPoI171|JT+FRC$4-`= z;mSXA_&Lrp3A@#n5?YfuUc{nPHQY_g2ah-IU#lKY(62^&ZqeOX21&@v@))<9>Eu}2 zQ1C0yb5$|sj9CfV`HvC7iRE1uO&&Srl=^WN-Pu9`2|+NGq!USp7xGGuaQu#HJXSSs zrY`k;(`9$w9GI7IF6@Yc@!t>Tds>=aF*}kZ0mliQCySC+Dq9Njd1|1?*e@jftS(aA ztwE0xX7!v5mYI3OKg8P7ZQ_>Df4K4zs#BHRA~HJkc*H<8l}>hC^H9M<>Ife<)+-(I zAN6SSJSe<9%)@+{ZO`O+()y=n+Dc!^wQ}am>@e$qF%Pq%Rgi(PmUb$DY?NfbY+N;S z7ht0P+If(FlnQyB7qGm158w&vE8Se?FYGe^E?$q`ia?Rko0|1=WG(^*%bXq zs2wJF4BBY-{O(&^Ywt+|;F6|M{XJuANxL17`H-e>>yGMyfx`AjJjIaL5g>6`kantL zi;$Ga2qE^^o`TY-+{%CO2gBGH-ldRrUqnj(dYrtHEDFSN8&A&eCHg#^!QG%{wq>8A zntgv_`7cMiUxR$4Z&B(tQBcOIvyERXslYC)5Ov;8BxqSl@h`4zSc8jQIb0oC@chL^ z9fjKc9~aJXZy}Xn9p}w0)Q=rtxv$w(j(3O zCd#rjsJ*CIk}k@UK_%?MDHi~X#-VWh3eK2IB>u-`SN63?8XpNL-ud}w(V{y9Ulo?3 z%g2mMpYG<}GI2DstYWUiH zZfVlK-Y=5{zQ%>c+M=aE22t!btclym+lGhc3-Vg-4%`~MuplPi1dw{$PZJ)1ApmZ_ zLJp@HIox-Wl$GT!MTRVE39Uy(^?vDHO!VNnGIsEGT%vUXY)TX|{vld#2L)yxl!+EX9tuQZmCdTtWp|O-6c`{-alQI7m_2`OP}qO>B@QXP z=_ahC$i!jW3%*Ru2ca((DRa$UXiudix>S3x_|h~ou9jhruGA+Hy4f$dz^i}JRwBur zXacx-o&4r7zzF7?UBImW+jl1scZ#!M{qWIHQRM)8Bz#T>}i}x#cX}I}3_1E(LDEKlSE)wsfRM{{@-jrZ|a-a5Z zO5CYf(OyfJr3&*s@_PQHh)s{vBr5tNIQzjfIH>lzZW9?%Ihub8+)Y35yZJ4@Y&8k! zdr1LvUKeP6u#e8#$bt*3)u?YnK`xPC*_2VGmvs6frtA(6;LR*M9;Rb&zOReahqLr~ zev@xwq#3hWK%m#i#NF2`HI_v<4S}R7oSbBX_o|D%(AoHS-{h9jykUcXeJS129!uUk z!8bfeP^hq1xgfY7(OI&FjB~%8=ub@%yWnO@0+>+HsUaR=c7wMlz2xz&3Z75HLlrwL zf1&NdMtD<~7MkRaUZ*c&y(CIXT3+>#-uBqvCNAGUV6a}z6XfOlK5J+8Ze`WiCC|n3 z^Cee{AD)|Bje?C)7w<;|>{tE#i@@=I4^c>K9n`ixHdOHMH`U`4nR|T;DOl4Kj@|RU z`b>fr(;Zs7pSB>hh!$dP8w}p+$T|ufab9sMT=Q%!OdTk_^|AD=jqt)dbN=;-1-|9x zm7tA_d+`nc=yIdvqtTBo`zTqUh$pgk-9l;Xv&F;td(MU^GQxJI)}_ne+MiaXzO^m8 zd)M!h9xuhb8`s=xPbHF32n0pq#AX6HsemsfsRYS)$nEv8HAV?S9L zna|T8kCCksb+PnfRxA*kTk~!0(BX%rEE>fAV_TC5a=t}=D(J01-^H|i^fds%J!hyq z{uw1%Uy*V}pGtk$4~E=wkaVN%?gPmF6eMM$T~d)k-NEvzkO>oW;sqV8!|~; zJ-@o(F}Renm1$%&!>%rQ!(S=Ov)0gMCTf(dH=(|FI841igXlPV|162=Ds|T;7JHmn z5uqJ@9qcxK^oF=%d5ZC7L8BG!>WXUt3mgiO|r;eRpHTuj)EzS{LMLAhU!`mCcByqrgFdQg!k3^lIvgAQ$)Tn(g9{ z7SkrdzKb(z~uI;!^FTK-JIBzI)WzF?!&_yT_FJnizo0 z3()Uo$H4HtB^zZWtILuQv^VkQVciom;gt^yLK}k|OJx~iJ1%_}BdF*rz;4D2BrlJ5 zdzj44hs&%Fc|lwa64(8a@t!VZS!@)#U5F@3ygfxr)}MQ|1&AWY31doj5zLerEXbtA z`aN*8AaFy;7wF}rarVPsar|lFF#UqnX*kJfuNf+(%i|)J5oY^QhsL0de@?Cba4SA= z^rZ0k#|FaTiv0i$VG|f(>uRwnFhTQdYsdtQX6vHx!()F5wC{|*8jBdE0m75R{%bLZ z{nAdsERnEZS9+ikJ)~x@m&1KjHKcZ@aR>yIi`01+cK^irssZ_B4qDp_q6s(JM`ZP7 zi{)*4zR2TD>M0ZfNSMyV^fR)**&%&4wiK@B;|GC2~^vv2EMM z;2Eq-kblWpJ&jBfQMRtq<}YT92ks=n6h+%y=;(%b%IF)rg1s0ySy{R4_R}lp7CuIB zJfBS~uE^#G^Lj4*pqXKnNYfZu71n6p{Sml12Wx)rB)%j3bis4Z!3btK*7sZw>!P6z zIMzX#@Qu57?0yolWRl#Sg#DPyF)P~&h0~qEfz`rWy_qY@39we)BLZyZRaqyf-p!S_ z6ciEeLI+;!I|Htr`_mPOqT1;+ajT{9^)RC3;OEFt-d(k;xsY=5Mj9YNcpv;2d)s5B z)^NICDCrjoD5EThIyk6W*h9^@(sZqTu|38ZY-mrqAS-EhMb}9QK#UeGHWT&$E+>XC z$-t(!3U)SydlFfz_B`MeF*-IQ)9%L{-ybDI!~rps7Os6n45ccV+g@vy1(N~6ysB;d zOeI?dO$}Ya9=ATXth}!NC5dQLA4`35h1i{s7AXU*K%h;siI4%;7Bt{wVf1e2Ow1Q0 zwtgW<&9Y->g?ZkB%a{yx_fW|S@$uyTCs;Js0?)u7Y$FIQfVLrwhJNmEobr-#Qk@f+ zciQbvB9IZ@FqyO^XWO^x|77m9_oTC;ze{7!3(jLo4hc6OhEEoJAnEI<7?)pxU-inS zwK^D6PaPO1N~;HJ9NDe~OdS+EYQ!*JGz8vBK%lpb5=+FJbpcpcfGYS&2sj|27!XL^ ziq7)y;GbpXfbYQhRH8tmqqv!mnSfkMGFnQj4KBHKEvP0ho}zp;k%6UFupI4q&0RyF zbZHT?`T{4TVcM=8ej`{{02sU$m$Lkh@fHzUiJqO*C+I-!hpqCg zmaU-q>H|5BHC5XnS${LiwW(0^%&$yo%B+W@uAR0iK&=YwbhMmGupxbkS z+Nje__gEabtC_`3nwD(GQ@!psrdmS`18$BX5ZHjtj~6*mXPvcHgv83;@e!% z*iOWego4pC-jngjiXo?b91`yx|WKwq6&2b@Bc`w<9?wFoTIIga|$1~e?r8W!?y$A-21CKJy`Q)jTRxh@4oF} z#)4<#xFlVe#ZM+#HwCmep*&SP3PcTGN~_r~vk9=593G+Wn>Nc8q z;XwU;w$>gPx`$t@`=y4+Ibn6&TSV*p{LGF^DJ$Z*Py7!s5qS!DJK)BY=F+7;dCwrYM@5P*H-R)MR`pC>T^=Kc6czaB<-ZqzL%ZGV=6pp!7;B%FWEnxG^5tRHTJGC zP6XC&QZP3@b~6nO&I}+#U_#4|tDXk5F*AKXdv)u!9{V*6IXp&ZKajIJ`iiDBRAe_~s#@)6JI~QXTgjnNMC~xt)9vxzUWif~ zVAT(5k7ftv18kcr;D_c{4u53~6X;eKJ3A(H>_dsfvus7JC7M;lQOcMcNsnGU`~@zCG5x}xK(7tRZjgx0^697e`b=!2vwX?SYS5VH8W`2o07dt+Brlx*q%Ex_)#!KCb4+vv$ND@DfiH> zAQk4=wcMjP3yYYN@=9FrM-dnEd?)RNK4ZbiP^z*r8|#s+c9o~^*F`Z`cIrE5z#C8S zB76V_)HU;~`$eZ@b=*Lc%)lE?I{`?6G(ZQ9zI_KT%@Q^}Klh2RZ@Kd3S z^x`(Kl;)DsU{L0TB{-T6z?9q%DzE%wh~!RG0IX_2VsIqqQz=NPOLZt`jU}OdGVB4H zef71Gq08pB!)tZKx`j-ibqm9^BS2yh-;S&mtE8<@L_JOwyjpE@7tDJ9(_s)>$rgyX zI5SAB>4pg4@9okc!90M*=K>rv3vR1Auy!65ne`>ok2q`!(^S6Tr#R54{hu8EC#&yd z0TC=U%T4@`@KmEH5z360y&%~O@JZg=Ufudn8%&3WQk9#7wVeUhp(hbvXHKN=u`;lKs4s}kv{%$Gf(tqagiuRfc7f#|9{Az|kc_03Nc`*|MP+cgWS z0P7?N8)_8%5jBj;l;-~UO~1H{v4{Qe3TtsK1AXZ@Td+jh^^lelG2`Le-F*qp?NSE? zRG)SIsk^(1t#L01FlFGJPu|gu;20_cQbv1%pW+HsILSSh!0xPo)D!^CJ}7W}&k(p9 zgcB=UQb|820DXhyv_dz{rRsjaM+hxxZa$S8P9jdYnPO)IGh-^pD@b=>)(f z6plTpz9f(oT7+yti0e}JOH&Vl`W^JT9@1nnYF3LtrL>hk>f#*^ddhBz>qlM+-B9T? z9c&Lt^+ciu93T*{7lv;WDVItrl9L85;m zod!=OlOhS(qeO*a3g9xF1YMY%(`9`!#CSJpnfu7bu4+H;D@~<$l;`HBfx}eWMgWOO zqqJ0~9!-2T1jZIZ;Eq{zeAHlXYwwC(#FsgSk)18#>Ls%l>xBN^egSP$$)y@EB5U+` zvO!ImB}*IA^N=iG1t>=HzGSB{eTM)g6*w(haj9os^#h0@vFGHF8REURjxZ``8L_*h zF_Do&@{>?~xB6lDJ>dBIb8`vr+_m1#^#g_xSORf1G~UO45|-9G36(8k@vtu<-~83w zwxKh3-|F3YFy08vwZW}ZGN)Oyc%5Nh(y*1?GkRpx#qmbyXkElZA>itO{YWc_%|6twRfG_Q-P}i$dm}tTIU?E5XjGY6j*uwS81i9d`>S5J3PdM@xQDaB-C!-7eM^)#SP!n+6YOL)4aU!TNZ7o#G@&7jVi zl8)DI>fh!ly(&vc%YbnyV)8vYLA=z9ap^3wQTq5B*khZC&Cj1p*f>F62E~16|5)jX zUFt!PRhmfNVw}FI%yr*ssiwnkmwGI5`SNOPr%M^%pIUm??E*bwMbQ1kxVV`{;2d=w zW$c$Sz$M>S;L5_Je^S6^UF3$@NEbyaLkNtD>bR%%tstCi|L&( z0eg>YQHxq62~D0f_JZjB^QdizbB+H|_vb5MJ36b1(38WLKsLpz-Uv{I7-u^_o7(|B zPLeh$xKovxQb&sp-x{6bx{NTa0dcVy9WEp_euGzslv>@3Dn=4c6F5Ni)p$5m`(Z7! zi|N)lPxC9eW9t2+gdw(mX9Lu=3TXEIlYaFJ?YpS9(M~PQ=(*tTUNd_o$K`fmvyoV? z74m{LUQY^Z=rZr>n%m~=f}exYOoc-FL1YL2mWA71Yw8M~ZGi0cGPm<^@dt1>%Xw~D z_w@3xK`3zht(Fc8#NrR!tO=>z>T7QQ1^6_kp4zMY{_Xzjz)85qW&u~qQuH+4qTleF z7W$5Z9N<3cu(}*H*JQCfWqJW3NjKb8bQ$a1rLG@E-f%P1bpDCsDe1TzxUu|nndxlV z@(d1A2B;=kZEe;=@`_&yc(e8ax#hfb)dy`#qsRh-c_E}QW{I`KNn@Ph{AmL9BepmG zqQ&zlX7(#rwcq-lI|?Sz1ZYu-)x`4CcLYAv0mrHhb!hVvOJh)p+)DZig+pj_k?fck zoX`Gfk)z^}9>?X#6n3k0y`XcSH$$ARzwgJDr{}fs0c<8Qpc{S?B*`IYo4g4(Uk}%I zH`B`Qk2v_lJM=*)mE_yu+Lb3CIvrFeU?_u7ul0XjJp+?t-w4$f!uA4LJw7Tf+70Hg zAEgI*CR6`A9)1^3I^Z_9Kvw)^#08t<5PeiAV%J6+Qaib2!Dgpy$((zrIuqq#soZpm zo=!LRt_uSA0RG(#=F{K?13ccuDsjyLbqf?L1QX+i%{^v6OSXi%o7c`CvJT(_Wjt}= zUet+7$&9E>4eyD|H;-C80^i1^jJ2@Y?{!cHZuY5$34Yo*FMT6$&J_G|iuo+JAVkFF zFb5@yDkx0fMHmmbW*|27FvD-n4b4%{0YRO`YC{tnhnQoh?u{t zP_OdX!lk=SXvKAvtyF94VrGuVL{;Us|RO- z1C;6?zh|uxkHNZvR$>j-z*oEXQ~~w-5ieb753D!w%B0T89%p_c2TCo-dz${_9q=5m z`!k6xLSaC4TOnqqh7iUYzsZy8bXvRG7^#qK+H107Pkd&8j?%yrC1Ek`$j|ph!R@wU z3q*XfopQMaxBa}woiPB9i`MO(emmI(ZL_sztg1mlW%f0HP0}(7MQnO@`N@=V8fwWd zKoe@~wv0G+;qnU+yU|%C`9$~Aju5!lw)ae65rgLq?4b4Rr1Xct(>)cAPaNmWE5{6& z_n+&8$2JF&yH^{JXl;MzsCLtn1XX$|FKBap$f7J%=0w5MpokR(G$r#;qdgI(P99a7 z6h;=|4wnzw+?v6DoZ`H;M(3qLeJa$+8nKUouYL$rzkB-CU6h7iB5U|-g>Je#zwXs_ zoBqBbd}4}YS`5hk#kB&gQ!ShxB$v$vS3V0DO@Ej?;$;*rc~`#SXX81_m^%R=G8VOR z4NgoBM#l;-8HpKzm9K&Ip#p&@X;;dw>OD+k~_tneFp5qyQ z4xqq;tD#7RDbn~tFtyPE-&MNq83rj-aYfuq3@D$2g6>Hw24EcI@bgc9!gq3##CR9{H{y-W(_8RZwz5cE3Zb#<$t(w~Il+E3H zZ&C8An}QecM39hCaS{Jqr@|dAy^WmnAs3T&;4$X`EXtW=_fuCEeQo8V`oTG#9IL2s zR%nj->+Ea+qh1^*(o5O*uM?qQPS@^REDps)2@jg3<@q26 z7=@6}QwgpXGCuLDoVVnjt)WRqwBs@?&+9@9@NWFiTE|Np&?95jIgzj$il2yz`>4!Y ztw7&!*6sS3jWWq&kL$}@lqq|pWS#CTgo0DCDXz2wTNHTXAsv((`DkonI9B;0H(vcA zC*r>Y+TMSf;TK~vfpxAKc9z>{KP)Q6^lo0)6X#(!WdS%RqbG!n5w`Huclq$scaMfB zR&aa2TDd7;3li*Xl8bC1f*hUnk9iR`R>wAP(6$Pzt?lMfH4I$Vq?^@;OBo(`);2z2 zN!2OYR=+-4`uV#wPgF&x9-iub>MRDNEv_?tCZ2*d7Ui{P@=!^9 zNt&~-TRLxPAIxh+ST@f81bJoK%e6gC^HTe$Q#gg5WA&Ec>utKeXTrnU%S(n$8IYuYPw8mN+RijWrZYuORY-g1B?n>S4^#01n0>Dr4-MOSlX#=t5x#V` zaxS5dxU^MBt&>3lv3@V5AF6`Oqn=MMn1aQf+;wIP9fi$rciMZD|GKjD=8^H)*G`_i z8_*b#wB5Zia84tFss%-hriJ`Nrb{n{O&Yl~lttY?u1Da&gi~va#26L3t z&!5IYrauzeL`CMtwNrC?JD?iwvLi8T=Fp_BdHK?p%0$@tic6<0F9|QiAq~?vX|OP{ zAnBSA@1KRu=~IuiH_Ee|GH2q`o$BmR{Hoz$1O2<>G(V^1m8xP?-_Q{2cWiPIN~?DZy1-*-!fBC#?R$1Ex~dCeQyulX;BJ zME_8tC`C?kr0@_eF6iy7E++1&3@6&^P#bjAuGqJ&zhgL6SL8EVKulqQF(`Cmw>SP; zXeV4D#k7PkWp=&KMY(2^1J7gM3`+jdhu*w4-}g+dlO=KU-yxwHU|+rb{;W`a&=c9< zedLj`v!K)q*>5A;+ryI)vYZu`-rtm@sc=&g)KXZ>_7j%8@tWMbn;&aC=rm7G?C3<4 zjARADqwzcqC9o?d1FXumI_Y~H1UEAR$OZ8+j>UL06``lSKO8{hE?q9 zOj;&y#e?(aiDwo;9w;}GF+E$2=f*nsvc*2iGxM*lJU+q zL3@E$if^nJS0_i>t~-06xm!#2m12%b{#%uQ1mqL*Mp?f_9Dn;%qB8Be?&MTwk{vtV zhggN`C|4V_pUGpnePBLS=`6PP0oNo5HyZn#+FTJE*{iA5a)Ud#PqMBbX6UhKt?v;# zp?m(zNZ_xi3`mrhzet|F2f}uay^5=vg!v=H7}+**Zy3IrnQ#b$)JENNn0v%R$p6cO z?M%|MI3fcO&w7D%*;!4Qc!(^n^lf}rg2*&+DEx?=ji4dQK`bMV*EaGkrKg5O5ExKT2zw8!{W?!xoIhGmv?sti=eBbHUXE$mJ z;xR*4A4cLmL%pXl6osXTNe26*BqpZ)p)`8a5lvPfgE59b(!NzVMrvY zEqpflFow@ArJOxK-Qu9quUu?=Zmh&U+y>0c5T1#774v6xi+#65@)XU4aVO#s6UgJ?mC!@vo-$m3UhPFGEa(+>@HMb>j#&~;ob(P{mdgJRUTTqpO~i$ zoo4qtHlU&|hGyuWsWFWCYR4qGb!RsD-cz=THTN9Uioo1`Y)n^s=50+6 z#(=5h-!NI9l@dO!WcLPR0HU^b-s|JNr!cKTlM09XO>Oj-X1%JS43seG`=mK1R4)_7 z#xr~c6~%tkvA<=Yz$i^Jm;!V0t;EUFXGH}392?jKg7H)MR7dX>RKtSkaCSJQuT`8` z<$wxae#R4p7QPiFrK45Xk`IC#(1Z&g&CerA^pp z;eYbv9Rbu(Z3}K6w9}pI?xGY#(-DlzzFY4bEb+ZZ0CpwW=`(}Dg7prIVHB05yf)#I zlpc>we?;GERPJo-%vNW2nE<2D_%Y|=CUrz%aUPsvwKKJ@GXbdWeLVM@(^#0e3*L-S zp{ZJQEKT$1aTjcpj|u>$@F6+ekc!-KiHHmU+G$fQ_d<^SYS_0;zpZW(D_a=v`R{}CTR@g%8 zd?9`*&Q@`X3^zif^gT7{v?}pvu%LNzP+gL75o4h_tK}6k7wAL z@8Bifa2D8X)rWPB(3g3^VUD)Z7t~)c4I&6Q@3c{$RZK|{=0P@-R*LH@b@$b2a!}(I zWQ2rS65j}t$E|&jV4e+;qzH-OGV|jQ9pJlsh1g&f-+l5mk>AIUL2U`&&K&a3Q(Yop zu$6l@Vu7bdR8#;z<74U0P>8};5a>Mo-rAaN<}X}L(f#GR))o<_b##`#5A6pz=DSm@ ze3CD!8~vwj4I0+3Q*^f{@Xr=BQG{7^r?=F2K!5D=J1sLzHwK20+LS#ANK3hQZg(VP zX2b~mg#q_pRYwc;V0)3eHHw`VYSWz_sEM)Kn;rGo({Zs&yh_hD!O(yCNR6q+MXYFw z)zNkQBReBZz#&gxzx9^dRgNsXh{(wAg&jhcgfDq*M$C63l9Jd#BX(~`T;>zHQpEi~ z>?%xO5H=eKD52m3J$oyNU~ebSi`DCJnld;>p9=TgShZVgoNWzbj#lygIftf-C+(NV z*8N`f)v{b?749>-Tb}EexAF+{d8J&^PMlF#bQn>3y2a-1ux%U^m0hc-dAWHF(#q4X zLk$@PCGEGOwk#z?UQk<%0FMimTm_xkii|DadBgDD(RO!mOj^OGJf#`_wW_V4eOWmh zb6^l_5Qg6lv0hsYw&ZbXQ0{P!-Hj4~a7ZMPiHwG#!U0_(%(8Q{sg3R~QY1*G)yJc#iR|*-4e>gJ*=5>uqr<@-#T#{oh^W>Uk&nA_$c_Mds z60>qe+sh`C-}5FTJ-MEsZBSviaU54y=IDPLH&fnZY~ z^ML3M7FnnW(1|P25c)R=lhOm5MBxbSQCYO^JvFJMt=hN7v`t_w_z7n6$T)iWi%38F z{nXMkMlR1KK4K_jEh;0)Q!8CI=C<(R`pZGT4KBwHK}fT8=_uV*(z~CGTC2|L)oBKj z=>uSKBhdMbfv9_f0)+ZIpkcHu4;Ho=+DJ)B3HSr`q&fe|*O?dCZ0|mQ<}6=KkDG!F zmD;ic=^qtD&fl0vyYy{$rlno5Q|kHs6avzR$~0&8I^BIObg z;hY&zL$xltq0(xQ(_zpwbphI|uCE$1=+-4gAA>d?LM-RKyJYj4#dxj246Jl&!tM;Z{=O+nW1g&)Wcg&S3)-ecuW7?Je zqyxtyTGT(#i_m%m=QO2cy8Th%8$NDBQnnWlE>CI}gKL4$CFE>OG682rp~H1ihseBw zs;ykz%Bfo61+6RUC$ti~x)?k>>y{mR+pv7ys5*!k7V`Q!_# zgK2&Ncex#L?Ys55OE}HqM7lH-!SovmUAO<$dHzuc;F0pP-^3XoXZr|4a>QCU_M>dE z;o3$Ps+;0z8jI~i>^w`Yggn_h3TPijf?V;kDl^Ly#5eXvo2A<=ZfMkcR^Mv{wa4F^ ztEp+^tc;MXbXqa~=7VSWW0S|PqTV2XQ>}Ph_+Wv$5F;ufL3hPru_g<^&>Dkm9J{!Y z>kmBO21i5y4Fo@!z3M?}G#$meZJ0OJ(HUje-f6aTmyouwoB=Fhxa|1j2|4m~6hWf% z6sAMoM70|v7JRcccpNnDF&8?c2G=YKq6s;hn*MpJn*>@24$&mnZ_V!#`G_-b&l=VK zj0(|Z!ZW%#7`he~6{2UgIRoj5dMBs~&|E|cFK5g#kgEy9jGKv(qkw(uv_mH84^w6?ph=AWR7M0 zmgpNFCDb_pnT7y`t(mJsfLbM8HpF_kB!;FfmM5%ot!8+Hc|e0O;e1QP%>)dj!&ndc z4gFYHaQ(w&%#X0I5A9X>>^ju{_;QPqi<_r15Y=^zbu9fTc>fA-JT9*sVi z-Q~g0rfsp#_KlqFM^H#G`^reRdfuL(Jg&&ZBjo9%3;?dh7QU!G_{F@1JWWJvQ?W>Q zT-JeUL9*r>!FlYN0ASDltM@REtNMW4G3@k$W`6tbG{n07bb5#IN*{JT#D~O6W5r>l zD5(zUw8mpqE~cFjpx^SEv8$PeBqiCdK6$!4%kRGT?8%&A+Ldv<%!IlZXxPS6-+bqU zEgL-t8*A!n_ZrxL%)am7n+_P_Y3x431phouFd!&068X^MY3o_22#Yck0dvM9=Orup zG*w!nh9qWi7zM7rKUcQS{L3TMNOpaSq}j^ni^`qctckA*%(9f$d3HC+`JN>cb9n&> zfQkd9@sn#R?qQb)zRZb&B3kV2TAEkko`u_kYVd@d&IT8|K%mAmcp!gW9%Y#;<_pxkRn7 zFEBtx8C$JzQ-}DlXcaLCwSsy-s&06zsz!Jo9Wy=OWF&mGR+1YQl&}Rrgx_x4b(})FsK#a;*%z?j)vm!rOgPUen|49BezvqF> z0Wgc@XQ8(TFhRn*93KKZT+1YGU&V2s*{M$$dblvXpE5 zXAq`QqatMNhd_@a#2_p(R$ohOQ+)qjL)LW!8aV(5C~~_3&vdAx<@5dZ3PA zvz3WlzDh#Vc;(?WRNVZGx)SSQ+MN&>Cl zbh4iTOO*mFBGN9fCF>Bm)*M2eCi?bTMCl&DJzv9PU}6eI3|`a0!fe{5Havw-yFU1i zIQHvun*Jc>Xg?3G>uL~_AHS2>F?DU=0FEY%1P-#^cO2?I-I5KxS#!Hyh2lCeR<$gD zBd{hFr%0W!bidi4pNgU5Qe@uwFn~58P_qUgOA?LE%+$xG_)#$UH0m_29R%`@y+aTL zk*rV)0xToK^{c!iQ~=9JVB~ZM{m(BobqmBRdNS(<ttby>uN*M3u!IAUyMyJRJ&splcV(EU{NXH@Z)Z zfC#bE4<8?kaE-tR0Lf{T<8;@LT;Qs2(__Pn1lle?0?J0YYx&gXru{y298ST0U^Doc z)@B6)HTjwRVD5^((V|)^(htN5PLCuot33=DtP7)8i0sW)kCQ`?oeQ1+kFM*Er~3c? z5rsY?vy@SGRw8@cvdOHFU1YCH_BATmgtAu%*|O(VnaSRJuZ(N&@q68iTlD?)hsV3i zeZSwY^E&5w_IbrmL^~`5fcSQMlHK4xKwnqs-HW}iK+K!u5Hhe5WQRd2<9!WiD85j@{ zkl#K1PnMV)z?b#PbPy1CDi??}##1#>Y0|;(txedS7gtLqcF9>~EmOaknFFIr|63QZ zpl6a|q-h8|&o^i5)@(9s>*_~k!`Kiwpd*H~9zhK3Dajky&H_J2Wwr0sdUBio>o$XS zNt}Q^yq*veo<|DT( z<{WHYvKT7YoNSCTS(xH?-gjhVWb~}*OOPVGBIH>3c$J*bDtUZzvKs#UHQ3kg#}%p_ zI>7c?Zsdo1WM>uuZM!rTl`X$G{O!$rBw6+!5B|`-(Xj)jS1{!bbYzY^D+jXmlaXL> zwK(cQmhD`M9Lo)(29EEEVAeRKFM@aow6Y=8@}RFL!at6uH<>yu99 z)vb*z>iIqhj|v0d(z^l#5A}Yxe^~~Q{u9J`8ghMw@!(|}T37BEe;A*bC~|u(a0NmqzGM#h(u7Al?2P}-ZC&j>p;LtZ{p|2L{V$&{C@k{bbay+})gMevmnt0a3;YmU84?UlSPy@otU{?0w*1HP8!C_#;eUL*_A`be!NSE0zRS|T(X9~vR#hoLUNjXca z8`cUUR$)6^jWNR7US3|K{#?fGlJD>+%}Jo{xL2!}KR>?$T$D4ey|4wAY-2f&zAwkrCO|eJbCY?fO^)9;PLvinCE)oOSf)UZ z5J3sM$uNTiL@p>BM7&-MK{x7vvB3})=D9~3gYou0;a@U}6cSY>AgHwNZm~!;JI9O< zYM%gFJ)I&ly;2fBB=Yr~;G@}YZ*T9a&;b+R3ju?iU4KuR;>wjPw*hZ%I+X+aI-~SZ zS-a9;fB5jB_GObGJwl(!MsS6dahi530Lz@(X5du_r^TRvlwce4>0N2W2Y}`CoaO?O zV=iES$PB+Z;>*E86yR{Lj_mdWP%Sk^XF4~;Z_s#c#bo5W+Y+sWFKJ({5n;@PLnH6h zk>3g&fif2mQSMZ?2&)%i(<<%$ui`MGth+$ipJUL}eqPM~Gy%FHfB?AXJn@n8GDoYh zJ3>srH1H%dmYl#Wc87cvZZ&bK=k1RtTdQsI2s>)TX1+IX$pA20q|^2cu(Rl+ZJ!=u z@IXy3CS9KcaKYS9~?J8|YNw_rF3Gn8}Lm);S$Q9>fq6L_HVBdKj86xQ~LU|NU{ ziq?z_=RwpkCYxf|5Ru%FJ#KV`M~{$!TsuSEOq)XjA*pouqyI*1F|FeAVa*m*54u_l zNgt6j?u9!WZ}ox_KJQJJcNoot$RSy=mB|t$6Y79DN)Ozu_YvmBQl(m%KoQq#tPiPf z5Ak$yvXtFzMOqn1FgyCe2!tsTU9TAFS6RBdfU-jzig@tW>Ftkfo*?82rCJT8cm3n{THi+{>KPJ0XjKbRtN*}jlcI0Vuq=T zUY!3_;1EeG*fDM@3)6nW&7>I1$YV{l)1;mKWwaFg^wU{_!KLTBD=l(9d(J;149Mq$ zCo-Nz?Yv74YhWfNMMIWlBxuFv=01#e-nR=Au={G-o%QWMDq&%5bJ(7B(QHOZLToJ6 z+T9lFlW%YaT?!GF6V(V8N9?I(2xKPkJZ_l~tM!df5W0bIFCVf_Y8{UJ9!_^sZWCYr9U04TSwj zgW58uB9K<**S$rMYNc&4Y)`ngj!z-%R2u2Lzm*a1IU}YyUvbWpB!gsrSlpAuj3nJQ z;_+%a@w?GWwDDo(4Wj%@oYPds3)mpPB+{-krgrDYj}u#X27L`-zY7ZwA_)kgVpZU@ zDU__FaKO=z=G7Fiqp#Fu+jC44b>6+X-?Ko!-`FJ`+h)>p z?*d7D0(kmm+_NuU ztk?H8do`%O4IV_l&o@L^Q;>=+bVQ!(I5dFBbA?%g;8TO(>l&cAK$^=6)x0aS;1}0_Lm$ z7vp$UY~sTYXK@TK%~o5h>P45bx@%rqVav}OH3OL9sWq<2SnV?`f+wcU#b-GxxJ^6J zT;C}uKPvRD6C@UqHzZ)Z1r#R2`%Tj*QZg@^AX(aST<(JHKSG44K&Ux{d(c)SuEj7< z6O>aZI|yIl)@7Hyr>-wk=dL1MRp8$nyJ^B;IQg~x^Fg81&tSm>Hu*j1Z9_xC6K`zk zdxpbBlcSvmiIVT{yH4-tDQzz$>sbe6<#RNJ-UP)5WAj&X!hgc{Ej%3$oOZ)OP6dQJ z-w0hu64?!Zu5?rhb+apN^KQc|-D3kG-Ku5}Y$SgsqJ!u}Fyn*7T12o_cz-iKObn6V zn(NNicLg&&c07Lh?7iW)nx?`NSgg3T5%~Q2@>rKr_A)!rpVHzhUrZhxRB^qVTwY+I z*Vq5ke+e!P+AzqLy%@TE!;RN&c_J&-LCW{pvuC$;tN%k3 z)TIHp;ujSgo4mL`1q*Ps{c}xwT1)kbJb@KQO-xLD+hN@lIDNLQUwz#!N^Yfm*@iVu z(Wd)bai(Ehon?COLkuG1Z7qV(lR2z>;Od(8eLAW>VZs*mE^pg7Q$8qtot7q8Cq^6O zteS1r0|vAudq$U*nv?~XIDfN*ouw==wyktSXtd!oXu6obz>`%$l$}sI?`DSuWZz#U zR?z@eL8ko<)1Tab%@!3EebuWY;2n8ONDytO*Y%W9dtaC!wL4@nKfN`!V8V`I?v65% zw%?kA#(M7YI(yilqA6G zk-W6+N}4FA!4}sCod?uA5x6jZgn1VaQGq5UC7d%ED5qfQ^ggB zYs(#Fy@k5jh97s>=ciz`883c3rM##)+WYj=C1ksR%UR6r^?4?Ql?9SWiXad{?+S^P zUh0yx0|xPnjz=nXqtOHV=Z z8d0KqjY(&2iyx$#jk+=h6kkSiTSNTX5S)f}f$jicCc(w+I z;#)b4RQucGI~T>6`r_GmdBvYTD>2!X>!o;D8VLP%J}!AM*9}s0NM9Ohs;?_A8Fxm7 z#a8z$c>P$1jk;xS%SBLmaoet*FFa}U7T$NEjn(8DPCyo=zZXE0H=i266FnSU4?rCo zzF8=qF23$W4Z^|3{-c@E0ll$jtA@yYnemWVtEx#=Y~l8S#ld3~{`}m{Vz@fv&T;`k zyrk1LM)SWTS1#%pp=4vh0d(?6FiyCTERLqSHj~QnE@)7tjNcZB=x) zy_7ZX+|`(%&6$=t+yER*CJY-X8t>&&a&b__LRvFhaLIm-Aa%aZ*AResJ;E(2+p`Q3KutU;3^U(oP=cM6(DgUzcT6V^wRh$!Fas+l;28@3Z;O zqor_;bCuX9Pu{!8Q6#pM?>d`G--hhfVe#2W*$ihvkJ#-3wQkS+S z6*yLVjFd+wEV!qUt z4EY|Q=2!rCZNeRjn*x0oQAfDQMHyOJZFJ@Emo%U)VV`WL`$fAvm9jC9+!t-?(vwl3 zZcylu<$K=08R_t)(Z@1SEO80{uy-w@xnbd*qY=nxgj9Dtim{GcF~EM6yU#Mg>sIia zR3QhY6&PM&Z!ekG4$ zp(0K4&_cmQ&$i5dnCA2o_e&zDgf8QB^LEICUizq$R)#V#H%;9Xsm>u8L;{<^>t;C@ z5%mMUNF%SJU&VUV+T??ej*fmd{ClgFNx&L@^gBkU51S$r%UEu6)4-h-qO%Yaky)Ym#{3NA_ASJ#|=O$tF`Cc z-sIGUzgs;J#w{Wp((Fphf_#HnEQbAa1k-jQuh3sWXr!~UF^XsEO?hK>kYdYnR> zLvYWn7d!6Pww%iMf~d|Szjyp&mBLZY8R(V}ybWp)9%u4$T2kF_O%QJ%YHSCyV=1!24;i;2jk=OGZLKetTBt?i5|d z-H`lo5XrEOz_m15Pe5)6;E8ywx&R8-P@x?)CXJ8LjWb7n($Nb_27oX>(cL!OLjoCR zeZtt;#qqGmO6HxXX?`=2JA1b_^^k=~JdB=rE@(!BAw~mGy$#ZZb5st;%S14XWhoH< z8a#GvBnYWWRrJkSE!iN9>mGU%`FDDe+Y->3saWV!I;F#}T_p5aP-i4a=b1}^3Z)cj zRsvsfMWz969#etm$@zW1-rew|0Lu|A^070%I7}Z_{6yc+;Feh(KIgfx-T(868Z#HD z2-)%l+{8jcI&!!}pgv-{+`?qzwOh0@x-ZR&&liO2|4^+CPieX35s6op{wKqoE=guG zuPMcx0^3uLr9W`f<~fv+;V-ITe9*wO_H@!h%&fWR`W0GXUr19)W#6vPxQ!^@;Rez? z21@%?po65+ikHODyOE0qM6$Y1S; z_X|&oMFS$W+QEQB{}#_{kl<~J+~ zdPj?RxVp~Q+{~5HapgDc0=Z5{A?uWZ(65)MpJlUHj|Gieu zts>FA`~Kt_G=WO)67xMO-Ik1X34atz>YC&cKEUOg-dn=xoMb}NJu9S0R5j>{FL=no z?pTJO`SG?YjrcGxdt3cJ*@j31+R`k)x)~t@dS_h8u#&IHBA8;-s6FYNJpb0Ej>xsE z(@qgVK{VXRjS0c&{ycrzTa1>ZGbB}LSH_!1e;mvMpdo3y7KG<{WI7x<1@1Um=NCVb zMIP?gdvUa?80srY@*lh`C_jSE45D!Y@!c&7L;QBPHbp544ZZv8&C zGw=IHB?0(rYPEVEXrOIGRPwF`aivio8Gy01UkooE;&M-b6IWT9~_ZTZORgx ztcAV4@4Vgh=0?g;XHh$y?VSQ|y{I)(FIe8)vB${e^kG-tJ8w#w6MweTfamo65U5%kk%wH;u1TeN+57-BKqv1jE*!G6j*YA2mjMpThr2+d z$1h*Mg8cIFk64f`viyvJ$T=bSB-DjIDM~MT%V)EspDK>WqU#)OYM$PIjvB88t3Bej znG@xCj^s#-D$$K_h=HZ^G1X+Opzo|th4KBU%ZJlAPZ|IWto261XkuxeetadiFyi$&@uf@v=4b|3vt+`yx{D9K=# zvns2SB#)$f9|-q*Lrdh`9+Pr}w+bi@YI^8l=S_byF>dZBThi%BpLM zpm#M9L}Gv1^Ez-;bxoo#6~IK>)6i$DBt#EMnV<^1=!8Ov;#6hGfd%oYNQ5U)TTwhI z>d+E! z$-^LW&d5W5VaMskRx^Q~a2WVMk`+0Gl5G#5Wka%x3N`@kwX#w6;(HQ)+UlV(v(4M zdh$k#=E3jl#)H`3DePa-PaO6LZUC@o=nqP(;&_Day9p=t_P;dpx4{Y-0ES4{fZvf~ z&MI{wt0jCC^O32#3+AUf9SdM-H8aYd-8KfuAPosCNy~R(=!}ev_iw@~LZYgec;^W( z0@Itu`Y#oI*!C!n3%lC2AfL`?IONilJ=x{PJ^u6%d4?YX>r;;W@$#WY9KMVW(hIge zY|u&8<3CK0gEW{26*o?QQA4YaQ=>5dTMfB1V6HL>o#ZRT2E8{$yA$u}!Oh<@(CmbZ z0V=hO7m55&qTM=x3)80O)W(049qh_g9NQQCy|;{~+|nkkt+kZ&PF7Ox$^fr;OA)z! zfBm2mLyz92K)4uQ_A;j2y{>Bnya{!xTZ1A(Ju?qm3cgS4C%Jf@G+qAf!#`rKSEQi- z{qaUf+pd1q?=MDvRO|z(+sjQ}Y)tIFEjWj2;s{Q3?t&Kh{NY&qQ#IT!9GC*W_OqT# zu+f=on({&AGjq}9hcI^Z)~*Q`7M-J{=o3%cdw}_z2oxN9;wE!;E%}@&N{L+B>g0$1 zMz8niVAmKSiHGUyzsPqJv$Wy7a`dub2YPg@Em=(DZ>^a>Q#_Dt{ROb~hZk*EPAmdZ z8|%o@_=5j#@A3v0zbuhFmDye!`-#7Kj{_e1MIjOIuje6!XrDG#zknp~u7N-+)iBHD zz;{|R1SizHWIA|eyM5c$6ZZpJXw-xQ-RY!CWq z%l?+aGw4PHz_OyVJ<_fSsv)0kS>TfSDJ)eRuy1!8h?tbx*7RQ^xgeb6XHN?Mgip;YZ zKvOK)6#sl>M=$uqB3Nk0#;UdC(@9RRFa|0jo$E&BpC13i_!=LYbI7b%o$*X@X;7GD z?2Z`-Inm}^=snCD9&ZRUqBJt_$32B(G9L-AIe~%z8g}$5-2SImM5~-yMznZYRo6PH zlu69H69S0F1Qcri@-+S_#&j{kDD_>7dsf4w8D!B)&=KNvaeYf(k;rRCiX-vK-*n2# z1?ocv5AWMa2ErKrJARPr_9{|D`2G-i#)XgKT?H< zF?y?eWgeNXV=raJUze|kcx6ru>v76PocL20GhpBL=_g|monQz^1ulB^T!&9N-fSP5 zL;rj8?=Mz4g&v~|E=a06aGr$I?ne;M8F$S$^yYsr46(myHx#tASe-Y2P$oPdt8UFT zYTHx+bU8k$M@>F+3fAA&tDGwC7)MrjGpU8Fq8DjPUi7`YBL(Z5c9j6uK* z0?dfMbR|_)+xB2Y{ubm%1%H?QW>rpeQoDCm>&wEWu7L-yeQC#5rAF(FW{dl!PF8Rx z%eh>s=$NrQ3Dh7zN``gWZ3vMrWGx(itxMv}Ry=(p?DjKhTs8jX0LVsP)zI2>j<>&K z@0QAkUnGINmN-?~Q+Ri-{H>rNszK1p8_zrc3pwDZv)ZW3f)-`+sMhunE+*Nq`II46uMJAWVhC#GVwb#GZ+-0)FS$j z&H5@A9;ALeV0fl2K%+MD(>BIWNU;=zZVER0wCAQdrB06Wk$ekaSCpak+$rp%#svM@ z6X^wm$m0L+ZWqRQLCc0ZA`gkEV!bRj`~y!n*s{QUU>p<<1qaFT%`Em|Z(VDdB2KA{w(;nyi>M4(L+BPa3dmzVK z6*=$FaHmUBSy_3v_@msfo{Fp590nLNxxb`8buf~E^eu*iZvy?uFmI&ZlQ^uwpUEokhB=n8BR zQ|fzoTU|1?&ur9$m*>k~GtY^g8rDPDz7(1-PWo^7JSh+A3>2$)X0F{*e3&^<=t+74kF!1? z)CBJNZzqX~Mf0E{bepUaKa-{sIfO znVkxaM&$Cof7d5arnfBw3-K(dqEcKHMD%DK>qO+$Z#D>8;r_eazhnf#A39GE#oczG zV{rmBa0NcA53ZsXoX>6hRR+y0U6uy2?xAfnD#fgJ9Rv=4%ZM}uP5WynzEaL2Fr*n& z7OCpeFSLCDhM`299EReWi>Nzc5{~*irv#oyBcrpmJOM}uYP+OBE$c6HGA`50G4p+( zhgI*D*^IUBr?d9#n;f2V+Zs0<$_YGaob|JMW8c_@uad?HwW&0~KQ*mCVm1@~Yd9O= zZ0jz-Mu)%h}f^yW*Js?_=8KB#!Xm7pmGiXwhn(Z^ft;zMMl(z9u z&Q}Nd!OBqfYZpkRK&e;U5Mh}ib4t^$5-|BUuX+#|GJu(rinrB00J@T4Z=GbBd|;ZI zrjFcDJ@IB|T%}z>3uR~y)VB-@1C0B#{R|u6;6lhxei&%hN`l*Ir zi3E+xcbNcq5zyMI#F33?ng>lw^oZh0tC`j+-nzhl=E&p$Urs~j z7RAXxGboR(0L>2#uQRg?;9kT`zs?Ye1%ST3J^&1Lv>_ftaCxZC>Zw<7aj61Ejk+lW z>-@B)HWS7=F)@)S4obNu-d#1nwXtqCR9;r^CV3bv{IeR@u?r0Bdp!HP0;h+nK}Iow zu3%y-TMgvxvq3a$oKH!qHrUa!Y7rYf7PP2MPsrE6tj}}MK_<~3H+=K5Qt6Z=Mp`cR^pM?0Zre_quy*k z5nZ~oo#`AeIrMiBRj$n2TDBu@qf55eK62EZ{U|4H|t-Yf*`at@S~SyiWT9STb8 zX|G+32rDpZ6GwFZ<}CJoeI^rP_?`~H=;A?737%z1%Izn+aK?hq+yvksRc`YWe2lw9 zUvQ?oFDZE8Vv^TSsa9_}^KIMgiihE4y(Ype@raAP<-$N+CJ7hB#+TlnpK>&?psVR$ z9gltqXN2tuY!n$}mTjoPchn^eemQjYqGm{AVEyOsLR|4<%>3b>IlkaH1D^^YN>@QI z+Y_}-=v;P9Yw7Zq_>sG@1ia?l9< z{Zj4kD@yHFM!|dy574~<3e`tFIlt=VSuD#9;W-YUect`V{qelI$O`T8F))X(VJL*g zr4!L^6s@-i|q*IuJyFV~>`Xq;DNp$5i z+^wcR-TsgY4gC$#G#u_PygPz7L(&A>8Gzs5mG|q(F-T&91`)$R69UCJ1I6i)^(nM~ z>Unx=e@^g;MMtkH&tPDN-oWvu^#A^~NO9Vc%S)3@G}}ON#z0E+6Tg?+pvP188+`;} z8YX&b;vb!=#S@`V^(5|l{_-#iATN6~UTylwm{QX<*{a0@U0!(4DiXA4JqH7l#J?_c z^Qx(>`NvZ5mI4*uu-r*XptoQtTAsA$Gz)BcNe0UGVXlu+0(^{AJ*!q>Xi>SA? z%eh&0gHuY0Wf(bL*pF8?dG=Qh+<^5Aen!vU$XEWa;3B`Y@`jev)&$_UprN`Fry$*u z`Fy6#^(amwC31Z_y}ua)pQ^bO9jBs!f8#caI?0z@zkjuB;fKq&a32&iFqb+@#{cx| zy}kSZ&u2IH%?)nrlI!GsIzQ+aLDx~R$`0tBW5Z2IPiGli4lYPYg=%jUcj0PVii2|v zPps@5ZR{BV1|hsZjM2^M`qbHGwV{m9KBib;Tf5k#jql6igF3Dj77jm;U>1Lm`?K9R z8yO`dB-69A-s4f_LkIgCWB$&&x^{W+i~Mu=Ns%w4OW{zswl`C^ zrX~NCYb_Y6Eylq(kM2`qgI%k^@^5oCKL4ErHO;(SflqPOMY#+y^?G= zFp^N4&q!uYG=M*}TTAVqzyxgqqmgVuUu;_oKOf(ynT3NoSk|3Py9Rs-J)V;+0?|pv zByw?A>$gQcOqRNNqhC9IHiILsdrL!iJd*N?*-IhSo98GA!|o@tzc6-Twzsz*<%Vs^ zg4+Ubjx}?A09ZX>h4hh@_dsEN2HNe9$b<2YhqnXx%DN87cQtOD;?MK1URRiVtZ{SK ziDP?GGv|_gM^k#w62C+ZMU3}c^2{2c)micFW)Zy4sZih&?5bwz+zlV`xI{fl4!4yk zJ=lZ$16wZ>Ehm`ZcqIH0OJ)h7VGgfh7s;V`REHX4o1~viv%s0wYkWobKO*mf?!Y%0x_yF zNj31n0LPz{q(0YpZx3!Y+9bl)2Y{bNM)SbvFS;Rl;|;OG8H%*nDbyVMaIM(x0s%gY zouQV4eq33APC2qxb1QkZ*7uEm?xudUQc+Ps^vMCV1-%s+0>3C6<^q6jStuNPx;owR z?|RVCJ%RfNM?;a)^)40>AF1e+Y>emkQHgUcGJC?|MiHSTt}n;(GY|CM@xIwvC}9JQ zS&^F~c+QuB`J_Z9t27PmDj6iE+#Noz3+PBTiG_Rm@O z!E8-D;5XSCUcGMa`QW?!fl9U#LlCZ=9vvgj{o& z%VsxjPkvEy>SRKoVe_yV&Sc7p^Z!}UE38#EyBmB5+wzKYP7~0y*}}Xc)@SPRy6{X< zCoh{;^V&+#OE-Xk){gQEq^$QTuW;z!F9iz64-YymlD)IwHFI@z`Y#4Xip($^Ft&5S z;vcB5IES6U_wMYif0mE zR04jmu*}me&)!0%pH*IxPpq0F?%2nszP^?7(5p zYOBy1{=rN0^Yi~pK05FLjozgQ{h^U`ti?C87P}wx(!9i1Z)SeFpJ+DK7XNCt0C(cO z2v;YVpB794MU2jqP{NS&!zQGw1QSDIz%JB~mz}q(rTYOny$FUgI|P3iK-C?RZ6n28 zvJO?8Q_J!z(NN2T%fZF7?{F!A83|&GYjwh z{CwgDr$5T^NNc{k57?iKtU`UJNj5KD6sDS1JOlCh(U*qi8UJ8W!^MwAt&h=L0!n>I&$o8wJ+qAaHzVn!(}m7x|`R zbEkJY3(D^R)5`rejqat>wsq%C9n3{FBMsE&hWZGr!)SJjFs{(iiG$;z(1wP(kK=&< z4gRMqKQ}Z-C@e~ss;%IfN z4@p}W1U2hz9px5w_3Ck-KR;_8n?5E#O7|iCW0UWwh z*c%pCt+3Zz)6IkTZfTr8l+gGgFj>Uu#Z^%p{e${_+WtIrwCe|lEun8OY2F5@A<$&9;QlT84~06uusiwjet=v*U{ANae>fij@lGmg*Ea z_5P4D9Dv=kzdR$3u{$;n9lCO$@jFwsMd(%j6U2XV6)}hP^5BnDG(Vaz?M4jk(%CyW zw7CXuY|$b8z&Zz~f9ax+piA}R5DpYwjKRG!)zf8vG-Is_IzWlMW7ObW&0rR#KbUJL z+z8~=c6X_!Z5a6VrCSXaa=@9h?tT)`pzls+7>^SE)Mj1!p zj{xI8HqaVG(d?P)KB+m|{C>Z-P-ZG#kzcJ}PjRk27p2>?CedZN0eb;p>D~sOk;Pys z4;ab^ta5pwExm9h;D48{rCZ2?6}_mv{yCCkEi@$*rOb{W_y|~<88;<@6R=PgoX#{x;60-! zEg~Y^!#d(W{k{C42h?BZ2|N2_=py{{HH9y^HBQAJY(;cB9AphO4_$Gim9O?-SFd7o z-m32gdjDxo1J~8{EDRL5A73PMyPB3^GHd-=`9~tj!HBDFgVNTI^U8azcPosmhQ7BZ z#Z3joh;O`^k~kQZIPVixHy#J=lE*bnoe26KSkt;VxcH8nVZU=()YJFWa*~ZeT*t)T z9s?z;3TCd~1L;!)Ma8z8a^?MkA4}j(r^2@);#Y#%L|1J-&kN#dU7mMvWL49@rdH0z z|5RF!k1k~J{H|kBy0S14i7-XBSh_ep>z{W%%Y58UQ)p9p_DXCo6;qu?Py4`F zH0aI;q%;&Lw#Nuph%MYLDz4?@H{U^fz7Dgj30GN5Om#g^;zF$~NZI_TA(95pWc`l> zVf`mpLDKwYWd(IYHYDl-Q87uo*ts6Pt5buYCsZ%U#4tN+ZHbuYl$}c>lFL|w*-rf| zXrG&U8iH=wAm>+cEFDL0<63+PNJ+#O0)}HYh1|jL67)`OF{|2{E8ZLG>@zTLjc&>A zB0b;VrEQ;Sp1m`HW(F2J_gE?Qlc)EoJ)=_K20p|qP@{&@d&yo93n(c$!hPJ;caSjO zjjZ(x&n8oZ2f-evr|Vzc=BKtRcuqI#oY+2h4cq6`4U_HA4!$a_JfMM~w#FETXs0B# z2imb?J}?;-aJ6KftY)TkkEvzj7iE_%xMR>3SX0l;rQ;*0QR1LW>l;X$LN^w6e)8VadNt}XzEKV*dU~vX@3!p4cNGulyXjGyF@h&!; zs0+#$82W^+^R4gM>(!XUdhg)=dD1c6eHnEwOjk#$JVsf7rpb`}XCm;lx*hw419MQI zs}~jkZ145#7QPkP3001we8awx@#)eT=Z}5HTOx@-UW3i5#E%zsB#)f#Aj;do-t-l9 z0Gz5fgs!VNm}#v`Lu38E)xrF1%Sw0VIgFT?uNI>9(`aUQ99khOiaFKjC`;b$6WYY6>!X1liKWdLgEWe&9@vU@XDGruB5BOUQHy{g6>W? zF}#b0sYOAp#?OHCnk!@cA=cq5w}%0@IZ8Iv5(UgRncf?bKj^ub+N#dJ903=OX5EJAJ0DqXB>LZx)kwz=FKSL zo%pQP88po)dN{|h<3vz@Xb)3NVhj)zwe<8(vfJ~7CM+~d|H#^JM1XUlh^XKE%+V}> z#QPPf?fghoYh|icw~*4Q@}zF;?6!HBot2(M6IpX`w4QprS%^QbA)8ehQPsrC`P`0C zDQi*aFEN&0PZTU4Z(i0tz))^)hfp_`WqeQ0o6fqt0R6p;_FVr(I{T;#T)bZS;BpVU zxTh`0*a~Uwr}h}t63HL>u?A6InlEuIbu3TBbDL-q-w-s&m{DrTdnRG==p{S0 z$0>=VQm{a1nbYJ}R2SEKK|G(M7DemUzh8B>;I&qlYSkbu!Y_{R&N0+1==hbVN1OBJ z^z9%zmH;wNp_<-Tmd`9747$Wfst^H!SM(AaZ%9S6n+rNaz4ruLR%+#SXPnEJK>S;4 z7JBE^^{)I$8?vs4?_Zxb=ds$$U07mGoc%;mr+O+pbM1c{6_+*r?WVudrv-0l%gV4F zkPS8&`1Zg}7BB#~k;RIYAziOg^vO(+qUxrCQ3w1x4lWPpz<9MeWmwvQ-EGcZ@zYNN zht|TfIG5*sqV$-~8;lo(HvWS(Y(23KCX#p8?iG9Xt2@}E$=gmDfb zSL8iQFVFS)PH{h?62AFj%m&Qp6GSQ0KMxHACcX4!AyhbpGZRwZel~)8>q(;kY%8_w zz$SF6V)4(tk$46f!(uqY-Kg;sWr^tEqi=o5B(H3vAoqbd{l5Fgu0QA0m%#orAtG9D zN2rfk6|#b(Cn4wE|5h`CR44RyQ?8%y?gtgTw&`~$Epog{&SIJTbrEPj>Bjn`KD zKOUF}9;n-xnuhu!*IlY03;)hA3A67(6g@<){o^WP*6qO&%gF|)zd>De-iSR@N^-dY zMT7>%=C5mgH@>nogze%R41ln~b&3{C)US^&T&qcey}!#FeEpb472;TWee`1W!4|z9 z^!>$*=tbBiqE4;R|IcHugU4RH7J_<@@CUK4`o^SFUDUyHuY={fKX_+I^Wz`f3zq@7 zS2U@fk9wo4RPX1znbivHy3X~_1j}BkmF>yQ-L~e|^;BaR^SW^N5?U8svrdaz=l>s=_V60RKktoLq!smffk4@7@_)o@^8^QToJ>AyI6 z2RLn+0b(e2Jmac@(QC7#9biQ6t(%1&reQU=&JqC-)#w^EVut?tjrKhaY$X@I;0tD5nnrDa zj6n8tPz05^675^o4Vw;7-S29nwhu9%i*I=DOh-BoVx^LUQFAELp)M|~0m}g|y`Tkk z@0&F58}!HGDfg!N930kCwaLLi+(ABg&j;_K>>S<7@`FnOlzEK)-0K`tOEyhx4EtQ` z%=Lb!cscnA*c!6vYoGoYQ0l|)MJ{?e3c;!)!02#dP}XFWo0pfqw5@aX<=9lE$KFBa zMqkE%k9*g7HMdHtzA+VS|DDc0+~ZqsfryBBm@ypluTLCq!N9zt{>X}oILqqpvjXl#p&A}{u zv?SosAZoCds@R;^!4y*pL@2Ev%@x`XDUgFaSJZq-VR&gC?* z7U0#m4;HCNbPbhXYALYdc}H2y&QWAIu%BQ!uwGcJcUy!zBLKx>sEbaJ_AQm8AVm@7 zof1{gB$$`5DdxBmG2{bspB&`HpFh(M?oM*o&yDs3Ww() z304VcI}fUINL#g%?uQZ3M_DPUb%T(Ov70zquQ?(EUc9hpEeap~L|&*C|4dz)$;qE> zuay4w=cfN*g7zZPF=f1$E*-Oz5eBGrtqQPlBL%mqJ-xZ01g`!Aa??}V3SRcJ+>UUTx zu9xl2Sxr<+m}niN7)Ui`BN8>ZdP>Ho0*ah|id0B+>f z8KN{`vPT7&3K(g=vYQjL$E<9+QVMdQ!3B2aCMK!1JZqg&pB$dhz_At_wwEQnzUNu$ z_0oyg`}~M|HretyJvt(uO8dgXzn0=dC7|O2!?#h93Q5dBvuJ04cAxtMfPl{%sSCyU zgPDx-isnG{gc zK8*4Cu|aFBIvlKSE>&QMh;^$CPTGOct`8!x{u~5JC34JHG&~uZtb{1ts{F;CNX;1Z z^fOoqkybTg0yTB5YOw0_2G+*KYl*q9x!Z2@-A>oN(I&)roBToRd}L01ftSV%Jt%Ye zG8}OQOcDE+ZQdb3HT25|tRqg+F~kIQ2Y?x2ATV1EioL@xMw_lU0zCZ;-w>RRee;eh zmX17Km3d$OQsF9p-_tu5K~8uHC_nC4MXDl9k9*%Oj-Tj?OAspT>=fy+Q1l#85f1{v zF+vWyA2${fK{s>p{M{Srd!~3*lK>!HUJ(EQR8z0Tw!N@7l zq1gVQ%`CdFukR|m881q;{V^evnLxm9*0>nsIKg{a%~daAN`|$F2JlzV#x9)%YY3CY z%5HI2nYrQF+hi!g`s-qrC=1;-N`Uovd_ZY;mfNz1(kDsx?*dk1Ii3KM@tq=l21EJA+K=hXT7n5ZMI(ljj+Eo7J$Q(D*JJ z1_?+7FZr%C|7f@8yY8(08T%Uak!02xJa7#CDzg6YcfKK!*D zUuICfMctIqe|+Cre93%kAuv;H3}_BNz51!~&|6RL0R&+Ihf$Erm;BESVnL)8M$rLij~7yC|zmf z0gN{W%0*c%R>1%GlllbctF-$By6Qx6P#LE`He!W1PB*$e^|$_G6`uSE$#kF;abR)_ zRMJZR`1OD7y>~p8{rf*IQrd(hvy@RJ2_d7bvZL%#h>+c7ySQ3pCPm1o$jSYq^4uaOX74j%w= zi=O3&jk9t5m?f}5%Q6dQ6T#YnS4wXSvu%w7QwQXq<2+B$o6SlrIf7<=65p}$v5!a~ zt^>;)fofErL`selm%y7%ePrqZjbA^pz5H7#e%o+ACs+>IdE^QO_211dW{C{p9l-|4 zwi$Sh@dIuXj6+4!?5fBok0%@6^!KlcN1UCHN*VIRFS3Lsdae{fm0oMd6vR`fTUgm$ zd4Yf=m1<`-WMnM)dYn?sKg z9Lr*Yg?Z_9(v!07Ty-#a3=9JZBTaR8e+u?KxOW? z7BuF&7Buej{-u;Oac8*aOawK*kaf?1xcU1k|A=(eIM#Eoj;szxp|^tVL1a@)gN?$e zfijBD zKc!!a^!^D%ZJ2Sy1Z%@&H#OYe5s0kB1C7Y$+@p>Wi^)*%^jv3K+KbvsR92oY=N(Ax zE{QJn_oorE`6^+AI$;Uv3B&_q!^6_k%@9U`eO7?7R7#~yhkRnuCLgss8-Sii0W^=0 z_Y9wBRL8Xe@+E!0OGJF8Q0Y-ZMwU$|jt<~lp(*9L#EdV+X#=-D=x=0kJ4ntps{7d8~;-#Q-WJ3E^PXRSU`|-gLj_~a= z;dE(c>E`PNH-jCEuH{axkdovrbbG;jkZ0d6Mhpnh3c-LtxsCb`>+bWvZOx7CF8T`W zBHwVuXM7~ZD;@b|RtZ=#<}<=5hoS8El0up%_>9V`AI^md?+3V~UixCU+NG~axnrI{ zeilT}ykaQvGz+%_UNJaG;C*WhnKNuMXF&NgMgr#kem2Ca-Xz87rHVK*6duhP7s*U- zurU%dcp8Den2x)xVbE5}BQ8AqTpYF-5D5<$g*zB(IpH#lj|a;d7V%bp%HGVHZXtZS zA3~%jQFwz8Ikt6)N`zk9&iU9*FZ%f0<|Z1;^1+*3i!(Qat(qMzP-1<=I*vopNKLdG zu449#33ohBcMT!;fqAM9*Iqn7yV)KizyQdXl8h(Doe2|7RrBsFLtoaIU0$sH4e|x$6gy1#Qy*< z4V-auc7Mp35ChEtgj6jL>DJk94<>lihjW)6{0xYHdy_c4N$yMwLa-1`+l42@Su72( zo{VU6rf3Pg*)2zq4Y%m=gVs>4M1_^&bK5yYr`Y(`Cv25Ft@TCl&TubmT&#{VH}kVt%ocnS7YMIf zZ~ct`{o6`J3cz$VST&qLj{WX5(XO;6sU|vI4v7~Fx!AbDP&>KXeXXzb{akh0IOG~2 zkY0gnY=q%frHX~*^`+!9^H0GJ_t13R3>|pABzX~UVgFngQ5T3Ia)bxu>X8pg*^2?k z;@9UYB=oY-iOw!N{X!&anfz7aOx>F@=*UEN60m96KEN&Cur3ymAyrB<{S3l4j1%6# zDncbq;Q5)u$n+Jp67LMFmKdmvrcCrKG?mimldgucxGg}F!RU|2RSzxC6fBQHe4Gat z?44;b!?rNX3(eM_g8*#9kZRp?l}iwHMDh~@^&ikRsaGizYyDdf z$~I;tKpW`tNfjOdEfR}Ee*v;y{)w29SQq*p^mY19`(D#(A6ay<$gNYrviB7d z7K{}(8Tz)J-kz}vdZvI>v`epqw;II8QE(X8VxB`>t`WkX`YRpzwS^SPwu}=bk-U;e zmi^jUVkmIG9I0|;s3JXNI9d>s?9o}NOU|LZFShMD1PjSo-JWMh-lTPZK9TGV7j*Yq zPrTa>QE1_ioCVBMM^(~hj+Im`0zB)|JuSpmVM3?|bLKT6an0`Uc@spCJHBMt%Yvg0 z4)mYhZ+&Q>yTl9GMIirgtO=gtJ0EnQB3M~kC>48L~8oM}D0QZ(R`v~70?+KDDf5RtbKJz9-mZzn05i({mJT?YbGNwY{HUiY& zvjF{dLlZu>(nhZ8dE}o*3poWOq_J4Qa5L`D;wjWu$uD-QYO1Y#Rw=wn6J;!TlCo)h z)z-UteuU@PBS?ea5mQB-K*Lpj-_Bskm?V*O%{V5^OAsNmrr~2EYbPjNZJGi$pKL(L|H3vPvkM!53 zfr;Kim;rWFE7ykUH1ZX|VjWiwl1iOkM74iYI=0o3K8JBCc}?H4GoXKDT?XsD1^3%tS#IL`A?Rp z+V`*SV(@Oy!nw0&8QdR-P$l4L;isCKn#-`H5ctu*RolH;x=4U=L=cxuYI1yLCBAOs z>eD^taP+~&$bnQ{$+GZ>Ap*tcbQZuh@6;tbuNuffb%l~BU;>Mpl7 z!FB}RA0>mTJ7Qn)6Z`uQH?P1BlnhgMKrGmKypdeL({|`g?jgB^W-55RXJcZQPAWmr zN$o>O#~R*EA#BK1ux5n=LgNn+G}N{O)#T|D&9v#*A&VfiX%vV@XeIk*% z<#b#!g=55$SjoU0gWDHwzI&aY)qO`P>6v zBX2zXg>SqSrG<*qAiQ6)PwM&*w?7?^%NMaxFzf!G47w3YGq@svc4@H=^k)+GZZ;W= zk07R9K7ve>Xa@;JV5JW{M zRB#7lC;h3pIF1A)1V7_tegqEkpwV%;`!;iA_&D7@|ux_+yY zbFx1e@ma1#L?aWe*~>ht6~By)_NUmDe_3tHV5Tyc*^z!#U3@6-q_3XqOrgD9Z_KDN z)wi9GH$9w{tPtdQr=3KA+WHrwz{DV14MR~nv^`e_{!Ffl7k_}+!}jKuA%${prdQM0 zbxw$y2V4R(iZ!^SIxO+mcsLe5qKS9gk)#7w{*%c&6*T;-%Mx-c>i)K*jDxv*he2}e&Rp-}+k9d$J^XH}$&tUtOrvm1E zYGv*)NsqTA!Vp&VkZAq&joTdVY`mMFqC_AW$qCNx2OlTuvI7uwWvVR$%;V%Oa}WE} zyzUna=FNJ!a;`C}N{^o&bC`+gb9%fF5CQ1_qyD0jz%qN9Dr5M+^gI0GUQvcHW&@i# ze&i9wWiM^cD^bZNcC`@36FnFVb&{h9O4P}dZ*?ktqC#M_ww9@O9|$(*G!t0v*Gl)d zFVLCtoU__=K_laU_Z#ZCbPOC2W(g2DI$zd$bV^I$M}-y((dRDJYd4Aok0%kn((Ex$_&3rcHxKfIfT=8$1h7=qd;gl-{Ca z+Pk7-AStUkt5g}za^LJfwCeAvc|F3EFst&4Mb6T-W8jGGqSIPepBaayG=AMF6XDw# zbJDLfy9wGU9n(*8r^EJhb;L2LVM_M!ppV+;WZH1BT-LVC7_B^cW@sQeG)Za2q0-`W8!olOUwtXkR! zbuG)?Oj~NWw?A(hz9hLNOC?59YtvDZ5MR?JL=I%E14gzyHpGu>M@n<9<24XqouY$#H_coYCDvfIP|t9`&qs-&>07sUy)1-4*HHT8U;7 zV$33XC1tAUc@7$TodhFTnT*f>^T0yr5|Xoo6kjl&BnGW4Dp3(8c0de02w}^?Q?ll@ zIz(0FEWuj6%wsCTa>6s5=vze&iQxt#2Erx{3Y&jxEV7AsP_y`22PN6ZUcn>71`WpJ z?WWs$+o4JHqxW;+NDhAE;6-2?KIe_hPl*!VSrqJBxxEFHjh*=HEHaST z`c-Cp-^8}!MpRkTOS`cKqSi)Kt>AboBn6(R4khlUx37#Om;>U1?YI7?gJvT>ctb!x z_zh3EHMznlXzqT<=a$@c%9kV9TFN5@Z^ z8LcYL6y8>)$kj~>aMszu4J|?1B`4H2eg2tH*c)k;SZ!#mG)xzU!GNZQGwbyx&#{&f^31B0)EI2g2R>WQ6AAqpnc~-W5YT6)i@n z;Ta#Be&RWwAhziMNMoPF2>RG(@lp5H10UtkSD#9KS9zg$@cV^^`B7*Jbmfr~yowiKF81wjh86BhAOc%$=Dv><&a54W`!@>-r9=@n=7@X9; zX_Dw63d|P(Y@t`7c7sgwb4PstVYd$;24Bw7;CU(Wj9;*;%SWb|627FJB*$RsM6S&y zC;#1h{{8*K(D|5E#VnhJOvr>C2J{DRwvFYxT1>?05klj+MEQa3s&7Q-HjRbcioPH* zzE9d^WCj%)py(I%1%+^0*2* zr}vSuqnGrSbo1$|k3Jo*l{$vtuF%a+&;!r|uqR2~gSVg!KqYKu(=cMt466!#(=;LnisVDm`4xca$Vvl$)EnDd;anE5K)-*9n9*U$gJ~Xux5Tffx#+i z<{$HnB<1}e@HzIFBmF-;W8c4CaUF&|E8>0{vHF0>r{k6$0%K$KP|{6}!;glZ?Pr=3 zWCB8i>Y2s=@C&{>3KUSZvXUjP={_yYJUz& z%>NhzXs01OtLL{3zWbtWJ1KU#)S${#UqUA+5$BmnbvP@vpS#w*Zw+N`ULe_e2qC7X z_AB!udp>0wlwe4~F;VCH>AroCP}%T=j$07lc+tkfquTxUKfGbQSqnhu%Adq#@Rijg zkZL;I?pjXVFJWVj_77bd9$avD1q}0EGSMF!=ck`P6AKpVt~_*h!>_JY61r4(?FS(S zHi-TkoyG2Au}IV~W@&wNTym4<9sCG-kb>1%`)9n@Z9JlgP`Atx>4RD!)9hDPA>4`j zuU!19CDEVJJ^@c;|2P0Yt;e-QSW?qyD-5zp4yi|~jrxVV0|{VXxN0j|PT^tYN;wBq z`uJRM?J}C>i~;)bPomHF1x02M*$fS^Csp}s@M|J>^h@Ew|^F7T7td=<;{F7c&Asz7ZGn6$h>->OvrlN&TXWtB-4ZPX5R{SyDH>vBK z_(pyHk1+tS$qvBgr`vdfD@GE^yC}(OeGxxU2su!bo9Yzz$9oQNms)0 zhm6tBr6G+?hqZ~8n8j1uQJjjS+6Mrj+MgdC5u!u({F4-ViRLA0&glrBqhUwxW>^j~ zm)jsf-e`>$y^G(ZeB&X5F5Pcy1@Ek@aH|^%@cMz^i+5nKloZzGLS^wW(#^~qRCUnc zx4%UYk>OXJ4#9D}fFbyF=ldp!>yu1k^j083(90*nIHgHToBc3XiaCIK>fr9pAQ>1~ z28>H<+2-g4yg%l`K;teFlGYSP&P>+|HMB4bG#$vc5|o6lFGORLQ6;JHGvz zpx>umG!enATD?8+W_nmYGG!%uP>5bOyu1BAwM&p-$(z4X(T!0;TE)m_oKM<|F9byM`&kJ0nv|* zzxnBgx-P8Qw&07#n@`%tYe99_?&ne5{D(aN*0(c~v+ddZt2RCcaK63&_q!s`BRKWR{g02@co$3)*e=9cq z_PO8U^gxUV=hA+-TBJmY+I*2AI)JKI5@Y%<9% z{{%g}qJh2zv~RoNrf}^<7yUzloVxT33q{+HEQZknZtrd3+(YAEsbWV|*t_pI^pf*2 z*EfuX@tSEEoDObiO{f93e67e%2Pl1XgLbE9OaxlsF%~H=LiIa$#t5Vty?``^+PnUm zFP{y)zTA~;Tm6JhxpsZb;R8))%C9~~j3calQV_6$|6KcFdtOOB`!*P>g!5#W z4T4MNqMFePAR0*libCCyIYK~8>+WG#Ux-{%>-qq7MNg2?a*C^g*-EWyivfZ-QeWtX zN~5;vbw@MeuTecvGAhoW?;P28sWEQ!$oGLNmJ>FtlE2re(z^B6z896-;SBV7AAXzu z-SG>dN9!9Jo*r-uxatNBJq5Ww)@Mr;3l&DfX&RGupy6r-b69#=ijES>kY6MB%c#6e z(paIp;!d+L0m^mTv{&RFNH4|p``_9ULD3T6pr$*?_pk?eM-O{^1y9ZaW$*U=i4eUu z;FQ&73j)1C4>)B+=9g5iv$%Tvq*K%cn-kF{qHDNH$-l@&iE??I}T(EM*>mU)vUMF-QH8}vq0+v;fBo-W%qGcHij zp_B_<5mdkWJg?BP&u(Y(;G5PHZtD~7BH~H}bff-nups7BDBNt`xUiDZq(fr?^$I43 z^{Lmi+i5LDkGk|)XJ-h9uh@MA)r(;$=?Z?HKdNbg6x6i$XqnI8V-h&`iY!Qz;BPFp zA6Df|d{N10Ma*D^(GMJ7Ll&2GxR#_Zbef2(Ju#t(f46qBQxfzR5M)iJHRHWjomtXh~;b+)y&wHprj ziks8p`JF6nqCcq{v#h|Q6RHaNOJP9tE{PT}GORuxb{9`o)8cp)wYoB0?Z<&_*2^$8 zHMyw5&3r!+Oir>b!u#@#YUZ)-{n(IX%$RZ#V?exk-JOp2YoI~&AlykU9BHO3j|euT z6Xaoy67mVpwlMQA5_wWeO_lA3PLUzcx;<+hwYB>%k!3uVQgU;F31a{zTZfyuCMfmk zuJ!5G+U;d&vrKl@a$TLB1Qjd$jKr>hhQdpST|s~GM3?Yao3}o*@$1?)K6E`L<$_)jE+q*wFJrg~L0)8YIj_#pa}nJUzL_ zd}$TtTqAKIG(EzqlzK?8K$T;Sxk+a_q^TGLJ;*@=T@G+oS69~+AZs6wNFMqSbtyo_ zRHv>z**0L?54$S52V&_z#16hY<1=@Qpo5|W=@U_v;c1y#JfXYz`B0{fHm?8bp~vsr z`+{`oK^|GBPa5CqkTvu=RK>JO^qM~LW6I>a{EzSSg0>NZOwdUVyMVkl#|EZ=Pj6bU zq)vk?vHyzMzHKHGtmdAx3{?T^3x4ZrW()d$Lc9o3qoGyRy!lpIWw&70V%2B4p#g)o z1r*(<&w3kpdE{lpo8MsW`^%dTU%WQiUE+VsHFr1_p;;k((W{|+!_HH^pC-Zh*=HC% zHhUe=aCg@FsKooIi%l1$jEn{jsXFs1`O-X=ncBV=X<1op>~&fP#lJ*nVG4%F-4+%W z<8CjGrzXz2?d6;71tP2m(3TyF>TLQe9*(=NF9Tv|Yh6qx6_xNzwV+^FrS^pGbnp*H z`{gF#qNL2lUm7*vw}vQg*U|AtEr;12PY;pRAqA}Tq zRnyr?4<>x|v)qR{hrV^%M3Qdqh{cL+g&zdfE1jTqX1Cg;Nb}XU6WtRVaFOCZB>6ri zqxV<)-X7*h6h}^^ zd-ki_l$z<1WsL+?G;tqglYoE#Z#;oBSff&R&>*Gsiz$@yKA3u*_$ve#ydB;4;6{kT z733e!#|r~91w4vQV=)Ky0HV*N?;??tkd$*AAPtiGfEe zH6LIR1$&9VUhP`Xg?hZil+>;aOT0{h_14^djF-HoT)*NJ-Vzc@Z2NTa+{>fKq?K4nNlD=f zi9F(dk#y^ev!|u2Slulz%Eug77;qR7(c~5yAFJxbb(%9oB(=5<*>%o`4Xn?4e!@#PHEuk;nzP3> zbiB#_#uffS0s;|>OXBCR(4{#x0rLo?x?@XUY*`EwQEY+BgI1VWpA6i&+~KTUJkj@>@VvnZ8>w7-ID44ddzXmz^jVK#`jp*2Rpr1Xna)HW+>FhPCaP^LGsqX8>RZ#X+#(Xy;>`#TQNmopWPRjuy&vt z+7Kwx3K7Q6@i)GtX9GuksozhM>&7=j#IgMrb^`iPbXS*ep#$Z3TcWZxIkupodGl)8 zYh7Tm#xux7SA*4Wc(V#Zk|}-8bU*BS5sREC!OA5XtLnef^=;~rCkb?%Crj#Nxhw0( zpO#d-%PZ;pK!$Fp+*?&m7rR!@S@_%*8dk6qe1^^DAc|)U^27=s9_*3f5}dKlSmfG>h~d2EY5SBmpi`>Ttd$nL)x4D|(I*7DKT(LXDs+pv3_-Xq2Nyrvc-=^v z2V*egKdH%j9 zM*@j0>PPv01l*A##Ozx-B0|Rgu0hQlC*@w5!UFAlz$`2-i;?Kq++ zvOJom`I%(i-j@W0w92GIpH>vI{#Qv44V0e#n)(FQsW;w@bfSo~>x;~J(8V?~$S_JZ zchTOGycRJoCZssq)WH|AN;B}>dFoTfH;ay0F2S>7KhL!)oWExQ}y~@GHH1vdf7%eP2ah!#G{gXwMjst$5cTnP;`ypsE{&hP!ikbLdum zm-H-#5O2#C*yZc0pP!+2KseCdB0VS7B5z=0UtD9|b$hK##eGUS_V2P6t7PO!XS!JG zBFz5zs-WD&gzMH@#z5|n?R{LoEqJY{@b_J%*{R~=sb%z`1+e>g_g*dRS$enAO~2Gy zSf7uu1+uB!=+Yediv7MqM*0pT{lO8?t0a@rZo$5%v;D{!-y6v+Mqa_6D{(dv%UYhR zhJwb3r1T*!J@N9mGCDgg4bX4Z^pzWvx7%V_5!Gq=VNV^Hs%P(o=R$l3Tp_1Y@}5pe zE@)LTx!3Z+eV+o&t(5a^PUJR`i{p`2E-RHy84H~)uIt4aAP1?Cm4p5c~3Xz+Cz#tR3pWZ7&w`90uYG#TMkt@HUdH_ zd_-9eDr393D-cjQLYS-5YRl9_}GjA0#H~GovJDsgyu{x}! zE9iX(8aED3^bQg?85*wHKZ`4v_r!+JtxB;hv7xg~wzcB)v2A7CT{3n@EIJ0tkG%QZ zwltC)!7!Z4kalJ|--gM6R?zmAU(=rAPzINo%NZh8)A^9h&ZW0om-8?T&!Rd;Ye>4b zrAfHaI2~MvUL|8TrVH)z8u$ED&)L0l>F17!3zVk+xavt0(a<)2uHO4tv%c|^4{vL1 zn+#K|U&?w^fV_#|034bGp-x-9?c1R>%@yUOvNe6a)5)S0B5kFLVsrCUg$WQ7)FFNk zGVw;!nhhgFd(TGRa2UXn3k#=od!E43`UWp?IoYQaXw@ir@7=JS`v?Qw#)txye}w^f z#0hhW>KULRt>#nEk%y%lNhU&JYDKHgj>V0E6-dV6NYeF6Z|Syv*eB9%>sU~MYTH3% z$ymx^sK=YB#+;R0UFYo5Gn-}AbBL2=WSqp=0#@|)XSSFq8uP3deQ8VvE1mNNP1bLc z$gexI&$hQCxq=D*RKNb+S%E+aG{j@IU_!$>A^%NpHAz6_y_r4iPODVuSygB`fye{W z*;H@^tXxEK+xNUq9k*uhX>XfqNnKe0=M{#9nGe*^YqVkK33qjPxfrDuE;RSdeC>kt z%AR8ORg$144b#Lk&{5B)+s*T1BCcKBN#f?-o5K1R=T$bF5Vah$*MNYwe4(GiFmA78 zLYvsE=ZU0?liYEM{OKX}PAEs0j_KkIE*o2=wrl4U>S@!`3+FPDGoFfc+^&lTKVPVE zJR4W}nuv==Fc9raUF>sUOE=iXhQYl{;}Qqd4PKghP**^Bg52k#RxZ>nvm`R z-0SY!hYgwR?2VIS_DEh6cvM}doz;G#nBY0-H;W4T#9a@j{k()i5WFhsLn=s&mnkcG zxjdp$yN1C^IYKno<~utp3g(T4J2_P3M4)q(X2A?<4Ly?yD>^JgaCi2Ye@+PPhPcJd z)uP>B3q1KF{sK0i9mR0MrJQC>QkE1lwR7{Gd0eKP7TlF*lsySdPic&@2`HMKBK(SR z4p;MB1oY=t+XyOh#W836-VXBk;1^sYJnz4bwG!<+_Xs`drJJ6Y54z$pYE?Oz#}dck zPz8>>BzGd=8%HgJ)j&TsYR0;J6sITgTDT)&Gvdd&wVt>r)z!L#N-9J|&^5n!zf7;Y z63Z4#tr;NOs<=9t@mX%*-HIM=1X+(TO3XjD)Q{gkQ`*|7rtdQor{Hp&$K8Fra2+iG z(x0_2-054B{Ty%^P1p{LFjQmQ9J!g3{{DT=&_kBrc^$Mn6ztlqq{AY5Ljh-WkT! z3Tsycja03+pY*&q8g1WX5~0eq_^K<$#+DGwV+cOq+{vlcI7SY9y-b_cPheZ@vM9kh z3MmP>pYb{Vhif|zcnG=aZyQ5|u>)fe6hi|?M{`~#1_w>D$#aVx!h|CC{zsYm+Va;?^n1!=vVd^=({%AYgWYHBy@{@H7yTyss9?5!Nwj-kT!Rg0#$ zRN1L#T>3dn(fJtt@mByzw@lVR^OR ztd!cQV&81GZsv^jnqAW;xgHs22d`^|F$b3KGk~6~SxoU%9Yi)WkYQ_LO#nbn#83E`5Cr*wDHe6AT zh8>$%=Qp^JM-m$jU4A;%$-CS}?lkIHoS~Kp;6f)!_K7QYlWsW=+1;> zlB`V4K?8NKdk#)&FnGHZilvFT2*NI88-)$akIywXr|Q>1;!`(^W`F7oFk)1HOWh*( zef0`MTqV}3Zeld5gqx@IaFrk9IYV~@9t_j!L{))saozrIsVv=0-P=vX0pCiX?<~06 zVhSJ~r>2jRjI9S%!tDx;QGzqL?U}htP1y8m+!6i7l z<@`0-aAMnh8|X;ZV-o@nU|b3^P3*-z+KmOF6~9fMPT1MLE%n{mN1Rr4-?|a7=wS3r zxltpIkFF(-o$&vZ}hvHE~m=c35z*Emze^R zT;mpf?k*OTu5!J~wz4SP2*v`G!Ibi6xE%P?qcDCsM*8A9d&l$YJRfr8;+~nO$u=wn0=z1|apQvFta5qD2bx8Aa z>A_xRP|nrF;qhb%s!TX!>pMF>jZ)y8;_^+6A@9`Sttv zHnbr&e$9AFln}bu-N2GWW#-CaCxIF*GOu%#6m7?+~`pAoVZ0xN08sC1Mv-& zd^@m%8F@{YVouhh0iIDF?Ge-~_P9NsKmQu;7f5eEJ{R6$o{Ka2kOK)-bYHt9%NRAc z<#dF+(Fwk>x}dJGvEcR~r@8s;Y^j;)V<9vV)Z8Wd*|%XP8>JuD&%rHyiNH}qql`n>>}fZvS$vh%3h>K za7q&mCnd5dxokyN8lf^+2O(r)N*aD6@ zS7&wZB_qKT&VkIMq%+%3Xig2cY<0@evUGnsm*6xKMC7a1&mw)UW^fBY#yme<#!?4h zwa#)UBr)L!;9fNoNlW&T&~;t$Z*=c0ZD@E*uCxM{6}k_V@9QQ&xHzU!f2f*#-p5T) z*F4ioyTa1fD1KKLK;!|u5XzUvX&35K4}-nPP3Vf?d>M#H^z;Q@cB*j1RUdfgdM~Jw zqqHFAT87ma0;L>ieJ~AbRdr{h`|MUiTMPo^9G|}ck7W}>d_avc9~%1`6w3F62*53O z=$y$?no!^LLT{&hxI~Y`qPR_=AJ`?Y2SurisfWSEmfQ!w| zSLpF^=DDLLonxLnRl4}|GKdH9aAB+%%Ao!)JWTjJA=lkAb3Q(98Mz0p_d>b&GEUzK zdgfG|0_P5_mF6EY@O%`X8JtL#WlLpVy1TBqZVnu2+#XlJ?Iv4YF6TN0l0=V#r%4BQ zWosv$QGM&&031sVzzFXfg`re3zggrlq|wK~zP4{^)Z@j0J5QKk-{;!XOL7I2C0el~ zIfA6;TOc&ismw|eWZA7>*t<|M_P&c!MeVRQG{+%$m=Im)S&SOt66EWN1ruL7==8kD z0Ewml(ADfEXqdF`ikEs3Qnty=^rOb59=)vq*~reZqbs;MvAm5c604#pf!5bZwvFP= z4+9|kkdTa7;$uklozaoBM&j^PDT|6zzN<1_07;lzP&@4`o2o#iDdgtfgb+CC!ch48 zksMR~M#FnXWZjJoT6S_hYNO*$P%oSl5acq{DV=KJn#R^0a7xobZsXDHT2hG#x*bMU zuV>Tv^dBxiz{_ zE6JWJtjIC!xthvUj5GBbfW0#vADyu5m^i)R52AMgT)}XD_Rq$14BN$P;ST+mpow3e zYnsQfN3yW)!1AOdBc%*~+2eGsS9}&+x#{LRzLh$pvf}_-uR}__>0m)sWkmQo%UzM? z-XRdXxrkf_lEID|<)SSocO}Y@7{jLL&-hdG8Wfs?88gPoiBBdg*6{$f?C;B!a0I)J@>}D8v)4oq!=?rtY_S<_JDWpvyYH?j}h|A9B~?Ov^YM{rqSs$bd%6h zsT=sqo7cqH=)Jaf)?qKCsirR1DH|v;Dp4365s2f^I@0S??P1CBzI4I6IUp;U+g~uQ z5ByPl;F#~g!(&cN;^qq_1Ga~(ZKu?Utg3ojiLyjY{92lPzPL1}TyN-7(jBK+-X>*# zNF=ohsW4OmVKs(TU~`~*IsFa3#|Ew`%K!=E^kqg z_F3$DDde^+AW-!~M&f~I(G{_1Qq)b7~A-5v>O$K|{=dy&9!^R4!)R)slE_heRNlMbXwJB6wXWSa!niVU=x zCgU87NyJ!Qmnik?u5?o+L_Ewch%r4PYmp9|w}L2AnUMJ#>eHo0OB>wVg(wmdHxV`_ z9RJ2a_<>%qC^8bZ1Aiu6ql!P!L>K}y5zJ2d>_TG4R;ipqk%YSCl8Q04bSnz(AZregM< zW*d9f3^gSI3zU9D#4CK81$@LoPeQ`4FU}q}`7ayw;C{k#_B7cx;gU)jj(zu!=m$>& zM3i*=*c?h22te`qf$kT~E`I1jA1F!9gT8UfK#P)LoKQ#3*8A6jNL{gHrU_CtL{ zyE``SFJlNxeeErYxMKE~3%jBLvBZu{!?o^D1A$yYQGQSX5EkS3xYyEfL8(pC^4-}Z zf#>`zQJ~$#@Mgc`O8Ya6D?}^NNFY)+&0H2r&MbQ|b#&UD0sRaqFP#BqN1&gN`ez7~ zEX%nz3Rt3Sgb_LLd?^Cc+&xJ;&BEJy^VMy@R~j2nH*c{tyS#UfH3f(euK~=i4^Ml)^F$Qr zw!Q|oSk9cw_KlqgDKmYMn9IHT|LRAdiX}|7FdHRvLZlL!^;JWyiS-?;W2#T&Z&GKdt6*rw)Ljc$MQl*zK3BQwgXrxZm= ztDiL-pYXcHFf?)G8P&#mD-mxkiuQe;^WO(}V>nMe^I#pda@`pBSDqu?f-l1itzxo z)%z=NTfbqr zHmWaw8dZ#}D8X~g;NMa5pYsrT1;!r76l4B>ztI4eXSeuf!fU^+MKnO$GIac?Kf{LK z{s8{fjF5#JG3NX^jK4mRl=UjaRl^_SHpm=*P58##2D=fQ{kOILZLJ@B?BCYHpW=U3 z>xa4cXSMKl^`Arh?l1m1#DB5YM&y8mACG{Q@h{f;7i(>V&Huu9yx;s6#(&RE{$+^x zdH9zh{zy*$fe&~z<{$X*!(aRZ9}wK>ANcSOeE2=6{s%t%10Q~eeE)$D-%rOs@Bu#$ z{|Y@nN?QNG2fUT|SLpdsy!!_}`~x3;L=H%P@eh3X2R?jkK zIOg121?ahp9u{fUz;#oWd;D|m$K32m!pMI8b^ICaKAw+!7@^;zOP4OmyO~a|zQQ7^ zz-}aC!V(~8jKkJV744%0&0ojg#aEGf5W*GWjNPd8p#1?(^v7-N#@>hbF3L#giZ0+{ znn$*dyTASX$P+^kE1Mqs^?Rk)Zidr)?#=I7*8?u%O6V{qGuutk&wXdSboo*=*G;!i zSKjSd)AF%iu4||L9KFPKvu_av{Ad0$3hr{sD-aZ`A$UQTg6zy0_n|Xq7;MR|lhM0- zMnR*P*aD$r-BzbgjXXGYYK#yh)LCa#FRo)RPR(%YRIein<*EcID!#R58S)8*f|2i| zP!LYpHL6oy*!CEtSM?XU8#;FZo%89dJbW%Cg~1H8@i8#HjWBS47AEkI0{Dl4ft7%T z{szx20UO=M;X8cDDa|&EfdRsJc>k_~9p?P->B6`AZy1(S(-$LRVu|pdB5<$K`Q7h4 zb=OG45Kpe*W7TegVG`~A=h7W7cmr+Yi*a#C_=*by&)`Yu%O;A6eZ5Tb9#^AlUj3RQ zS)*;(P;xQSyfbj<`VHPKCB^iSogRMvl=SMQ{gLUdJ8=^$@k<#R+>V~)m{>UYM6@6` zjQ`yztO8Xpu*m+))02*0ad2u*LI3+#zWDfV#76IL{nvCvw6qvJ*#9XJ(S!RSjJFTy z!tef@%*Rq;=3f5yWgY$mbPWq@^gcz}ng7-RzFXUWuM6km1tJWFt_S)j+W4Oh5Qgcg z|6Y2Cj~fPGs5rC7f6s@d!}YJ*bu=^dKCm0Ux1U`8Z#@!W#Qg6)KN0`>HChbm_o2=I ztw%SEzB4CX{%3>s0w$)#wLpba|2-d0&GY}>Qmnrw^w)&`(_8LLVp9< ze+JIKf$T3A`d0(_%Z2{Z>Hnnff9dq!jO^bGv-d)c;Ft{hQSPP3r$GXFI9~ z{Y~osCiVYjAb*qkze)YS#FgXf_ur)cZ&LrS2J$zl|C`kRTh4ZLR`oZj|C`kRn}PgI z>i;J7f0O!uiLHN=`oBs2zvXOylls5+h5qwO(ch&0Z&Lp+apiAP|M%A7f8Qd+|NlIx zhqB}Ra__Uy8&q`XO3z19xyx#odqQoBMC2|9eIQ9v3v8S$K-tGH`D%2mH`;XgXdv1{ zmk``mn)?fK37QxGz~{$mAdEXk_XvMp@caM+(GxnfWGvN42LGmwYejFE3JgM z=tP|3=Q~{FqMRRWPUkkt3|e24?~^eG&8Uk-l`0%`>xry~TRQgGI0Tymppi2h(oYd^FjxV->x_rnAAf)OPUBq-Mw;3)Zm$ zt{gWZ`D0F=)Rf{fd$8zz>oiH)-rl;#OgAA6ZnzTVpN(t~@3>3j_bFf>(n_Wge$oNm z(5b-1sTq`-!uhGWK?YeWRr1>N&TND(;6``E_-5=7mIS0tgx%ph|1i}@wl9S0=w+QO z)Kn6LQOR}{L45KgDgjia7Bt?q^m*9>bwy51h4FL=>Nwrbg!AwgwX|SP|}^(Bn{mc>QUa(0{f5P#T9hfeZ*$>9@E?tVCm@WW z2(tnsv}T}6Bp=QQk&8m&$tM-J3dc8Rt5Y>ldr_;i9pX=?pf=ir?!S1>`&IC&P(NKFxfmeO!)gWGpB91^5%FR3}*?Fx1pQNngOX9r%tV&(A7s?3aP))D=?6M%!BBEWZ}^fCFllyzLM0>n<% z{s?#{*}UKrU?vg>7St^(WVRXg9LApm)B~69DJP5-(NCb~h%S|HNy=$hY2qme99$%< zs7%?cs42U*v@K(G{bXWv12ha=CAUc`Bs%$m;q;kd>xU$fE)`*qs3BRNWfJwTlZ463 z?sb%QSkj_@hPF~SkTcHehH5?YPc;fi=xiUjk{p;P4^M_e8b*hw#fqK`G|N?AJFyyc z!|`)F{iX6b4gh^XH)wBe$G`%c zy$o(xq{#nSUMf}wT(U|x=){d?_@If7)tACIf*~5iHY}y3!WE7?dmofqY}C8%{nRXa zBy}<(3~+y4>dz;}Sak-j)X5Am8NF9n;oRpx`yjC6-oNYq13m{2yAC#9IO$5oEX#K8 z^D<1cFR=#>n-BHQ30f_0n1$t%{?Qjli-ZUR_F#Pck;HRNEk&R5aOJvCx7&Ofm`0iCZ+%L z`+5dht$wdDy=)@Se!^=aa|w*CclcJjH+`B%{XS&cGd7#h1g)k!0zfi>Z3ssyg5TwKyK|DWwF=+X zJ)ks>S3DJYgvt6F`+7k}J-iFO9!fTa9KY|3n*`|R+e6SGa>kN}4+I82e0oc#J4<^lf+6EA^c~elh*lbNLeye>9-B7l|-R~tmJMaTPPO1p(6)c$Mr)rb(zvLy-=NG%d7X`q>z(7;1g~Hzt}tVcb0Mzn zQ^G$+-UK|f1cI86Lz|`!fPv8DFpWg}RLGL!qi?&@fn_=?O*Hj8>LXNhsL4_lRM?id zQU8Kob%%|N{|GihWU4^Pxm&u*P*HUEcbfq$^k=pXk|0#*6&c~#*t)V@&FRRNRVnD@ zvbH7H=CTA?=ia$A`B4xh@mhIUaH{kZyF{QpA|1?(z0mEi#Qi^1{OfyFFA7066Zyp- zMBsu9t5pT{^F^iWgZ;a+Q61ul;JrmJ&iKjH#n7sbKx8H(_R8~I`npPG9RpV3JQk;Y7 z*e}p=zF5-dVAo*Fc3fG~J9xF^n>`$Kc}>n3+C>wer3VK<8S64+T01PViVa$hG{U_fgs2ExQc$qN@cp1>{ znsNJ8^j1BPNEkT4v@oBg=A3MV`F?8ks9#T38@S{FLk`YMxDBS(8y8)n#t=#g965<& z=tl7&$=B34cM>ojNYlbcP+_HxOCr7_we3C{%BZMb1xZoP?G~6%^XzVe)5t8?s_b3{ zxbxs-Dd+|p+m{g(SXr`r;0oHpK%vyE1j)_-c+mC)chTB1yb5dtA$P43T4ly0HI%` zDs(*&^Wo`l4$q}#_nyby+3A~R$~mZL`-B+hLU91Jlt}K1;gs#HOP1}d*sy;IEm~J6 z-Y5-3MuEF(UMF7&;jZpi6t~qok~`gUoL}qPKPTcO6>!H+fADK=QQ%ZcK$e+F!%h(T z_vlyy(rE!kVyoDGjee3Kien`|RV0>NRvnvUaat#?VqR@Ni zwe!#b%(l{~v?^J^=?_b$&9wpebFZ_LBzl^VQjp7lmYLkstvIl+hRZz4iQ_RsFok+8 z+;YKnG==zDbM1tHtpwHU_~Nag^1`{3Ad0raR~H%?Yf+Y_PCU+qI zPD`0LG~4ul3jAXw-vOH1y^z&>@}Qncw$JEp3tkOfu$ExE@xWScC$-%li7EbLts1%n z2CyOSiT&`9Gqwulx3L(a79b0mcnb(IQna?vgJ%J+M4NlE_hF+~UUQDLv4fA+N{Cvd zk}gKJZ?Z>lbv65h=Ab>`fjID*^kWv%d+7bUDF@YHC)Zrl;_d8?<$Va zwiG}QjkX`Rnh(IesVhH4X~ZeF6^y7ocX1}V!v(Lig7vo^Aql{%%O6viPrzGe7gyXB zj}Ojey({yg{ylE_G>yo2ZdSB#Cj^vs*&Uea`mZwqx$MlqJ`R}_8Dp!x*kLVYRZ;T~ zg9yn6W*i<#4?xSTBZynRsh3Q@NZ&*+-f9&5XkXyS@~oO+JR~M zL