From 716ba7f3579d7b9baf79c61a765a445449003463 Mon Sep 17 00:00:00 2001 From: camperbot Date: Tue, 28 Mar 2023 21:16:03 +0530 Subject: [PATCH] chore(i18n,learn): processed translations (#49879) --- .../basic-javascript/record-collection.md | 37 +- .../60f805f813eaf2049bc2ceea.md | 12 +- .../5ddb965c65d27e1512d44d9a.md | 122 ++ .../63b606f09a14cc1781aea1fb.md | 146 +++ .../63b6075a62883218d282504c.md | 131 ++ .../63b607af6fcdb119aae9b16a.md | 168 +++ .../63b60821c855d01b1eda3c0b.md | 164 +++ .../63b6088bb56e2d1cac364043.md | 168 +++ .../63b608ebf40c871d960fc004.md | 214 ++++ .../63b60a140bf5a321d50a7315.md | 163 +++ .../63b60aaaa65f8922bfce6b7e.md | 210 ++++ .../63b60af1a0b9f7238a9dd294.md | 220 ++++ .../63b60c09c5039f25a3b2dda9.md | 207 ++++ .../63b60ca38c897f2721b27959.md | 182 +++ .../63b60cfaca25bb27edd40f62.md | 170 +++ .../63b60d3c5048302906962231.md | 176 +++ .../63b613f367584d2a5d041b7d.md | 195 +++ .../63b61490e633a22b4593e62f.md | 215 ++++ .../63b614e6a1f7fe2cef6312dc.md | 182 +++ .../63b6152e6aff882db819fc1e.md | 192 +++ .../63b61584def8fa2ebcc259e0.md | 182 +++ .../63bf43be3f969d24d4ed233c.md | 181 +++ .../63bf446945d34d25e6db6e4f.md | 195 +++ .../63bf45ce0dc8d4270760c6d0.md | 200 +++ .../63bf461011fca327d3b60fa8.md | 213 ++++ .../63bf47fd40599f29827f484d.md | 176 +++ .../63bf492b6dfb292a79f0e675.md | 174 +++ .../63bf4bfe9de3852be51c8f86.md | 188 +++ .../63bf4d351e06432ce9bf3627.md | 180 +++ .../63bf511b85b6082e54dc1573.md | 199 +++ .../63bf5230bccd1c2f5c13e1ce.md | 191 +++ .../63bf598a4c807930a13a1a27.md | 185 +++ .../63bf5a518d54f63181ab639a.md | 179 +++ .../63bf5a92fd148d3264d5322b.md | 187 +++ .../63bf5adfe2981b332eb007b6.md | 185 +++ .../63bf5bcfebff0734593fad19.md | 185 +++ .../63bf5c438f523a359769106c.md | 194 +++ .../63bf5cf03b50bf36cfbe94ea.md | 194 +++ .../63c1dfbd56c71e278800010c.md | 198 +++ .../63c1e0af28078f2dfad9eb3e.md | 203 +++ .../63c1e1965a898d302e0af4e3.md | 203 +++ .../63c1e5b4b3c8a031def3bd65.md | 197 +++ .../63c1e704ee12703347625900.md | 197 +++ .../63c2164c0df38a382062c4af.md | 201 +++ .../63c216da562fbb3957b9cb2c.md | 192 +++ .../63c2171c1e5b6e3aa51768d0.md | 198 +++ .../63c21774193de43bbc6a769f.md | 193 +++ .../63c217ccd939053ce4fa16d6.md | 217 ++++ .../63c21839f56eaf3ef4e027c4.md | 228 ++++ .../63c2187f55eb0f400269568f.md | 238 ++++ .../63c218c028c56a411b2a379a.md | 208 ++++ .../63c2194dce265f429300c8b1.md | 200 +++ .../63c21c17fa8fd6447ff0389d.md | 212 ++++ .../63c21cd2c34541469f5700a9.md | 208 ++++ .../63c21d4f48267a47c2946788.md | 216 ++++ .../63c21dea919c8e4adb0df8e8.md | 212 ++++ .../63c8ab51214c8c1f1b9a49f7.md | 216 ++++ .../63c8ad0cd8f1e5201c4ef2e4.md | 224 ++++ .../63c8b0187cceff21c8389543.md | 234 ++++ .../63c8be904ffff922f3c6f8d0.md | 221 ++++ .../63c8c00bfb671b23f9de4159.md | 219 ++++ .../63c8c15fd337ad24b9b68049.md | 233 ++++ .../63c9bc53735149084390e5d0.md | 226 ++++ .../63c9bcc26219e7090da0f549.md | 218 ++++ .../63c9bce376ca4f09c15a3768.md | 234 ++++ .../63c9bdd916e0c10af01ed8d7.md | 221 ++++ .../63c9be334f4a050c0b94bc93.md | 229 ++++ .../63c9bef7fec05c0d38853828.md | 227 ++++ .../63c9bf80558d780e848b2987.md | 236 ++++ .../63c9c09a7daa4f0ff92c4023.md | 235 ++++ .../63c9c0d0857f0a10a57af936.md | 272 ++++ .../63c9c11a0a090311dff55564.md | 242 ++++ .../63c9c16dd75dd212dc12363c.md | 241 ++++ .../63c9c1ef134f3513e751c975.md | 278 +++++ .../63c9e3a83bb3e61a80eea564.md | 249 ++++ .../63c9e45519caf31b987fbb5f.md | 247 ++++ .../63c9e4d2ff41811dd640504f.md | 257 ++++ .../63c9e51b3a007a1eba1cd0f6.md | 252 ++++ .../63c9e55b4b06c11fff555c64.md | 267 ++++ .../63c9e5eea8261d22856ead1c.md | 250 ++++ .../63c9e63bb1e32d23b6adbe44.md | 266 ++++ .../63c9e6b7c0303524af2d0bc2.md | 245 ++++ .../63c9e769df38c92635c158ba.md | 254 ++++ .../63c9e7d5b21eee2776ecc226.md | 262 ++++ .../63c9e84c9fe8ca28c4101189.md | 270 ++++ .../63c9e8fe3a6f022a05a04675.md | 269 ++++ .../63c9e94e9df7d72aed1c24bd.md | 264 ++++ .../63c9ea23dbadbf2c2764e3f5.md | 265 ++++ .../63c9ea9b16430f2d54522464.md | 265 ++++ .../63c9eb09bcfaa72e3da820a1.md | 267 ++++ .../63c9eb4a5d68f12f32d9b440.md | 263 ++++ .../63c9ebb7b12bca3025b0a935.md | 276 +++++ .../63c9ec044acedf312c4974ff.md | 275 +++++ .../63c9f24afbc9cf324dcaa9a4.md | 276 +++++ .../63c9f28bda3e3f336e21b6b4.md | 277 +++++ .../63c9f2bff625af342023512c.md | 520 ++++++++ .../build-a-data-graph-explorer.md | 0 .../build-a-financial-calculator.md | 0 .../build-a-graphing-calculator.md | 0 .../build-a-multi-function-calculator.md | 0 .../build-three-math-games.md | 0 ...lege-algebra-with-python-certification.yml | 11 +- .../basic-javascript/record-collection.md | 37 +- .../60f805f813eaf2049bc2ceea.md | 12 +- .../5ddb965c65d27e1512d44d9a.md | 122 ++ .../63b606f09a14cc1781aea1fb.md | 146 +++ .../63b6075a62883218d282504c.md | 131 ++ .../63b607af6fcdb119aae9b16a.md | 168 +++ .../63b60821c855d01b1eda3c0b.md | 164 +++ .../63b6088bb56e2d1cac364043.md | 168 +++ .../63b608ebf40c871d960fc004.md | 214 ++++ .../63b60a140bf5a321d50a7315.md | 163 +++ .../63b60aaaa65f8922bfce6b7e.md | 210 ++++ .../63b60af1a0b9f7238a9dd294.md | 220 ++++ .../63b60c09c5039f25a3b2dda9.md | 207 ++++ .../63b60ca38c897f2721b27959.md | 182 +++ .../63b60cfaca25bb27edd40f62.md | 170 +++ .../63b60d3c5048302906962231.md | 176 +++ .../63b613f367584d2a5d041b7d.md | 195 +++ .../63b61490e633a22b4593e62f.md | 215 ++++ .../63b614e6a1f7fe2cef6312dc.md | 182 +++ .../63b6152e6aff882db819fc1e.md | 192 +++ .../63b61584def8fa2ebcc259e0.md | 182 +++ .../63bf43be3f969d24d4ed233c.md | 181 +++ .../63bf446945d34d25e6db6e4f.md | 195 +++ .../63bf45ce0dc8d4270760c6d0.md | 200 +++ .../63bf461011fca327d3b60fa8.md | 213 ++++ .../63bf47fd40599f29827f484d.md | 176 +++ .../63bf492b6dfb292a79f0e675.md | 174 +++ .../63bf4bfe9de3852be51c8f86.md | 188 +++ .../63bf4d351e06432ce9bf3627.md | 180 +++ .../63bf511b85b6082e54dc1573.md | 199 +++ .../63bf5230bccd1c2f5c13e1ce.md | 191 +++ .../63bf598a4c807930a13a1a27.md | 185 +++ .../63bf5a518d54f63181ab639a.md | 179 +++ .../63bf5a92fd148d3264d5322b.md | 187 +++ .../63bf5adfe2981b332eb007b6.md | 185 +++ .../63bf5bcfebff0734593fad19.md | 185 +++ .../63bf5c438f523a359769106c.md | 194 +++ .../63bf5cf03b50bf36cfbe94ea.md | 194 +++ .../63c1dfbd56c71e278800010c.md | 198 +++ .../63c1e0af28078f2dfad9eb3e.md | 203 +++ .../63c1e1965a898d302e0af4e3.md | 203 +++ .../63c1e5b4b3c8a031def3bd65.md | 197 +++ .../63c1e704ee12703347625900.md | 197 +++ .../63c2164c0df38a382062c4af.md | 201 +++ .../63c216da562fbb3957b9cb2c.md | 192 +++ .../63c2171c1e5b6e3aa51768d0.md | 198 +++ .../63c21774193de43bbc6a769f.md | 193 +++ .../63c217ccd939053ce4fa16d6.md | 217 ++++ .../63c21839f56eaf3ef4e027c4.md | 228 ++++ .../63c2187f55eb0f400269568f.md | 238 ++++ .../63c218c028c56a411b2a379a.md | 208 ++++ .../63c2194dce265f429300c8b1.md | 200 +++ .../63c21c17fa8fd6447ff0389d.md | 212 ++++ .../63c21cd2c34541469f5700a9.md | 208 ++++ .../63c21d4f48267a47c2946788.md | 216 ++++ .../63c21dea919c8e4adb0df8e8.md | 212 ++++ .../63c8ab51214c8c1f1b9a49f7.md | 216 ++++ .../63c8ad0cd8f1e5201c4ef2e4.md | 224 ++++ .../63c8b0187cceff21c8389543.md | 234 ++++ .../63c8be904ffff922f3c6f8d0.md | 221 ++++ .../63c8c00bfb671b23f9de4159.md | 219 ++++ .../63c8c15fd337ad24b9b68049.md | 233 ++++ .../63c9bc53735149084390e5d0.md | 226 ++++ .../63c9bcc26219e7090da0f549.md | 218 ++++ .../63c9bce376ca4f09c15a3768.md | 234 ++++ .../63c9bdd916e0c10af01ed8d7.md | 221 ++++ .../63c9be334f4a050c0b94bc93.md | 229 ++++ .../63c9bef7fec05c0d38853828.md | 227 ++++ .../63c9bf80558d780e848b2987.md | 236 ++++ .../63c9c09a7daa4f0ff92c4023.md | 235 ++++ .../63c9c0d0857f0a10a57af936.md | 272 ++++ .../63c9c11a0a090311dff55564.md | 242 ++++ .../63c9c16dd75dd212dc12363c.md | 241 ++++ .../63c9c1ef134f3513e751c975.md | 278 +++++ .../63c9e3a83bb3e61a80eea564.md | 249 ++++ .../63c9e45519caf31b987fbb5f.md | 247 ++++ .../63c9e4d2ff41811dd640504f.md | 257 ++++ .../63c9e51b3a007a1eba1cd0f6.md | 252 ++++ .../63c9e55b4b06c11fff555c64.md | 267 ++++ .../63c9e5eea8261d22856ead1c.md | 250 ++++ .../63c9e63bb1e32d23b6adbe44.md | 266 ++++ .../63c9e6b7c0303524af2d0bc2.md | 245 ++++ .../63c9e769df38c92635c158ba.md | 254 ++++ .../63c9e7d5b21eee2776ecc226.md | 262 ++++ .../63c9e84c9fe8ca28c4101189.md | 270 ++++ .../63c9e8fe3a6f022a05a04675.md | 269 ++++ .../63c9e94e9df7d72aed1c24bd.md | 264 ++++ .../63c9ea23dbadbf2c2764e3f5.md | 265 ++++ .../63c9ea9b16430f2d54522464.md | 265 ++++ .../63c9eb09bcfaa72e3da820a1.md | 267 ++++ .../63c9eb4a5d68f12f32d9b440.md | 263 ++++ .../63c9ebb7b12bca3025b0a935.md | 276 +++++ .../63c9ec044acedf312c4974ff.md | 275 +++++ .../63c9f24afbc9cf324dcaa9a4.md | 276 +++++ .../63c9f28bda3e3f336e21b6b4.md | 277 +++++ .../63c9f2bff625af342023512c.md | 520 ++++++++ .../build-a-data-graph-explorer.md | 30 + .../build-a-financial-calculator.md | 28 + .../build-a-graphing-calculator.md | 28 + .../build-a-multi-function-calculator.md | 28 + .../build-three-math-games.md | 29 + .../more-resources-in-colab.md | 2 +- .../spreadsheets-and-additional-resources.md | 2 +- .../exponents-and-logarithms.md | 2 +- .../fractions-and-decimals-extra.md | 2 +- .../graphing-systems.md | 2 +- .../how-to-solve-for-x-extra.md | 2 +- .../problem-1-multiples-of-3-and-5.md | 73 ++ .../problem-10-summation-of-primes.md | 106 ++ .../problem-100-arranged-probability.md | 87 ++ .../problem-11-largest-product-in-a-grid.md | 182 +++ ...m-12-highly-divisible-triangular-number.md | 139 +++ .../problem-13-large-sum.md | 286 +++++ .../problem-14-longest-collatz-sequence.md | 111 ++ .../problem-15-lattice-paths.md | 68 + .../problem-16-power-digit-sum.md | 85 ++ .../problem-17-number-letter-counts.md | 130 ++ .../problem-18-maximum-path-sum-i.md | 109 ++ .../problem-19-counting-sundays.md | 76 ++ .../problem-2-even-fibonacci-numbers.md | 103 ++ .../problem-20-factorial-digit-sum.md | 79 ++ .../problem-21-amicable-numbers.md | 84 ++ .../problem-22-names-scores.md | 90 ++ .../problem-23-non-abundant-sums.md | 101 ++ .../problem-24-lexicographic-permutations.md | 66 + .../problem-25-1000-digit-fibonacci-number.md | 85 ++ .../problem-26-reciprocal-cycles.md | 68 + .../problem-27-quadratic-primes.md | 78 ++ .../problem-28-number-spiral-diagonals.md | 83 ++ .../problem-29-distinct-powers.md | 86 ++ .../problem-3-largest-prime-factor.md | 95 ++ .../problem-30-digit-n-powers.md | 74 ++ .../problem-31-coin-sums.md | 77 ++ .../problem-32-pandigital-products.md | 118 ++ .../problem-33-digit-cancelling-fractions.md | 102 ++ .../problem-34-digit-factorials.md | 50 + .../problem-35-circular-primes.md | 132 ++ .../problem-36-double-base-palindromes.md | 66 + .../problem-37-truncatable-primes.md | 66 + .../problem-38-pandigital-multiples.md | 98 ++ .../problem-39-integer-right-triangles.md | 91 ++ .../problem-4-largest-palindrome-product.md | 64 + .../problem-40-champernownes-constant.md | 77 ++ .../problem-41-pandigital-prime.md | 117 ++ .../problem-42-coded-triangle-numbers.md | 71 ++ .../problem-43-sub-string-divisibility.md | 126 ++ .../problem-44-pentagon-numbers.md | 77 ++ ...-45-triangular-pentagonal-and-hexagonal.md | 82 ++ .../problem-46-goldbachs-other-conjecture.md | 99 ++ .../problem-47-distinct-primes-factors.md | 94 ++ .../problem-48-self-powers.md | 80 ++ .../problem-49-prime-permutations.md | 93 ++ .../problem-5-smallest-multiple.md | 83 ++ .../problem-50-consecutive-prime-sum.md | 139 +++ .../problem-51-prime-digit-replacements.md | 140 +++ .../problem-52-permuted-multiples.md | 81 ++ .../problem-53-combinatoric-selections.md | 89 ++ .../problem-54-poker-hands.md | 1096 +++++++++++++++++ .../problem-55-lychrel-numbers.md | 113 ++ .../problem-56-powerful-digit-sum.md | 101 ++ .../problem-57-square-root-convergents.md | 98 ++ .../problem-58-spiral-primes.md | 105 ++ .../problem-59-xor-decryption.md | 58 + .../problem-6-sum-square-difference.md | 78 ++ .../problem-60-prime-pair-sets.md | 46 + .../problem-61-cyclical-figurate-numbers.md | 252 ++++ .../problem-62-cubic-permutations.md | 97 ++ .../problem-63-powerful-digit-counts.md | 122 ++ .../problem-64-odd-period-square-roots.md | 148 +++ .../problem-65-convergents-of-e.md | 117 ++ .../problem-66-diophantine-equation.md | 129 ++ .../problem-67-maximum-path-sum-ii.md | 96 ++ .../problem-68-magic-5-gon-ring.md | 71 ++ .../problem-69-totient-maximum.md | 110 ++ .../problem-7-10001st-prime.md | 86 ++ .../problem-70-totient-permutation.md | 118 ++ .../problem-71-ordered-fractions.md | 95 ++ .../problem-72-counting-fractions.md | 90 ++ ...roblem-73-counting-fractions-in-a-range.md | 83 ++ .../problem-74-digit-factorial-chains.md | 127 ++ ...lem-75-singular-integer-right-triangles.md | 117 ++ .../problem-76-counting-summations.md | 83 ++ .../problem-77-prime-summations.md | 110 ++ .../problem-78-coin-partitions.md | 103 ++ .../problem-79-passcode-derivation.md | 115 ++ .../problem-8-largest-product-in-a-series.md | 92 ++ ...roblem-80-square-root-digital-expansion.md | 109 ++ .../problem-81-path-sum-two-ways.md | 185 +++ .../problem-82-path-sum-three-ways.md | 195 +++ .../problem-83-path-sum-four-ways.md | 215 ++++ .../problem-84-monopoly-odds.md | 268 ++++ .../problem-85-counting-rectangles.md | 109 ++ .../problem-86-cuboid-route.md | 94 ++ .../problem-87-prime-power-triples.md | 131 ++ .../problem-88-product-sum-numbers.md | 110 ++ .../problem-89-roman-numerals.md | 117 ++ .../problem-9-special-pythagorean-triplet.md | 74 ++ .../problem-90-cube-digit-pairs.md | 65 + ...ight-triangles-with-integer-coordinates.md | 119 ++ .../problem-92-square-digit-chains.md | 153 +++ .../problem-93-arithmetic-expressions.md | 59 + ...problem-94-almost-equilateral-triangles.md | 84 ++ .../problem-95-amicable-chains.md | 124 ++ .../problem-96-su-doku.md | 296 +++++ .../problem-97-large-non-mersenne-prime.md | 88 ++ .../problem-98-anagramic-squares.md | 205 +++ .../problem-99-largest-exponential.md | 83 ++ .../problem-101-optimum-polynomial.md | 58 + .../problem-102-triangle-containment.md | 156 +++ ...problem-103-special-subset-sums-optimum.md | 56 + .../problem-104-pandigital-fibonacci-ends.md | 44 + ...problem-105-special-subset-sums-testing.md | 59 + ...em-106-special-subset-sums-meta-testing.md | 49 + .../problem-107-minimal-network.md | 71 ++ .../problem-108-diophantine-reciprocals-i.md | 48 + .../problem-109-darts.md | 57 + .../problem-110-diophantine-reciprocals-ii.md | 46 + .../problem-111-primes-with-runs.md | 61 + .../problem-112-bouncy-numbers.md | 48 + .../problem-113-non-bouncy-numbers.md | 46 + ...oblem-114-counting-block-combinations-i.md | 44 + ...blem-115-counting-block-combinations-ii.md | 50 + .../problem-116-red-green-or-blue-tiles.md | 54 + .../problem-117-red-green-and-blue-tiles.md | 44 + .../problem-118-pandigital-prime-sets.md | 40 + .../problem-119-digit-power-sum.md | 44 + .../problem-120-square-remainders.md | 42 + .../problem-121-disc-game-prize-fund.md | 44 + .../problem-122-efficient-exponentiation.md | 57 + .../problem-123-prime-square-remainders.md | 44 + .../problem-124-ordered-radicals.md | 142 +++ .../problem-125-palindromic-sums.md | 79 ++ .../problem-126-cuboid-layers.md | 50 + .../problem-127-abc-hits.md | 56 + .../problem-128-hexagonal-tile-differences.md | 117 ++ .../problem-129-repunit-divisibility.md | 44 + ...-composites-with-prime-repunit-property.md | 46 + .../problem-131-prime-cube-partnership.md | 44 + .../problem-132-large-repunit-factors.md | 42 + .../problem-133-repunit-nonfactors.md | 44 + .../problem-134-prime-pair-connection.md | 42 + .../problem-135-same-differences.md | 44 + .../problem-136-singleton-difference.md | 44 + .../problem-137-fibonacci-golden-nuggets.md | 59 + ...problem-138-special-isosceles-triangles.md | 46 + .../problem-139-pythagorean-tiles.md | 46 + ...m-140-modified-fibonacci-golden-nuggets.md | 52 + ...ressive-numbers-n-which-are-also-square.md | 46 + .../problem-142-perfect-square-collection.md | 38 + ...ting-the-torricelli-point-of-a-triangle.md | 46 + ...ng-multiple-reflections-of-a-laser-beam.md | 61 + ...ble-numbers-are-there-below-one-billion.md | 42 + ...oblem-146-investigating-a-prime-pattern.md | 40 + ...m-147-rectangles-in-cross-hatched-grids.md | 48 + .../problem-148-exploring-pascals-triangle.md | 54 + ...searching-for-a-maximum-sum-subsequence.md | 54 + ...y-for-a-sub-triangle-having-minimum-sum.md | 63 + ...tandard-sizes-an-expected-value-problem.md | 52 + ...ng-one-half-as-a-sum-of-inverse-squares.md | 46 + ...lem-153-investigating-gaussian-integers.md | 84 ++ .../problem-154-exploring-pascals-pyramid.md | 46 + ...problem-155-counting-capacitor-circuits.md | 50 + .../problem-156-counting-digits.md | 68 + ...em-157-solving-the-diophantine-equation.md | 47 + ...hically-after-its-neighbour-to-the-left.md | 54 + ...159-digital-root-sums-of-factorisations.md | 63 + .../problem-160-factorial-trailing-digits.md | 45 + .../problem-161-triominoes.md | 52 + .../problem-162-hexadecimal-numbers.md | 58 + .../problem-163-cross-hatched-triangles.md | 51 + ...s-have-a-sum-greater-than-a-given-value.md | 40 + .../problem-165-intersections.md | 64 + .../problem-166-criss-cross.md | 48 + ...roblem-167-investigating-ulam-sequences.md | 46 + .../problem-168-number-rotations.md | 82 ++ ...an-be-expressed-as-a-sum-of-powers-of-2.md | 48 + ...can-be-formed-by-concatenating-products.md | 49 + ...f-the-squares-of-the-digits-is-a-square.md | 46 + ...gating-numbers-with-few-repeated-digits.md | 38 + ...ent-hollow-square-laminae-can-be-formed.md | 44 + ...one-two-three-...-distinct-arrangements.md | 50 + ...an-be-expressed-as-a-sum-of-powers-of-2.md | 62 + ...-angled-triangles-that-share-a-cathetus.md | 40 + ...oblem-177-integer-angled-quadrilaterals.md | 48 + .../problem-178-step-numbers.md | 46 + ...oblem-179-consecutive-positive-divisors.md | 38 + ...-zeros-of-a-function-of-three-variables.md | 53 + ...of-two-different-colours-can-be-grouped.md | 44 + .../problem-182-rsa-encryption.md | 102 ++ .../problem-183-maximum-product-of-parts.md | 54 + ...lem-184-triangles-containing-the-origin.md | 46 + .../problem-185-number-mind.md | 66 + .../problem-186-connectedness-of-a-network.md | 57 + .../problem-187-semiprimes.md | 42 + ...188-the-hyperexponentiation-of-a-number.md | 44 + ...lem-189-tri-colouring-a-triangular-grid.md | 50 + ...oblem-190-maximising-a-weighted-product.md | 42 + .../problem-191-prize-strings.md | 52 + .../problem-192-best-approximations.md | 46 + .../problem-193-squarefree-numbers.md | 40 + .../problem-194-coloured-configurations.md | 46 + ...-triangles-with-one-angle-of-60-degrees.md | 46 + .../problem-196-prime-triplets.md | 60 + ...viour-of-a-recursively-defined-sequence.md | 40 + .../problem-198-ambiguous-numbers.md | 42 + .../problem-199-iterative-circle-packing.md | 75 ++ ...ontaining-the-contiguous-sub-string-200.md | 48 + .../problem-201-subsets-with-a-unique-sum.md | 58 + .../problem-202-laserbeam.md | 46 + ...em-203-squarefree-binomial-coefficients.md | 50 + ...problem-204-generalised-hamming-numbers.md | 46 + .../problem-205-dice-game.md | 44 + .../problem-206-concealed-square.md | 63 + ...problem-207-integer-partition-equations.md | 56 + .../problem-208-robot-walks.md | 46 + .../problem-209-circular-logic.md | 58 + .../problem-210-obtuse-angled-triangles.md | 46 + .../problem-211-divisor-square-sum.md | 42 + .../problem-212-combined-volume-of-cuboids.md | 57 + .../problem-213-flea-circus.md | 42 + .../problem-214-totient-chains.md | 50 + .../problem-215-crack-free-walls.md | 46 + ...-primality-of-numbers-of-the-form-2n2-1.md | 46 + .../problem-217-balanced-numbers.md | 46 + ...blem-218-perfect-right-angled-triangles.md | 56 + .../problem-219-skew-cost-coding.md | 50 + .../problem-220-heighway-dragon.md | 57 + .../problem-221-alexandrian-integers.md | 49 + .../problem-222-sphere-packing.md | 40 + ...lem-223-almost-right-angled-triangles-i.md | 40 + ...em-224-almost-right-angled-triangles-ii.md | 40 + .../problem-225-tribonacci-non-divisors.md | 44 + .../problem-226-a-scoop-of-blancmange.md | 46 + .../problem-227-the-chase.md | 50 + .../problem-228-minkowski-sums.md | 51 + ...-229-four-representations-using-squares.md | 56 + .../problem-230-fibonacci-words.md | 64 + ...-factorisation-of-binomial-coefficients.md | 44 + .../problem-232-the-race.md | 50 + .../problem-233-lattice-points-on-a-circle.md | 42 + .../problem-234-semidivisible-numbers.md | 46 + ...em-235-an-arithmetic-geometric-sequence.md | 44 + .../problem-236-luxury-hampers.md | 65 + ...blem-237-tours-on-a-4-x-n-playing-board.md | 49 + .../problem-238-infinite-string-tour.md | 59 + .../problem-239-twenty-two-foolish-primes.md | 42 + .../problem-240-top-dice.md | 44 + .../problem-241-perfection-quotients.md | 44 + .../problem-242-odd-triplets.md | 44 + .../problem-243-resilience.md | 50 + .../problem-244-sliders.md | 58 + .../problem-245-coresilience.md | 48 + .../problem-246-tangents-to-an-ellipse.md | 58 + .../problem-247-squares-under-a-hyperbola.md | 56 + ...which-eulers-totient-function-equals-13.md | 40 + .../problem-249-prime-subset-sums.md | 42 + .../problem-250-250250.md | 38 + .../problem-251-cardano-triplets.md | 46 + .../problem-252-convex-holes.md | 51 + .../problem-253-tidying-up.md | 69 ++ .../problem-254-sums-of-digit-factorials.md | 48 + .../problem-255-rounded-square-roots.md | 67 + .../problem-256-tatami-free-rooms.md | 56 + .../problem-257-angular-bisectors.md | 46 + ...problem-258-a-lagged-fibonacci-sequence.md | 43 + .../problem-259-reachable-numbers.md | 49 + .../problem-260-stone-game.md | 60 + .../problem-261-pivotal-square-sums.md | 48 + .../problem-262-mountain-range.md | 50 + ...roblem-263-an-engineers-dream-come-true.md | 57 + .../problem-264-triangle-centres.md | 71 ++ .../problem-265-binary-circles.md | 53 + .../problem-266-pseudo-square-root.md | 46 + .../problem-267-billionaire.md | 48 + ...ur-distinct-prime-factors-less-than-100.md | 42 + ...ynomials-with-at-least-one-integer-root.md | 54 + .../problem-270-cutting-squares.md | 48 + .../problem-271-modular-cubes-part-1.md | 42 + .../problem-272-modular-cubes-part-2.md | 42 + .../problem-273-sum-of-squares.md | 48 + .../problem-274-divisibility-multipliers.md | 52 + .../problem-275-balanced-sculptures.md | 51 + .../problem-276-primitive-triangles.md | 42 + ...problem-277-a-modified-collatz-sequence.md | 56 + ...m-278-linear-combinations-of-semiprimes.md | 44 + ...th-integral-sides-and-an-integral-angle.md | 38 + .../problem-280-ant-and-seeds.md | 42 + .../problem-281-pizza-toppings.md | 46 + .../problem-282-the-ackermann-function.md | 45 + ...h-the-area--perimeter-ratio-is-integral.md | 48 + .../problem-284-steady-squares.md | 50 + .../problem-285-pythagorean-odds.md | 46 + .../problem-286-scoring-probabilities.md | 42 + ...encoding-a-simple-compression-algorithm.md | 59 + .../problem-288-an-enormous-factorial.md | 49 + .../problem-289-eulerian-cycles.md | 50 + .../problem-290-digital-signature.md | 38 + .../problem-291-panaitopol-primes.md | 40 + .../problem-292-pythagorean-polygons.md | 51 + .../problem-293-pseudo-fortunate-numbers.md | 46 + ...oblem-294-sum-of-digits---experience-23.md | 47 + .../problem-295-lenticular-holes.md | 59 + ...roblem-296-angular-bisector-and-tangent.md | 44 + .../problem-297-zeckendorf-representation.md | 52 + .../problem-298-selective-amnesia.md | 57 + .../problem-299-three-similar-triangles.md | 56 + .../problem-300-protein-folding.md | 56 + .../problem-301-nim.md | 58 + .../problem-302-strong-achilles-numbers.md | 50 + ...problem-303-multiples-with-small-digits.md | 44 + .../problem-304-primonacci.md | 46 + .../problem-305-reflexive-position.md | 46 + .../problem-306-paper-strip-game.md | 54 + .../problem-307-chip-defects.md | 42 + ...8-an-amazing-prime-generating-automaton.md | 54 + .../problem-309-integer-ladders.md | 46 + .../problem-310-nim-square.md | 46 + ...em-311-biclinic-integral-quadrilaterals.md | 50 + ...em-312-cyclic-paths-on-sierpiski-graphs.md | 53 + .../problem-313-sliding-game.md | 48 + .../problem-314-the-mouse-on-the-moon.md | 50 + .../problem-315-digital-root-clocks.md | 72 ++ ...oblem-316-numbers-in-decimal-expansions.md | 58 + .../problem-317-firecracker.md | 42 + .../problem-318-2011-nines.md | 56 + .../problem-319-bounded-sequences.md | 48 + ...-factorials-divisible-by-a-huge-integer.md | 44 + .../problem-321-swapping-counters.md | 52 + ...2-binomial-coefficients-divisible-by-10.md | 42 + ...itwise-or-operations-on-random-integers.md | 47 + .../problem-324-building-a-tower.md | 46 + .../problem-325-stone-game-ii.md | 50 + .../problem-326-modulo-summations.md | 50 + .../problem-327-rooms-of-doom.md | 62 + .../problem-328-lowest-cost-search.md | 56 + .../problem-329-prime-frog.md | 54 + .../problem-330-eulers-number.md | 54 + .../problem-331-cross-flips.md | 52 + .../problem-332-spherical-triangles.md | 52 + .../problem-333-special-partitions.md | 53 + .../problem-334-spilling-the-beans.md | 53 + .../problem-335-gathering-the-beans.md | 46 + .../problem-336-maximix-arrangements.md | 58 + ...problem-337-totient-stairstep-sequences.md | 52 + ...blem-338-cutting-rectangular-grid-paper.md | 52 + .../problem-339-peredur-fab-efrawg.md | 44 + .../problem-340-crazy-function.md | 47 + ...em-341-golombs-self-describing-sequence.md | 47 + ...m-342-the-totient-of-a-square-is-a-cube.md | 45 + .../problem-343-fractional-sequences.md | 55 + .../problem-344-silver-dollar-game.md | 56 + .../problem-345-matrix-sum.md | 55 + .../problem-346-strong-repunits.md | 42 + ...largest-integer-divisible-by-two-primes.md | 48 + .../problem-348-sum-of-a-square-and-a-cube.md | 48 + .../problem-349-langtons-ant.md | 45 + ...e-least-greatest-and-the-greatest-least.md | 50 + .../problem-351-hexagonal-orchards.md | 48 + .../problem-352-blood-tests.md | 70 ++ .../problem-353-risky-moon.md | 54 + ...oblem-354-distances-in-a-bees-honeycomb.md | 46 + .../problem-355-maximal-coprime-subset.md | 42 + ...-356-largest-roots-of-cubic-polynomials.md | 44 + .../problem-357-prime-generating-integers.md | 42 + .../problem-358-cyclic-numbers.md | 57 + .../problem-359-hilberts-new-hotel.md | 62 + .../problem-360-scary-sphere.md | 48 + ...-361-subsequence-of-thue-morse-sequence.md | 55 + .../problem-362-squarefree-factors.md | 52 + .../problem-363-bzier-curves.md | 56 + .../problem-364-comfortable-distance.md | 50 + ...problem-365-a-huge-binomial-coefficient.md | 42 + .../problem-366-stone-game-iii.md | 68 + .../problem-367-bozo-sort.md | 56 + .../problem-368-a-kempner-like-series.md | 51 + .../problem-369-badugi.md | 42 + .../problem-370-geometric-triangles.md | 44 + .../problem-371-licence-plates.md | 48 + .../problem-372-pencils-of-rays.md | 44 + .../problem-373-circumscribed-circles.md | 44 + ...m-374-maximum-integer-partition-product.md | 54 + .../problem-375-minimum-of-subsequences.md | 47 + .../problem-376-nontransitive-sets-of-dice.md | 69 ++ ...problem-377-sum-of-digits-experience-13.md | 46 + .../problem-378-triangle-triples.md | 44 + ...problem-379-least-common-multiple-count.md | 44 + .../problem-380-amazing-mazes.md | 54 + .../problem-381-prime-k-factorial.md | 48 + .../problem-382-generating-polygons.md | 65 + ...isibility-comparison-between-factorials.md | 46 + .../problem-384-rudin-shapiro-sequence.md | 65 + .../problem-385-ellipses-inside-triangles.md | 55 + ...blem-386-maximum-length-of-an-antichain.md | 50 + .../problem-387-harshad-numbers.md | 58 + .../problem-388-distinct-lines.md | 44 + .../problem-389-platonic-dice.md | 48 + ...th-non-rational-sides-and-integral-area.md | 46 + .../problem-391-hopping-game.md | 59 + .../problem-392-enmeshed-unit-circle.md | 58 + .../problem-393-migrating-ants.md | 46 + .../problem-394-eating-pie.md | 53 + .../problem-395-pythagorean-tree.md | 52 + .../problem-396-weak-goodstein-sequence.md | 62 + .../problem-397-triangle-on-parabola.md | 44 + .../problem-398-cutting-rope.md | 42 + ...roblem-399-squarefree-fibonacci-numbers.md | 60 + .../problem-400-fibonacci-tree-game.md | 54 + .../problem-401-sum-of-squares-of-divisors.md | 46 + .../problem-402-integer-valued-polynomials.md | 51 + ...ce-points-enclosed-by-parabola-and-line.md | 46 + .../problem-404-crisscross-ellipses.md | 54 + .../problem-405-a-rectangular-tiling.md | 52 + .../problem-406-guessing-game.md | 68 + .../problem-407-idempotents.md | 44 + ...lem-408-admissible-paths-through-a-grid.md | 46 + .../problem-409-nim-extreme.md | 48 + .../problem-410-circle-and-tangent-line.md | 46 + .../problem-411-uphill-paths.md | 50 + .../problem-412-gnomon-numbering.md | 52 + .../problem-413-one-child-numbers.md | 46 + .../problem-414-kaprekar-constant.md | 64 + .../problem-415-titanic-sets.md | 46 + .../problem-416-a-frogs-trip.md | 44 + .../problem-417-reciprocal-cycles-ii.md | 53 + .../problem-418-factorisation-triples.md | 47 + .../problem-419-look-and-say-sequence.md | 65 + ...problem-420-2x2-positive-integer-matrix.md | 55 + .../problem-421-prime-factors-of-n151.md | 50 + ...m-422-sequence-of-points-on-a-hyperbola.md | 54 + .../problem-423-consecutive-die-throws.md | 59 + .../problem-424-kakuro.md | 77 ++ .../problem-425-prime-connection.md | 53 + .../problem-426-box-ball-system.md | 61 + .../problem-427-n-sequences.md | 48 + .../problem-428-necklace-of-circles.md | 59 + ...-429-sum-of-squares-of-unitary-divisors.md | 46 + .../problem-430-range-flips.md | 50 + .../problem-431-square-space-silo.md | 48 + .../problem-432-totient-sum.md | 42 + .../problem-433-steps-in-euclids-algorithm.md | 51 + .../problem-434-rigid-graphs.md | 66 + ...em-435-polynomials-of-fibonacci-numbers.md | 44 + .../problem-436-unfair-wager.md | 56 + .../problem-437-fibonacci-primitive-roots.md | 56 + ...-part-of-polynomial-equations-solutions.md | 51 + .../problem-439-sum-of-sum-of-divisors.md | 46 + .../problem-440-gcd-and-tiling.md | 57 + ...he-inverse-summation-of-coprime-couples.md | 48 + .../problem-442-eleven-free-integers.md | 44 + .../problem-443-gcd-sequence.md | 50 + .../problem-444-the-roundtable-lottery.md | 61 + .../problem-445-retractions-a.md | 50 + .../problem-446-retractions-b.md | 50 + .../problem-447-retractions-c.md | 50 + ...oblem-448-average-least-common-multiple.md | 48 + .../problem-449-chocolate-covered-candy.md | 46 + ...blem-450-hypocycloid-and-lattice-points.md | 63 + .../problem-451-modular-inverses.md | 55 + .../problem-452-long-products.md | 44 + .../problem-453-lattice-quadrilaterals.md | 48 + ...problem-454-diophantine-reciprocals-iii.md | 46 + ...problem-455-powers-with-trailing-digits.md | 46 + ...-456-triangles-containing-the-origin-ii.md | 52 + ...polynomial-modulo-the-square-of-a-prime.md | 46 + .../problem-458-permutations-of-project.md | 44 + .../problem-459-flipping-game.md | 62 + .../problem-460-an-ant-on-the-move.md | 57 + .../problem-461-almost-pi.md | 153 +++ ...lem-462-permutation-of-3-smooth-numbers.md | 58 + ...problem-463-a-weird-recurrence-relation.md | 48 + ...roblem-464-mbius-function-and-intervals.md | 57 + .../problem-465-polar-polygons.md | 54 + ...istinct-terms-in-a-multiplication-table.md | 54 + .../problem-467-superinteger.md | 59 + ...mooth-divisors-of-binomial-coefficients.md | 54 + .../problem-469-empty-chairs.md | 48 + .../problem-470-super-ramvok.md | 50 + ...oblem-471-triangle-inscribed-in-ellipse.md | 60 + .../problem-472-comfortable-distance-ii.md | 56 + .../problem-473-phigital-number-base.md | 56 + .../problem-474-last-digits-of-divisors.md | 44 + .../problem-475-music-festival.md | 48 + .../problem-476-circle-packing-ii.md | 44 + .../problem-477-number-sequence-game.md | 62 + .../problem-478-mixtures.md | 56 + .../problem-479-roots-on-the-rise.md | 46 + .../problem-480-the-last-question.md | 82 ++ .../basic-javascript/record-collection.md | 37 +- .../60f805f813eaf2049bc2ceea.md | 12 +- .../5ddb965c65d27e1512d44d9a.md | 122 ++ .../63b606f09a14cc1781aea1fb.md | 146 +++ .../63b6075a62883218d282504c.md | 131 ++ .../63b607af6fcdb119aae9b16a.md | 168 +++ .../63b60821c855d01b1eda3c0b.md | 164 +++ .../63b6088bb56e2d1cac364043.md | 168 +++ .../63b608ebf40c871d960fc004.md | 214 ++++ .../63b60a140bf5a321d50a7315.md | 163 +++ .../63b60aaaa65f8922bfce6b7e.md | 210 ++++ .../63b60af1a0b9f7238a9dd294.md | 220 ++++ .../63b60c09c5039f25a3b2dda9.md | 207 ++++ .../63b60ca38c897f2721b27959.md | 182 +++ .../63b60cfaca25bb27edd40f62.md | 170 +++ .../63b60d3c5048302906962231.md | 176 +++ .../63b613f367584d2a5d041b7d.md | 195 +++ .../63b61490e633a22b4593e62f.md | 215 ++++ .../63b614e6a1f7fe2cef6312dc.md | 182 +++ .../63b6152e6aff882db819fc1e.md | 192 +++ .../63b61584def8fa2ebcc259e0.md | 182 +++ .../63bf43be3f969d24d4ed233c.md | 181 +++ .../63bf446945d34d25e6db6e4f.md | 195 +++ .../63bf45ce0dc8d4270760c6d0.md | 200 +++ .../63bf461011fca327d3b60fa8.md | 213 ++++ .../63bf47fd40599f29827f484d.md | 176 +++ .../63bf492b6dfb292a79f0e675.md | 174 +++ .../63bf4bfe9de3852be51c8f86.md | 188 +++ .../63bf4d351e06432ce9bf3627.md | 180 +++ .../63bf511b85b6082e54dc1573.md | 199 +++ .../63bf5230bccd1c2f5c13e1ce.md | 191 +++ .../63bf598a4c807930a13a1a27.md | 185 +++ .../63bf5a518d54f63181ab639a.md | 179 +++ .../63bf5a92fd148d3264d5322b.md | 187 +++ .../63bf5adfe2981b332eb007b6.md | 185 +++ .../63bf5bcfebff0734593fad19.md | 185 +++ .../63bf5c438f523a359769106c.md | 194 +++ .../63bf5cf03b50bf36cfbe94ea.md | 194 +++ .../63c1dfbd56c71e278800010c.md | 198 +++ .../63c1e0af28078f2dfad9eb3e.md | 203 +++ .../63c1e1965a898d302e0af4e3.md | 203 +++ .../63c1e5b4b3c8a031def3bd65.md | 197 +++ .../63c1e704ee12703347625900.md | 197 +++ .../63c2164c0df38a382062c4af.md | 201 +++ .../63c216da562fbb3957b9cb2c.md | 192 +++ .../63c2171c1e5b6e3aa51768d0.md | 198 +++ .../63c21774193de43bbc6a769f.md | 193 +++ .../63c217ccd939053ce4fa16d6.md | 217 ++++ .../63c21839f56eaf3ef4e027c4.md | 228 ++++ .../63c2187f55eb0f400269568f.md | 238 ++++ .../63c218c028c56a411b2a379a.md | 208 ++++ .../63c2194dce265f429300c8b1.md | 200 +++ .../63c21c17fa8fd6447ff0389d.md | 212 ++++ .../63c21cd2c34541469f5700a9.md | 208 ++++ .../63c21d4f48267a47c2946788.md | 216 ++++ .../63c21dea919c8e4adb0df8e8.md | 212 ++++ .../63c8ab51214c8c1f1b9a49f7.md | 216 ++++ .../63c8ad0cd8f1e5201c4ef2e4.md | 224 ++++ .../63c8b0187cceff21c8389543.md | 234 ++++ .../63c8be904ffff922f3c6f8d0.md | 221 ++++ .../63c8c00bfb671b23f9de4159.md | 219 ++++ .../63c8c15fd337ad24b9b68049.md | 233 ++++ .../63c9bc53735149084390e5d0.md | 226 ++++ .../63c9bcc26219e7090da0f549.md | 218 ++++ .../63c9bce376ca4f09c15a3768.md | 234 ++++ .../63c9bdd916e0c10af01ed8d7.md | 221 ++++ .../63c9be334f4a050c0b94bc93.md | 229 ++++ .../63c9bef7fec05c0d38853828.md | 227 ++++ .../63c9bf80558d780e848b2987.md | 236 ++++ .../63c9c09a7daa4f0ff92c4023.md | 235 ++++ .../63c9c0d0857f0a10a57af936.md | 272 ++++ .../63c9c11a0a090311dff55564.md | 242 ++++ .../63c9c16dd75dd212dc12363c.md | 241 ++++ .../63c9c1ef134f3513e751c975.md | 278 +++++ .../63c9e3a83bb3e61a80eea564.md | 249 ++++ .../63c9e45519caf31b987fbb5f.md | 247 ++++ .../63c9e4d2ff41811dd640504f.md | 257 ++++ .../63c9e51b3a007a1eba1cd0f6.md | 252 ++++ .../63c9e55b4b06c11fff555c64.md | 267 ++++ .../63c9e5eea8261d22856ead1c.md | 250 ++++ .../63c9e63bb1e32d23b6adbe44.md | 266 ++++ .../63c9e6b7c0303524af2d0bc2.md | 245 ++++ .../63c9e769df38c92635c158ba.md | 254 ++++ .../63c9e7d5b21eee2776ecc226.md | 262 ++++ .../63c9e84c9fe8ca28c4101189.md | 270 ++++ .../63c9e8fe3a6f022a05a04675.md | 269 ++++ .../63c9e94e9df7d72aed1c24bd.md | 264 ++++ .../63c9ea23dbadbf2c2764e3f5.md | 265 ++++ .../63c9ea9b16430f2d54522464.md | 265 ++++ .../63c9eb09bcfaa72e3da820a1.md | 267 ++++ .../63c9eb4a5d68f12f32d9b440.md | 263 ++++ .../63c9ebb7b12bca3025b0a935.md | 276 +++++ .../63c9ec044acedf312c4974ff.md | 275 +++++ .../63c9f24afbc9cf324dcaa9a4.md | 276 +++++ .../63c9f28bda3e3f336e21b6b4.md | 277 +++++ .../63c9f2bff625af342023512c.md | 520 ++++++++ .../build-a-data-graph-explorer.md | 0 .../build-a-financial-calculator.md | 0 .../build-a-graphing-calculator.md | 0 .../build-a-multi-function-calculator.md | 0 .../build-three-math-games.md | 0 .../manipulate-arrays-with-unshift.md | 2 +- .../basic-javascript/record-collection.md | 37 +- .../understanding-boolean-values.md | 2 +- .../basic-javascript/word-blanks.md | 18 +- ...rest-parameter-with-function-parameters.md | 2 +- .../reuse-patterns-using-capture-groups.md | 4 +- .../visualize-data-with-a-bar-chart.md | 14 +- .../visualize-data-with-a-choropleth-map.md | 2 +- .../60f805f813eaf2049bc2ceea.md | 12 +- .../5ddb965c65d27e1512d44d9a.md | 122 ++ .../63b606f09a14cc1781aea1fb.md | 146 +++ .../63b6075a62883218d282504c.md | 131 ++ .../63b607af6fcdb119aae9b16a.md | 168 +++ .../63b60821c855d01b1eda3c0b.md | 164 +++ .../63b6088bb56e2d1cac364043.md | 168 +++ .../63b608ebf40c871d960fc004.md | 214 ++++ .../63b60a140bf5a321d50a7315.md | 163 +++ .../63b60aaaa65f8922bfce6b7e.md | 210 ++++ .../63b60af1a0b9f7238a9dd294.md | 220 ++++ .../63b60c09c5039f25a3b2dda9.md | 207 ++++ .../63b60ca38c897f2721b27959.md | 182 +++ .../63b60cfaca25bb27edd40f62.md | 170 +++ .../63b60d3c5048302906962231.md | 176 +++ .../63b613f367584d2a5d041b7d.md | 195 +++ .../63b61490e633a22b4593e62f.md | 215 ++++ .../63b614e6a1f7fe2cef6312dc.md | 182 +++ .../63b6152e6aff882db819fc1e.md | 192 +++ .../63b61584def8fa2ebcc259e0.md | 182 +++ .../63bf43be3f969d24d4ed233c.md | 181 +++ .../63bf446945d34d25e6db6e4f.md | 195 +++ .../63bf45ce0dc8d4270760c6d0.md | 200 +++ .../63bf461011fca327d3b60fa8.md | 213 ++++ .../63bf47fd40599f29827f484d.md | 176 +++ .../63bf492b6dfb292a79f0e675.md | 174 +++ .../63bf4bfe9de3852be51c8f86.md | 188 +++ .../63bf4d351e06432ce9bf3627.md | 180 +++ .../63bf511b85b6082e54dc1573.md | 199 +++ .../63bf5230bccd1c2f5c13e1ce.md | 191 +++ .../63bf598a4c807930a13a1a27.md | 185 +++ .../63bf5a518d54f63181ab639a.md | 179 +++ .../63bf5a92fd148d3264d5322b.md | 187 +++ .../63bf5adfe2981b332eb007b6.md | 185 +++ .../63bf5bcfebff0734593fad19.md | 185 +++ .../63bf5c438f523a359769106c.md | 194 +++ .../63bf5cf03b50bf36cfbe94ea.md | 194 +++ .../63c1dfbd56c71e278800010c.md | 198 +++ .../63c1e0af28078f2dfad9eb3e.md | 203 +++ .../63c1e1965a898d302e0af4e3.md | 203 +++ .../63c1e5b4b3c8a031def3bd65.md | 197 +++ .../63c1e704ee12703347625900.md | 197 +++ .../63c2164c0df38a382062c4af.md | 201 +++ .../63c216da562fbb3957b9cb2c.md | 192 +++ .../63c2171c1e5b6e3aa51768d0.md | 198 +++ .../63c21774193de43bbc6a769f.md | 193 +++ .../63c217ccd939053ce4fa16d6.md | 217 ++++ .../63c21839f56eaf3ef4e027c4.md | 228 ++++ .../63c2187f55eb0f400269568f.md | 238 ++++ .../63c218c028c56a411b2a379a.md | 208 ++++ .../63c2194dce265f429300c8b1.md | 200 +++ .../63c21c17fa8fd6447ff0389d.md | 212 ++++ .../63c21cd2c34541469f5700a9.md | 208 ++++ .../63c21d4f48267a47c2946788.md | 216 ++++ .../63c21dea919c8e4adb0df8e8.md | 212 ++++ .../63c8ab51214c8c1f1b9a49f7.md | 216 ++++ .../63c8ad0cd8f1e5201c4ef2e4.md | 224 ++++ .../63c8b0187cceff21c8389543.md | 234 ++++ .../63c8be904ffff922f3c6f8d0.md | 221 ++++ .../63c8c00bfb671b23f9de4159.md | 219 ++++ .../63c8c15fd337ad24b9b68049.md | 233 ++++ .../63c9bc53735149084390e5d0.md | 226 ++++ .../63c9bcc26219e7090da0f549.md | 218 ++++ .../63c9bce376ca4f09c15a3768.md | 234 ++++ .../63c9bdd916e0c10af01ed8d7.md | 221 ++++ .../63c9be334f4a050c0b94bc93.md | 229 ++++ .../63c9bef7fec05c0d38853828.md | 227 ++++ .../63c9bf80558d780e848b2987.md | 236 ++++ .../63c9c09a7daa4f0ff92c4023.md | 235 ++++ .../63c9c0d0857f0a10a57af936.md | 272 ++++ .../63c9c11a0a090311dff55564.md | 242 ++++ .../63c9c16dd75dd212dc12363c.md | 241 ++++ .../63c9c1ef134f3513e751c975.md | 278 +++++ .../63c9e3a83bb3e61a80eea564.md | 249 ++++ .../63c9e45519caf31b987fbb5f.md | 247 ++++ .../63c9e4d2ff41811dd640504f.md | 257 ++++ .../63c9e51b3a007a1eba1cd0f6.md | 252 ++++ .../63c9e55b4b06c11fff555c64.md | 267 ++++ .../63c9e5eea8261d22856ead1c.md | 250 ++++ .../63c9e63bb1e32d23b6adbe44.md | 266 ++++ .../63c9e6b7c0303524af2d0bc2.md | 245 ++++ .../63c9e769df38c92635c158ba.md | 254 ++++ .../63c9e7d5b21eee2776ecc226.md | 262 ++++ .../63c9e84c9fe8ca28c4101189.md | 270 ++++ .../63c9e8fe3a6f022a05a04675.md | 269 ++++ .../63c9e94e9df7d72aed1c24bd.md | 264 ++++ .../63c9ea23dbadbf2c2764e3f5.md | 265 ++++ .../63c9ea9b16430f2d54522464.md | 265 ++++ .../63c9eb09bcfaa72e3da820a1.md | 267 ++++ .../63c9eb4a5d68f12f32d9b440.md | 263 ++++ .../63c9ebb7b12bca3025b0a935.md | 276 +++++ .../63c9ec044acedf312c4974ff.md | 275 +++++ .../63c9f24afbc9cf324dcaa9a4.md | 276 +++++ .../63c9f28bda3e3f336e21b6b4.md | 277 +++++ .../63c9f2bff625af342023512c.md | 520 ++++++++ .../top-build-a-recipe-project.md | 2 +- .../build-a-data-graph-explorer.md | 0 .../build-a-financial-calculator.md | 0 .../build-a-graphing-calculator.md | 0 .../build-a-multi-function-calculator.md | 0 .../build-three-math-games.md | 0 ...s-multi-dimensional-arrays-with-indexes.md | 2 +- .../basic-javascript/record-collection.md | 37 +- .../using-objects-for-lookups.md | 2 +- .../basic-javascript/word-blanks.md | 16 +- ...rest-parameter-with-function-parameters.md | 2 +- .../add-attributes-to-the-circle-elements.md | 6 +- .../add-axes-to-a-visualization.md | 4 +- .../add-document-elements-with-d3.md | 2 +- .../add-labels-to-d3-elements.md | 2 +- .../add-labels-to-scatter-plot-circles.md | 2 +- .../create-a-linear-scale-with-d3.md | 4 +- .../create-a-scatterplot-with-svg-circles.md | 2 +- .../set-a-domain-and-a-range-on-a-scale.md | 8 +- ...te-the-height-of-an-element-dynamically.md | 6 +- ...e-a-pre-defined-scale-to-place-elements.md | 6 +- .../use-dynamic-scales.md | 6 +- ...h-javascript-using-the-onclick-property.md | 2 +- .../file-metadata-microservice.md | 2 +- .../request-header-parser-microservice.md | 2 +- ...-query-helpers-to-narrow-search-results.md | 6 +- .../create-and-save-a-record-of-a-model.md | 2 +- .../create-many-records-with-model.create.md | 2 +- ...delete-many-documents-with-model.remove.md | 4 +- ...-document-using-model.findbyidandremove.md | 2 +- .../install-and-set-up-mongoose.md | 4 +- ...-updates-by-running-find-edit-then-save.md | 2 +- ...a-document-using-model.findoneandupdate.md | 4 +- .../use-model.find-to-search-your-database.md | 2 +- ....findbyid-to-search-your-database-by-id.md | 2 +- ...le-matching-document-from-your-database.md | 2 +- .../how-to-use-passport-strategies.md | 4 +- ...ementation-of-social-authentication-iii.md | 10 +- .../send-and-display-chat-messages.md | 2 +- .../test-if-a-value-is-an-array.md | 6 +- .../american-british-translator.md | 24 +- .../sudoku-solver.md | 2 +- .../6145e8b5080a5f06bb0223d0.md | 2 +- .../60f805f813eaf2049bc2ceea.md | 12 +- .../5ddb965c65d27e1512d44d9a.md | 122 ++ .../63b606f09a14cc1781aea1fb.md | 146 +++ .../63b6075a62883218d282504c.md | 131 ++ .../63b607af6fcdb119aae9b16a.md | 168 +++ .../63b60821c855d01b1eda3c0b.md | 164 +++ .../63b6088bb56e2d1cac364043.md | 168 +++ .../63b608ebf40c871d960fc004.md | 214 ++++ .../63b60a140bf5a321d50a7315.md | 163 +++ .../63b60aaaa65f8922bfce6b7e.md | 210 ++++ .../63b60af1a0b9f7238a9dd294.md | 220 ++++ .../63b60c09c5039f25a3b2dda9.md | 207 ++++ .../63b60ca38c897f2721b27959.md | 182 +++ .../63b60cfaca25bb27edd40f62.md | 170 +++ .../63b60d3c5048302906962231.md | 176 +++ .../63b613f367584d2a5d041b7d.md | 195 +++ .../63b61490e633a22b4593e62f.md | 215 ++++ .../63b614e6a1f7fe2cef6312dc.md | 182 +++ .../63b6152e6aff882db819fc1e.md | 192 +++ .../63b61584def8fa2ebcc259e0.md | 182 +++ .../63bf43be3f969d24d4ed233c.md | 181 +++ .../63bf446945d34d25e6db6e4f.md | 195 +++ .../63bf45ce0dc8d4270760c6d0.md | 200 +++ .../63bf461011fca327d3b60fa8.md | 213 ++++ .../63bf47fd40599f29827f484d.md | 176 +++ .../63bf492b6dfb292a79f0e675.md | 174 +++ .../63bf4bfe9de3852be51c8f86.md | 188 +++ .../63bf4d351e06432ce9bf3627.md | 180 +++ .../63bf511b85b6082e54dc1573.md | 199 +++ .../63bf5230bccd1c2f5c13e1ce.md | 191 +++ .../63bf598a4c807930a13a1a27.md | 185 +++ .../63bf5a518d54f63181ab639a.md | 179 +++ .../63bf5a92fd148d3264d5322b.md | 187 +++ .../63bf5adfe2981b332eb007b6.md | 185 +++ .../63bf5bcfebff0734593fad19.md | 185 +++ .../63bf5c438f523a359769106c.md | 194 +++ .../63bf5cf03b50bf36cfbe94ea.md | 194 +++ .../63c1dfbd56c71e278800010c.md | 198 +++ .../63c1e0af28078f2dfad9eb3e.md | 203 +++ .../63c1e1965a898d302e0af4e3.md | 203 +++ .../63c1e5b4b3c8a031def3bd65.md | 197 +++ .../63c1e704ee12703347625900.md | 197 +++ .../63c2164c0df38a382062c4af.md | 201 +++ .../63c216da562fbb3957b9cb2c.md | 192 +++ .../63c2171c1e5b6e3aa51768d0.md | 198 +++ .../63c21774193de43bbc6a769f.md | 193 +++ .../63c217ccd939053ce4fa16d6.md | 217 ++++ .../63c21839f56eaf3ef4e027c4.md | 228 ++++ .../63c2187f55eb0f400269568f.md | 238 ++++ .../63c218c028c56a411b2a379a.md | 208 ++++ .../63c2194dce265f429300c8b1.md | 200 +++ .../63c21c17fa8fd6447ff0389d.md | 212 ++++ .../63c21cd2c34541469f5700a9.md | 208 ++++ .../63c21d4f48267a47c2946788.md | 216 ++++ .../63c21dea919c8e4adb0df8e8.md | 212 ++++ .../63c8ab51214c8c1f1b9a49f7.md | 216 ++++ .../63c8ad0cd8f1e5201c4ef2e4.md | 224 ++++ .../63c8b0187cceff21c8389543.md | 234 ++++ .../63c8be904ffff922f3c6f8d0.md | 221 ++++ .../63c8c00bfb671b23f9de4159.md | 219 ++++ .../63c8c15fd337ad24b9b68049.md | 233 ++++ .../63c9bc53735149084390e5d0.md | 226 ++++ .../63c9bcc26219e7090da0f549.md | 218 ++++ .../63c9bce376ca4f09c15a3768.md | 234 ++++ .../63c9bdd916e0c10af01ed8d7.md | 221 ++++ .../63c9be334f4a050c0b94bc93.md | 229 ++++ .../63c9bef7fec05c0d38853828.md | 227 ++++ .../63c9bf80558d780e848b2987.md | 236 ++++ .../63c9c09a7daa4f0ff92c4023.md | 235 ++++ .../63c9c0d0857f0a10a57af936.md | 272 ++++ .../63c9c11a0a090311dff55564.md | 242 ++++ .../63c9c16dd75dd212dc12363c.md | 241 ++++ .../63c9c1ef134f3513e751c975.md | 278 +++++ .../63c9e3a83bb3e61a80eea564.md | 249 ++++ .../63c9e45519caf31b987fbb5f.md | 247 ++++ .../63c9e4d2ff41811dd640504f.md | 257 ++++ .../63c9e51b3a007a1eba1cd0f6.md | 252 ++++ .../63c9e55b4b06c11fff555c64.md | 267 ++++ .../63c9e5eea8261d22856ead1c.md | 250 ++++ .../63c9e63bb1e32d23b6adbe44.md | 266 ++++ .../63c9e6b7c0303524af2d0bc2.md | 245 ++++ .../63c9e769df38c92635c158ba.md | 254 ++++ .../63c9e7d5b21eee2776ecc226.md | 262 ++++ .../63c9e84c9fe8ca28c4101189.md | 270 ++++ .../63c9e8fe3a6f022a05a04675.md | 269 ++++ .../63c9e94e9df7d72aed1c24bd.md | 264 ++++ .../63c9ea23dbadbf2c2764e3f5.md | 265 ++++ .../63c9ea9b16430f2d54522464.md | 265 ++++ .../63c9eb09bcfaa72e3da820a1.md | 267 ++++ .../63c9eb4a5d68f12f32d9b440.md | 263 ++++ .../63c9ebb7b12bca3025b0a935.md | 276 +++++ .../63c9ec044acedf312c4974ff.md | 275 +++++ .../63c9f24afbc9cf324dcaa9a4.md | 276 +++++ .../63c9f28bda3e3f336e21b6b4.md | 277 +++++ .../63c9f2bff625af342023512c.md | 520 ++++++++ .../build-a-data-graph-explorer.md | 0 .../build-a-financial-calculator.md | 0 .../build-a-graphing-calculator.md | 0 .../build-a-multi-function-calculator.md | 0 .../build-three-math-games.md | 0 .../basic-javascript/record-collection.md | 37 +- .../60f805f813eaf2049bc2ceea.md | 12 +- .../5ddb965c65d27e1512d44d9a.md | 122 ++ .../63b606f09a14cc1781aea1fb.md | 146 +++ .../63b6075a62883218d282504c.md | 131 ++ .../63b607af6fcdb119aae9b16a.md | 168 +++ .../63b60821c855d01b1eda3c0b.md | 164 +++ .../63b6088bb56e2d1cac364043.md | 168 +++ .../63b608ebf40c871d960fc004.md | 214 ++++ .../63b60a140bf5a321d50a7315.md | 163 +++ .../63b60aaaa65f8922bfce6b7e.md | 210 ++++ .../63b60af1a0b9f7238a9dd294.md | 220 ++++ .../63b60c09c5039f25a3b2dda9.md | 207 ++++ .../63b60ca38c897f2721b27959.md | 182 +++ .../63b60cfaca25bb27edd40f62.md | 170 +++ .../63b60d3c5048302906962231.md | 176 +++ .../63b613f367584d2a5d041b7d.md | 195 +++ .../63b61490e633a22b4593e62f.md | 215 ++++ .../63b614e6a1f7fe2cef6312dc.md | 182 +++ .../63b6152e6aff882db819fc1e.md | 192 +++ .../63b61584def8fa2ebcc259e0.md | 182 +++ .../63bf43be3f969d24d4ed233c.md | 181 +++ .../63bf446945d34d25e6db6e4f.md | 195 +++ .../63bf45ce0dc8d4270760c6d0.md | 200 +++ .../63bf461011fca327d3b60fa8.md | 213 ++++ .../63bf47fd40599f29827f484d.md | 176 +++ .../63bf492b6dfb292a79f0e675.md | 174 +++ .../63bf4bfe9de3852be51c8f86.md | 188 +++ .../63bf4d351e06432ce9bf3627.md | 180 +++ .../63bf511b85b6082e54dc1573.md | 199 +++ .../63bf5230bccd1c2f5c13e1ce.md | 191 +++ .../63bf598a4c807930a13a1a27.md | 185 +++ .../63bf5a518d54f63181ab639a.md | 179 +++ .../63bf5a92fd148d3264d5322b.md | 187 +++ .../63bf5adfe2981b332eb007b6.md | 185 +++ .../63bf5bcfebff0734593fad19.md | 185 +++ .../63bf5c438f523a359769106c.md | 194 +++ .../63bf5cf03b50bf36cfbe94ea.md | 194 +++ .../63c1dfbd56c71e278800010c.md | 198 +++ .../63c1e0af28078f2dfad9eb3e.md | 203 +++ .../63c1e1965a898d302e0af4e3.md | 203 +++ .../63c1e5b4b3c8a031def3bd65.md | 197 +++ .../63c1e704ee12703347625900.md | 197 +++ .../63c2164c0df38a382062c4af.md | 201 +++ .../63c216da562fbb3957b9cb2c.md | 192 +++ .../63c2171c1e5b6e3aa51768d0.md | 198 +++ .../63c21774193de43bbc6a769f.md | 193 +++ .../63c217ccd939053ce4fa16d6.md | 217 ++++ .../63c21839f56eaf3ef4e027c4.md | 228 ++++ .../63c2187f55eb0f400269568f.md | 238 ++++ .../63c218c028c56a411b2a379a.md | 208 ++++ .../63c2194dce265f429300c8b1.md | 200 +++ .../63c21c17fa8fd6447ff0389d.md | 212 ++++ .../63c21cd2c34541469f5700a9.md | 208 ++++ .../63c21d4f48267a47c2946788.md | 216 ++++ .../63c21dea919c8e4adb0df8e8.md | 212 ++++ .../63c8ab51214c8c1f1b9a49f7.md | 216 ++++ .../63c8ad0cd8f1e5201c4ef2e4.md | 224 ++++ .../63c8b0187cceff21c8389543.md | 234 ++++ .../63c8be904ffff922f3c6f8d0.md | 221 ++++ .../63c8c00bfb671b23f9de4159.md | 219 ++++ .../63c8c15fd337ad24b9b68049.md | 233 ++++ .../63c9bc53735149084390e5d0.md | 226 ++++ .../63c9bcc26219e7090da0f549.md | 218 ++++ .../63c9bce376ca4f09c15a3768.md | 234 ++++ .../63c9bdd916e0c10af01ed8d7.md | 221 ++++ .../63c9be334f4a050c0b94bc93.md | 229 ++++ .../63c9bef7fec05c0d38853828.md | 227 ++++ .../63c9bf80558d780e848b2987.md | 236 ++++ .../63c9c09a7daa4f0ff92c4023.md | 235 ++++ .../63c9c0d0857f0a10a57af936.md | 272 ++++ .../63c9c11a0a090311dff55564.md | 242 ++++ .../63c9c16dd75dd212dc12363c.md | 241 ++++ .../63c9c1ef134f3513e751c975.md | 278 +++++ .../63c9e3a83bb3e61a80eea564.md | 249 ++++ .../63c9e45519caf31b987fbb5f.md | 247 ++++ .../63c9e4d2ff41811dd640504f.md | 257 ++++ .../63c9e51b3a007a1eba1cd0f6.md | 252 ++++ .../63c9e55b4b06c11fff555c64.md | 267 ++++ .../63c9e5eea8261d22856ead1c.md | 250 ++++ .../63c9e63bb1e32d23b6adbe44.md | 266 ++++ .../63c9e6b7c0303524af2d0bc2.md | 245 ++++ .../63c9e769df38c92635c158ba.md | 254 ++++ .../63c9e7d5b21eee2776ecc226.md | 262 ++++ .../63c9e84c9fe8ca28c4101189.md | 270 ++++ .../63c9e8fe3a6f022a05a04675.md | 269 ++++ .../63c9e94e9df7d72aed1c24bd.md | 264 ++++ .../63c9ea23dbadbf2c2764e3f5.md | 265 ++++ .../63c9ea9b16430f2d54522464.md | 265 ++++ .../63c9eb09bcfaa72e3da820a1.md | 267 ++++ .../63c9eb4a5d68f12f32d9b440.md | 263 ++++ .../63c9ebb7b12bca3025b0a935.md | 276 +++++ .../63c9ec044acedf312c4974ff.md | 275 +++++ .../63c9f24afbc9cf324dcaa9a4.md | 276 +++++ .../63c9f28bda3e3f336e21b6b4.md | 277 +++++ .../63c9f2bff625af342023512c.md | 520 ++++++++ .../build-a-data-graph-explorer.md | 0 .../build-a-financial-calculator.md | 0 .../build-a-graphing-calculator.md | 0 .../build-a-multi-function-calculator.md | 0 .../build-three-math-games.md | 0 .../basic-javascript/record-collection.md | 37 +- .../60f805f813eaf2049bc2ceea.md | 12 +- .../5ddb965c65d27e1512d44d9a.md | 122 ++ .../63b606f09a14cc1781aea1fb.md | 146 +++ .../63b6075a62883218d282504c.md | 131 ++ .../63b607af6fcdb119aae9b16a.md | 168 +++ .../63b60821c855d01b1eda3c0b.md | 164 +++ .../63b6088bb56e2d1cac364043.md | 168 +++ .../63b608ebf40c871d960fc004.md | 214 ++++ .../63b60a140bf5a321d50a7315.md | 163 +++ .../63b60aaaa65f8922bfce6b7e.md | 210 ++++ .../63b60af1a0b9f7238a9dd294.md | 220 ++++ .../63b60c09c5039f25a3b2dda9.md | 207 ++++ .../63b60ca38c897f2721b27959.md | 182 +++ .../63b60cfaca25bb27edd40f62.md | 170 +++ .../63b60d3c5048302906962231.md | 176 +++ .../63b613f367584d2a5d041b7d.md | 195 +++ .../63b61490e633a22b4593e62f.md | 215 ++++ .../63b614e6a1f7fe2cef6312dc.md | 182 +++ .../63b6152e6aff882db819fc1e.md | 192 +++ .../63b61584def8fa2ebcc259e0.md | 182 +++ .../63bf43be3f969d24d4ed233c.md | 181 +++ .../63bf446945d34d25e6db6e4f.md | 195 +++ .../63bf45ce0dc8d4270760c6d0.md | 200 +++ .../63bf461011fca327d3b60fa8.md | 213 ++++ .../63bf47fd40599f29827f484d.md | 176 +++ .../63bf492b6dfb292a79f0e675.md | 174 +++ .../63bf4bfe9de3852be51c8f86.md | 188 +++ .../63bf4d351e06432ce9bf3627.md | 180 +++ .../63bf511b85b6082e54dc1573.md | 199 +++ .../63bf5230bccd1c2f5c13e1ce.md | 191 +++ .../63bf598a4c807930a13a1a27.md | 185 +++ .../63bf5a518d54f63181ab639a.md | 179 +++ .../63bf5a92fd148d3264d5322b.md | 187 +++ .../63bf5adfe2981b332eb007b6.md | 185 +++ .../63bf5bcfebff0734593fad19.md | 185 +++ .../63bf5c438f523a359769106c.md | 194 +++ .../63bf5cf03b50bf36cfbe94ea.md | 194 +++ .../63c1dfbd56c71e278800010c.md | 198 +++ .../63c1e0af28078f2dfad9eb3e.md | 203 +++ .../63c1e1965a898d302e0af4e3.md | 203 +++ .../63c1e5b4b3c8a031def3bd65.md | 197 +++ .../63c1e704ee12703347625900.md | 197 +++ .../63c2164c0df38a382062c4af.md | 201 +++ .../63c216da562fbb3957b9cb2c.md | 192 +++ .../63c2171c1e5b6e3aa51768d0.md | 198 +++ .../63c21774193de43bbc6a769f.md | 193 +++ .../63c217ccd939053ce4fa16d6.md | 217 ++++ .../63c21839f56eaf3ef4e027c4.md | 228 ++++ .../63c2187f55eb0f400269568f.md | 238 ++++ .../63c218c028c56a411b2a379a.md | 208 ++++ .../63c2194dce265f429300c8b1.md | 200 +++ .../63c21c17fa8fd6447ff0389d.md | 212 ++++ .../63c21cd2c34541469f5700a9.md | 208 ++++ .../63c21d4f48267a47c2946788.md | 216 ++++ .../63c21dea919c8e4adb0df8e8.md | 212 ++++ .../63c8ab51214c8c1f1b9a49f7.md | 216 ++++ .../63c8ad0cd8f1e5201c4ef2e4.md | 224 ++++ .../63c8b0187cceff21c8389543.md | 234 ++++ .../63c8be904ffff922f3c6f8d0.md | 221 ++++ .../63c8c00bfb671b23f9de4159.md | 219 ++++ .../63c8c15fd337ad24b9b68049.md | 233 ++++ .../63c9bc53735149084390e5d0.md | 226 ++++ .../63c9bcc26219e7090da0f549.md | 218 ++++ .../63c9bce376ca4f09c15a3768.md | 234 ++++ .../63c9bdd916e0c10af01ed8d7.md | 221 ++++ .../63c9be334f4a050c0b94bc93.md | 229 ++++ .../63c9bef7fec05c0d38853828.md | 227 ++++ .../63c9bf80558d780e848b2987.md | 236 ++++ .../63c9c09a7daa4f0ff92c4023.md | 235 ++++ .../63c9c0d0857f0a10a57af936.md | 272 ++++ .../63c9c11a0a090311dff55564.md | 242 ++++ .../63c9c16dd75dd212dc12363c.md | 241 ++++ .../63c9c1ef134f3513e751c975.md | 278 +++++ .../63c9e3a83bb3e61a80eea564.md | 249 ++++ .../63c9e45519caf31b987fbb5f.md | 247 ++++ .../63c9e4d2ff41811dd640504f.md | 257 ++++ .../63c9e51b3a007a1eba1cd0f6.md | 252 ++++ .../63c9e55b4b06c11fff555c64.md | 267 ++++ .../63c9e5eea8261d22856ead1c.md | 250 ++++ .../63c9e63bb1e32d23b6adbe44.md | 266 ++++ .../63c9e6b7c0303524af2d0bc2.md | 245 ++++ .../63c9e769df38c92635c158ba.md | 254 ++++ .../63c9e7d5b21eee2776ecc226.md | 262 ++++ .../63c9e84c9fe8ca28c4101189.md | 270 ++++ .../63c9e8fe3a6f022a05a04675.md | 269 ++++ .../63c9e94e9df7d72aed1c24bd.md | 264 ++++ .../63c9ea23dbadbf2c2764e3f5.md | 265 ++++ .../63c9ea9b16430f2d54522464.md | 265 ++++ .../63c9eb09bcfaa72e3da820a1.md | 267 ++++ .../63c9eb4a5d68f12f32d9b440.md | 263 ++++ .../63c9ebb7b12bca3025b0a935.md | 276 +++++ .../63c9ec044acedf312c4974ff.md | 275 +++++ .../63c9f24afbc9cf324dcaa9a4.md | 276 +++++ .../63c9f28bda3e3f336e21b6b4.md | 277 +++++ .../63c9f2bff625af342023512c.md | 520 ++++++++ .../build-a-data-graph-explorer.md | 0 .../build-a-financial-calculator.md | 0 .../build-a-graphing-calculator.md | 0 .../build-a-multi-function-calculator.md | 0 .../build-three-math-games.md | 0 .../basic-javascript/record-collection.md | 37 +- .../60f805f813eaf2049bc2ceea.md | 12 +- .../63507d810f1a2e38f1908fd8.md | 14 +- .../63507e4562cdde3a28e8de1b.md | 16 +- .../63507ebb0c50ce3b9d669cd9.md | 2 +- .../5ddb965c65d27e1512d44d9a.md | 122 ++ .../63b606f09a14cc1781aea1fb.md | 146 +++ .../63b6075a62883218d282504c.md | 131 ++ .../63b607af6fcdb119aae9b16a.md | 168 +++ .../63b60821c855d01b1eda3c0b.md | 164 +++ .../63b6088bb56e2d1cac364043.md | 168 +++ .../63b608ebf40c871d960fc004.md | 214 ++++ .../63b60a140bf5a321d50a7315.md | 163 +++ .../63b60aaaa65f8922bfce6b7e.md | 210 ++++ .../63b60af1a0b9f7238a9dd294.md | 220 ++++ .../63b60c09c5039f25a3b2dda9.md | 207 ++++ .../63b60ca38c897f2721b27959.md | 182 +++ .../63b60cfaca25bb27edd40f62.md | 170 +++ .../63b60d3c5048302906962231.md | 176 +++ .../63b613f367584d2a5d041b7d.md | 195 +++ .../63b61490e633a22b4593e62f.md | 215 ++++ .../63b614e6a1f7fe2cef6312dc.md | 182 +++ .../63b6152e6aff882db819fc1e.md | 192 +++ .../63b61584def8fa2ebcc259e0.md | 182 +++ .../63bf43be3f969d24d4ed233c.md | 181 +++ .../63bf446945d34d25e6db6e4f.md | 195 +++ .../63bf45ce0dc8d4270760c6d0.md | 200 +++ .../63bf461011fca327d3b60fa8.md | 213 ++++ .../63bf47fd40599f29827f484d.md | 176 +++ .../63bf492b6dfb292a79f0e675.md | 174 +++ .../63bf4bfe9de3852be51c8f86.md | 188 +++ .../63bf4d351e06432ce9bf3627.md | 180 +++ .../63bf511b85b6082e54dc1573.md | 199 +++ .../63bf5230bccd1c2f5c13e1ce.md | 191 +++ .../63bf598a4c807930a13a1a27.md | 185 +++ .../63bf5a518d54f63181ab639a.md | 179 +++ .../63bf5a92fd148d3264d5322b.md | 187 +++ .../63bf5adfe2981b332eb007b6.md | 185 +++ .../63bf5bcfebff0734593fad19.md | 185 +++ .../63bf5c438f523a359769106c.md | 194 +++ .../63bf5cf03b50bf36cfbe94ea.md | 194 +++ .../63c1dfbd56c71e278800010c.md | 198 +++ .../63c1e0af28078f2dfad9eb3e.md | 203 +++ .../63c1e1965a898d302e0af4e3.md | 203 +++ .../63c1e5b4b3c8a031def3bd65.md | 197 +++ .../63c1e704ee12703347625900.md | 197 +++ .../63c2164c0df38a382062c4af.md | 201 +++ .../63c216da562fbb3957b9cb2c.md | 192 +++ .../63c2171c1e5b6e3aa51768d0.md | 198 +++ .../63c21774193de43bbc6a769f.md | 193 +++ .../63c217ccd939053ce4fa16d6.md | 217 ++++ .../63c21839f56eaf3ef4e027c4.md | 228 ++++ .../63c2187f55eb0f400269568f.md | 238 ++++ .../63c218c028c56a411b2a379a.md | 208 ++++ .../63c2194dce265f429300c8b1.md | 200 +++ .../63c21c17fa8fd6447ff0389d.md | 212 ++++ .../63c21cd2c34541469f5700a9.md | 208 ++++ .../63c21d4f48267a47c2946788.md | 216 ++++ .../63c21dea919c8e4adb0df8e8.md | 212 ++++ .../63c8ab51214c8c1f1b9a49f7.md | 216 ++++ .../63c8ad0cd8f1e5201c4ef2e4.md | 224 ++++ .../63c8b0187cceff21c8389543.md | 234 ++++ .../63c8be904ffff922f3c6f8d0.md | 221 ++++ .../63c8c00bfb671b23f9de4159.md | 219 ++++ .../63c8c15fd337ad24b9b68049.md | 233 ++++ .../63c9bc53735149084390e5d0.md | 226 ++++ .../63c9bcc26219e7090da0f549.md | 218 ++++ .../63c9bce376ca4f09c15a3768.md | 234 ++++ .../63c9bdd916e0c10af01ed8d7.md | 221 ++++ .../63c9be334f4a050c0b94bc93.md | 229 ++++ .../63c9bef7fec05c0d38853828.md | 227 ++++ .../63c9bf80558d780e848b2987.md | 236 ++++ .../63c9c09a7daa4f0ff92c4023.md | 235 ++++ .../63c9c0d0857f0a10a57af936.md | 272 ++++ .../63c9c11a0a090311dff55564.md | 242 ++++ .../63c9c16dd75dd212dc12363c.md | 241 ++++ .../63c9c1ef134f3513e751c975.md | 278 +++++ .../63c9e3a83bb3e61a80eea564.md | 249 ++++ .../63c9e45519caf31b987fbb5f.md | 247 ++++ .../63c9e4d2ff41811dd640504f.md | 257 ++++ .../63c9e51b3a007a1eba1cd0f6.md | 252 ++++ .../63c9e55b4b06c11fff555c64.md | 267 ++++ .../63c9e5eea8261d22856ead1c.md | 250 ++++ .../63c9e63bb1e32d23b6adbe44.md | 266 ++++ .../63c9e6b7c0303524af2d0bc2.md | 245 ++++ .../63c9e769df38c92635c158ba.md | 254 ++++ .../63c9e7d5b21eee2776ecc226.md | 262 ++++ .../63c9e84c9fe8ca28c4101189.md | 270 ++++ .../63c9e8fe3a6f022a05a04675.md | 269 ++++ .../63c9e94e9df7d72aed1c24bd.md | 264 ++++ .../63c9ea23dbadbf2c2764e3f5.md | 265 ++++ .../63c9ea9b16430f2d54522464.md | 265 ++++ .../63c9eb09bcfaa72e3da820a1.md | 267 ++++ .../63c9eb4a5d68f12f32d9b440.md | 263 ++++ .../63c9ebb7b12bca3025b0a935.md | 276 +++++ .../63c9ec044acedf312c4974ff.md | 275 +++++ .../63c9f24afbc9cf324dcaa9a4.md | 276 +++++ .../63c9f28bda3e3f336e21b6b4.md | 277 +++++ .../63c9f2bff625af342023512c.md | 520 ++++++++ .../build-a-data-graph-explorer.md | 0 .../build-a-financial-calculator.md | 0 .../build-a-graphing-calculator.md | 0 .../build-a-multi-function-calculator.md | 0 .../build-three-math-games.md | 0 .../word-problems.md | 18 +- .../exponents-and-logarithms.md | 6 +- .../learn-functions-and-graphing/graphing.md | 12 +- .../how-to-solve-for-x-extra.md | 12 +- .../learn-how-to-solve-for-x/solving-for-x.md | 2 +- .../parent-graphs.md | 8 +- .../ratios-and-proportions-extra.md | 14 +- .../simple-and-compound-interest.md | 18 +- .../problem-10-summation-of-primes.md | 16 +- .../problem-11-largest-product-in-a-grid.md | 14 +- ...m-12-highly-divisible-triangular-number.md | 24 +- .../problem-13-large-sum.md | 10 +- .../problem-14-longest-collatz-sequence.md | 30 +- .../problem-15-lattice-paths.md | 16 +- .../problem-2-even-fibonacci-numbers.md | 24 +- .../problem-3-largest-prime-factor.md | 22 +- .../problem-4-largest-palindrome-product.md | 12 +- .../problem-5-smallest-multiple.md | 18 +- .../problem-6-sum-square-difference.md | 18 +- .../problem-7-10001st-prime.md | 18 +- .../problem-8-largest-product-in-a-series.md | 12 +- .../problem-9-special-pythagorean-triplet.md | 16 +- .../basic-javascript/record-collection.md | 37 +- ...pare-scopes-of-the-var-and-let-keywords.md | 6 +- ...-an-export-fallback-with-export-default.md | 2 +- .../handle-a-rejected-promise-with-catch.md | 2 +- .../mutate-an-array-declared-with-const.md | 2 +- ...ramming-to-convert-strings-to-url-slugs.md | 2 +- ...de-effects-using-functional-programming.md | 4 +- ...ray-into-a-string-using-the-join-method.md | 2 +- ...bine-two-arrays-using-the-concat-method.md | 2 +- .../implement-map-on-a-prototype.md | 2 +- ...ion-to-currying-and-partial-application.md | 2 +- .../learn-about-functional-programming.md | 2 +- ...avoid-external-dependence-in-a-function.md | 2 +- ...actor-global-variables-out-of-functions.md | 4 +- ...-an-array-using-slice-instead-of-splice.md | 2 +- ...ray-without-changing-the-original-array.md | 4 +- ...ay-alphabetically-using-the-sort-method.md | 2 +- ...ng-into-an-array-using-the-split-method.md | 2 +- ...tand-functional-programming-terminology.md | 2 +- .../use-the-reduce-method-to-analyze-data.md | 4 +- .../dna-pairing.md | 2 +- .../everything-be-true.md | 6 +- .../make-a-person.md | 2 +- .../map-the-debris.md | 14 +- .../pig-latin.md | 2 +- .../seek-and-destroy.md | 2 +- .../smallest-common-multiple.md | 2 +- .../sum-all-odd-fibonacci-numbers.md | 2 +- .../sum-all-primes.md | 2 +- .../wherefore-art-thou.md | 4 +- .../cash-register.md | 4 +- .../palindrome-checker.md | 2 +- .../telephone-number-validator.md | 2 +- .../data-visualization-page-rank.md | 2 +- .../introduction-hardware-achitecture.md | 2 +- .../networking-using-urllib-in-python.md | 6 +- .../networking-write-a-web-browser.md | 2 +- .../python-for-everybody/object-lifecycle.md | 2 +- .../objects-a-sample-class.md | 2 +- .../objects-inheritance.md | 6 +- .../python-dictionaries.md | 2 +- .../python-for-everybody/python-objects.md | 12 +- .../relational-database-design.md | 2 +- .../relational-databases-join-operation.md | 2 +- ...-relationships-in-a-relational-database.md | 4 +- .../visualizing-data-with-python.md | 2 +- ...services-api-rate-limiting-and-security.md | 2 +- .../web-services-service-oriented-approach.md | 2 +- .../budget-app.md | 12 +- .../polygon-area-calculator.md | 8 +- .../probability-calculator.md | 14 +- .../time-calculator.md | 6 +- .../60f805f813eaf2049bc2ceea.md | 12 +- .../5ddb965c65d27e1512d44d9a.md | 122 ++ .../63b606f09a14cc1781aea1fb.md | 146 +++ .../63b6075a62883218d282504c.md | 131 ++ .../63b607af6fcdb119aae9b16a.md | 168 +++ .../63b60821c855d01b1eda3c0b.md | 164 +++ .../63b6088bb56e2d1cac364043.md | 168 +++ .../63b608ebf40c871d960fc004.md | 214 ++++ .../63b60a140bf5a321d50a7315.md | 163 +++ .../63b60aaaa65f8922bfce6b7e.md | 210 ++++ .../63b60af1a0b9f7238a9dd294.md | 220 ++++ .../63b60c09c5039f25a3b2dda9.md | 207 ++++ .../63b60ca38c897f2721b27959.md | 182 +++ .../63b60cfaca25bb27edd40f62.md | 170 +++ .../63b60d3c5048302906962231.md | 176 +++ .../63b613f367584d2a5d041b7d.md | 195 +++ .../63b61490e633a22b4593e62f.md | 215 ++++ .../63b614e6a1f7fe2cef6312dc.md | 182 +++ .../63b6152e6aff882db819fc1e.md | 192 +++ .../63b61584def8fa2ebcc259e0.md | 182 +++ .../63bf43be3f969d24d4ed233c.md | 181 +++ .../63bf446945d34d25e6db6e4f.md | 195 +++ .../63bf45ce0dc8d4270760c6d0.md | 200 +++ .../63bf461011fca327d3b60fa8.md | 213 ++++ .../63bf47fd40599f29827f484d.md | 176 +++ .../63bf492b6dfb292a79f0e675.md | 174 +++ .../63bf4bfe9de3852be51c8f86.md | 188 +++ .../63bf4d351e06432ce9bf3627.md | 180 +++ .../63bf511b85b6082e54dc1573.md | 199 +++ .../63bf5230bccd1c2f5c13e1ce.md | 191 +++ .../63bf598a4c807930a13a1a27.md | 185 +++ .../63bf5a518d54f63181ab639a.md | 179 +++ .../63bf5a92fd148d3264d5322b.md | 187 +++ .../63bf5adfe2981b332eb007b6.md | 185 +++ .../63bf5bcfebff0734593fad19.md | 185 +++ .../63bf5c438f523a359769106c.md | 194 +++ .../63bf5cf03b50bf36cfbe94ea.md | 194 +++ .../63c1dfbd56c71e278800010c.md | 198 +++ .../63c1e0af28078f2dfad9eb3e.md | 203 +++ .../63c1e1965a898d302e0af4e3.md | 203 +++ .../63c1e5b4b3c8a031def3bd65.md | 197 +++ .../63c1e704ee12703347625900.md | 197 +++ .../63c2164c0df38a382062c4af.md | 201 +++ .../63c216da562fbb3957b9cb2c.md | 192 +++ .../63c2171c1e5b6e3aa51768d0.md | 198 +++ .../63c21774193de43bbc6a769f.md | 193 +++ .../63c217ccd939053ce4fa16d6.md | 217 ++++ .../63c21839f56eaf3ef4e027c4.md | 228 ++++ .../63c2187f55eb0f400269568f.md | 238 ++++ .../63c218c028c56a411b2a379a.md | 208 ++++ .../63c2194dce265f429300c8b1.md | 200 +++ .../63c21c17fa8fd6447ff0389d.md | 212 ++++ .../63c21cd2c34541469f5700a9.md | 208 ++++ .../63c21d4f48267a47c2946788.md | 216 ++++ .../63c21dea919c8e4adb0df8e8.md | 212 ++++ .../63c8ab51214c8c1f1b9a49f7.md | 216 ++++ .../63c8ad0cd8f1e5201c4ef2e4.md | 224 ++++ .../63c8b0187cceff21c8389543.md | 234 ++++ .../63c8be904ffff922f3c6f8d0.md | 221 ++++ .../63c8c00bfb671b23f9de4159.md | 219 ++++ .../63c8c15fd337ad24b9b68049.md | 233 ++++ .../63c9bc53735149084390e5d0.md | 226 ++++ .../63c9bcc26219e7090da0f549.md | 218 ++++ .../63c9bce376ca4f09c15a3768.md | 234 ++++ .../63c9bdd916e0c10af01ed8d7.md | 221 ++++ .../63c9be334f4a050c0b94bc93.md | 229 ++++ .../63c9bef7fec05c0d38853828.md | 227 ++++ .../63c9bf80558d780e848b2987.md | 236 ++++ .../63c9c09a7daa4f0ff92c4023.md | 235 ++++ .../63c9c0d0857f0a10a57af936.md | 272 ++++ .../63c9c11a0a090311dff55564.md | 242 ++++ .../63c9c16dd75dd212dc12363c.md | 241 ++++ .../63c9c1ef134f3513e751c975.md | 278 +++++ .../63c9e3a83bb3e61a80eea564.md | 249 ++++ .../63c9e45519caf31b987fbb5f.md | 247 ++++ .../63c9e4d2ff41811dd640504f.md | 257 ++++ .../63c9e51b3a007a1eba1cd0f6.md | 252 ++++ .../63c9e55b4b06c11fff555c64.md | 267 ++++ .../63c9e5eea8261d22856ead1c.md | 250 ++++ .../63c9e63bb1e32d23b6adbe44.md | 266 ++++ .../63c9e6b7c0303524af2d0bc2.md | 245 ++++ .../63c9e769df38c92635c158ba.md | 254 ++++ .../63c9e7d5b21eee2776ecc226.md | 262 ++++ .../63c9e84c9fe8ca28c4101189.md | 270 ++++ .../63c9e8fe3a6f022a05a04675.md | 269 ++++ .../63c9e94e9df7d72aed1c24bd.md | 264 ++++ .../63c9ea23dbadbf2c2764e3f5.md | 265 ++++ .../63c9ea9b16430f2d54522464.md | 265 ++++ .../63c9eb09bcfaa72e3da820a1.md | 267 ++++ .../63c9eb4a5d68f12f32d9b440.md | 263 ++++ .../63c9ebb7b12bca3025b0a935.md | 276 +++++ .../63c9ec044acedf312c4974ff.md | 275 +++++ .../63c9f24afbc9cf324dcaa9a4.md | 276 +++++ .../63c9f28bda3e3f336e21b6b4.md | 277 +++++ .../63c9f2bff625af342023512c.md | 520 ++++++++ .../build-a-data-graph-explorer.md | 0 .../build-a-financial-calculator.md | 0 .../build-a-graphing-calculator.md | 0 .../build-a-multi-function-calculator.md | 0 .../build-three-math-games.md | 0 1516 files changed, 217468 insertions(+), 563 deletions(-) create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21774193de43bbc6a769f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c217ccd939053ce4fa16d6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21839f56eaf3ef4e027c4.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c218c028c56a411b2a379a.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21c17fa8fd6447ff0389d.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21cd2c34541469f5700a9.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21d4f48267a47c2946788.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21dea919c8e4adb0df8e8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ab51214c8c1f1b9a49f7.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8b0187cceff21c8389543.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8be904ffff922f3c6f8d0.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c00bfb671b23f9de4159.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c15fd337ad24b9b68049.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bc53735149084390e5d0.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bdd916e0c10af01ed8d7.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9be334f4a050c0b94bc93.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bef7fec05c0d38853828.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bf80558d780e848b2987.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c09a7daa4f0ff92c4023.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c11a0a090311dff55564.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c16dd75dd212dc12363c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c1ef134f3513e751c975.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e5eea8261d22856ead1c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e63bb1e32d23b6adbe44.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e6b7c0303524af2d0bc2.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e769df38c92635c158ba.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e7d5b21eee2776ecc226.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e84c9fe8ca28c4101189.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e94e9df7d72aed1c24bd.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea23dbadbf2c2764e3f5.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea9b16430f2d54522464.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb09bcfaa72e3da820a1.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ec044acedf312c4974ff.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f24afbc9cf324dcaa9a4.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f2bff625af342023512c.md mode change 100755 => 100644 curriculum/challenges/arabic/17-college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer.md mode change 100755 => 100644 curriculum/challenges/arabic/17-college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator.md mode change 100755 => 100644 curriculum/challenges/arabic/17-college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator.md mode change 100755 => 100644 curriculum/challenges/arabic/17-college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator.md mode change 100755 => 100644 curriculum/challenges/arabic/17-college-algebra-with-python/build-three-math-games-project/build-three-math-games.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21774193de43bbc6a769f.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c217ccd939053ce4fa16d6.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21839f56eaf3ef4e027c4.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c218c028c56a411b2a379a.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21c17fa8fd6447ff0389d.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21cd2c34541469f5700a9.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21d4f48267a47c2946788.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21dea919c8e4adb0df8e8.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ab51214c8c1f1b9a49f7.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8b0187cceff21c8389543.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8be904ffff922f3c6f8d0.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c00bfb671b23f9de4159.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c15fd337ad24b9b68049.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bc53735149084390e5d0.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bdd916e0c10af01ed8d7.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9be334f4a050c0b94bc93.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bef7fec05c0d38853828.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bf80558d780e848b2987.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c09a7daa4f0ff92c4023.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c11a0a090311dff55564.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c16dd75dd212dc12363c.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c1ef134f3513e751c975.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e5eea8261d22856ead1c.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e63bb1e32d23b6adbe44.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e6b7c0303524af2d0bc2.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e769df38c92635c158ba.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e7d5b21eee2776ecc226.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e84c9fe8ca28c4101189.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e94e9df7d72aed1c24bd.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea23dbadbf2c2764e3f5.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea9b16430f2d54522464.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb09bcfaa72e3da820a1.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ec044acedf312c4974ff.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f24afbc9cf324dcaa9a4.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md create mode 100644 curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f2bff625af342023512c.md create mode 100644 curriculum/challenges/chinese-traditional/17-college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer.md create mode 100644 curriculum/challenges/chinese-traditional/17-college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator.md create mode 100644 curriculum/challenges/chinese-traditional/17-college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator.md create mode 100644 curriculum/challenges/chinese-traditional/17-college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator.md create mode 100644 curriculum/challenges/chinese-traditional/17-college-algebra-with-python/build-three-math-games-project/build-three-math-games.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-1-multiples-of-3-and-5.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-10-summation-of-primes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-100-arranged-probability.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-11-largest-product-in-a-grid.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-12-highly-divisible-triangular-number.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-13-large-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-14-longest-collatz-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-15-lattice-paths.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-16-power-digit-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-17-number-letter-counts.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-18-maximum-path-sum-i.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-19-counting-sundays.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-2-even-fibonacci-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-20-factorial-digit-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-21-amicable-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-22-names-scores.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-23-non-abundant-sums.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-24-lexicographic-permutations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-25-1000-digit-fibonacci-number.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-26-reciprocal-cycles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-27-quadratic-primes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-28-number-spiral-diagonals.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-29-distinct-powers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-3-largest-prime-factor.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-30-digit-n-powers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-31-coin-sums.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-32-pandigital-products.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-33-digit-cancelling-fractions.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-34-digit-factorials.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-35-circular-primes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-36-double-base-palindromes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-37-truncatable-primes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-38-pandigital-multiples.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-39-integer-right-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-4-largest-palindrome-product.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-40-champernownes-constant.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-41-pandigital-prime.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-42-coded-triangle-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-43-sub-string-divisibility.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-44-pentagon-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-45-triangular-pentagonal-and-hexagonal.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-46-goldbachs-other-conjecture.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-47-distinct-primes-factors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-48-self-powers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-49-prime-permutations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-5-smallest-multiple.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-50-consecutive-prime-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-51-prime-digit-replacements.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-52-permuted-multiples.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-53-combinatoric-selections.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-54-poker-hands.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-55-lychrel-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-56-powerful-digit-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-57-square-root-convergents.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-58-spiral-primes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-59-xor-decryption.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-6-sum-square-difference.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-60-prime-pair-sets.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-61-cyclical-figurate-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-62-cubic-permutations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-63-powerful-digit-counts.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-64-odd-period-square-roots.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-65-convergents-of-e.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-66-diophantine-equation.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-67-maximum-path-sum-ii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-68-magic-5-gon-ring.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-69-totient-maximum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-7-10001st-prime.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-70-totient-permutation.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-71-ordered-fractions.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-72-counting-fractions.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-73-counting-fractions-in-a-range.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-74-digit-factorial-chains.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-75-singular-integer-right-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-76-counting-summations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-77-prime-summations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-78-coin-partitions.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-79-passcode-derivation.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-8-largest-product-in-a-series.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-80-square-root-digital-expansion.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-81-path-sum-two-ways.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-82-path-sum-three-ways.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-83-path-sum-four-ways.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-84-monopoly-odds.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-85-counting-rectangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-86-cuboid-route.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-87-prime-power-triples.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-88-product-sum-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-89-roman-numerals.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-9-special-pythagorean-triplet.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-90-cube-digit-pairs.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-91-right-triangles-with-integer-coordinates.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-92-square-digit-chains.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-93-arithmetic-expressions.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-94-almost-equilateral-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-95-amicable-chains.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-96-su-doku.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-97-large-non-mersenne-prime.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-98-anagramic-squares.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-99-largest-exponential.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-101-optimum-polynomial.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-102-triangle-containment.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-103-special-subset-sums-optimum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-104-pandigital-fibonacci-ends.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-105-special-subset-sums-testing.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-106-special-subset-sums-meta-testing.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-107-minimal-network.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-108-diophantine-reciprocals-i.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-109-darts.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-110-diophantine-reciprocals-ii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-111-primes-with-runs.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-112-bouncy-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-113-non-bouncy-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-114-counting-block-combinations-i.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-115-counting-block-combinations-ii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-116-red-green-or-blue-tiles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-117-red-green-and-blue-tiles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-118-pandigital-prime-sets.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-119-digit-power-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-120-square-remainders.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-121-disc-game-prize-fund.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-122-efficient-exponentiation.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-123-prime-square-remainders.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-124-ordered-radicals.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-125-palindromic-sums.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-126-cuboid-layers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-127-abc-hits.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-128-hexagonal-tile-differences.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-129-repunit-divisibility.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-130-composites-with-prime-repunit-property.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-131-prime-cube-partnership.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-132-large-repunit-factors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-133-repunit-nonfactors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-134-prime-pair-connection.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-135-same-differences.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-136-singleton-difference.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-137-fibonacci-golden-nuggets.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-138-special-isosceles-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-139-pythagorean-tiles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-140-modified-fibonacci-golden-nuggets.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-141-investigating-progressive-numbers-n-which-are-also-square.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-142-perfect-square-collection.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-143-investigating-the-torricelli-point-of-a-triangle.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-144-investigating-multiple-reflections-of-a-laser-beam.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-145-how-many-reversible-numbers-are-there-below-one-billion.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-146-investigating-a-prime-pattern.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-147-rectangles-in-cross-hatched-grids.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-148-exploring-pascals-triangle.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-149-searching-for-a-maximum-sum-subsequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-150-searching-a-triangular-array-for-a-sub-triangle-having-minimum-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-151-paper-sheets-of-standard-sizes-an-expected-value-problem.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-152-writing-one-half-as-a-sum-of-inverse-squares.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-153-investigating-gaussian-integers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-154-exploring-pascals-pyramid.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-155-counting-capacitor-circuits.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-156-counting-digits.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-157-solving-the-diophantine-equation.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-158-exploring-strings-for-which-only-one-character-comes-lexicographically-after-its-neighbour-to-the-left.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-159-digital-root-sums-of-factorisations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-160-factorial-trailing-digits.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-161-triominoes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-162-hexadecimal-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-163-cross-hatched-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-164-numbers-for-which-no-three-consecutive-digits-have-a-sum-greater-than-a-given-value.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-165-intersections.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-166-criss-cross.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-167-investigating-ulam-sequences.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-169-exploring-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-170-find-the-largest-0-to-9-pandigital-that-can-be-formed-by-concatenating-products.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-171-finding-numbers-for-which-the-sum-of-the-squares-of-the-digits-is-a-square.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-172-investigating-numbers-with-few-repeated-digits.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-174-counting-the-number-of-hollow-square-laminae-that-can-form-one-two-three-...-distinct-arrangements.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-175-fractions-involving-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-176-right-angled-triangles-that-share-a-cathetus.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-177-integer-angled-quadrilaterals.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-178-step-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-179-consecutive-positive-divisors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-180-rational-zeros-of-a-function-of-three-variables.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-181-investigating-in-how-many-ways-objects-of-two-different-colours-can-be-grouped.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-182-rsa-encryption.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-183-maximum-product-of-parts.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-184-triangles-containing-the-origin.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-185-number-mind.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-186-connectedness-of-a-network.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-187-semiprimes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-188-the-hyperexponentiation-of-a-number.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-189-tri-colouring-a-triangular-grid.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-190-maximising-a-weighted-product.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-191-prize-strings.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-192-best-approximations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-193-squarefree-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-194-coloured-configurations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-195-inscribed-circles-of-triangles-with-one-angle-of-60-degrees.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-196-prime-triplets.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-197-investigating-the-behaviour-of-a-recursively-defined-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-198-ambiguous-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-199-iterative-circle-packing.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-200-find-the-200th-prime-proof-sqube-containing-the-contiguous-sub-string-200.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-201-subsets-with-a-unique-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-202-laserbeam.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-203-squarefree-binomial-coefficients.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-204-generalised-hamming-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-205-dice-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-206-concealed-square.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-207-integer-partition-equations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-208-robot-walks.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-209-circular-logic.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-210-obtuse-angled-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-211-divisor-square-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-212-combined-volume-of-cuboids.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-213-flea-circus.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-214-totient-chains.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-215-crack-free-walls.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-216-investigating-the-primality-of-numbers-of-the-form-2n2-1.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-217-balanced-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-218-perfect-right-angled-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-219-skew-cost-coding.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-220-heighway-dragon.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-221-alexandrian-integers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-222-sphere-packing.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-223-almost-right-angled-triangles-i.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-224-almost-right-angled-triangles-ii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-225-tribonacci-non-divisors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-226-a-scoop-of-blancmange.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-227-the-chase.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-228-minkowski-sums.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-229-four-representations-using-squares.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-230-fibonacci-words.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-231-the-prime-factorisation-of-binomial-coefficients.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-232-the-race.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-233-lattice-points-on-a-circle.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-234-semidivisible-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-235-an-arithmetic-geometric-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-236-luxury-hampers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-237-tours-on-a-4-x-n-playing-board.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-238-infinite-string-tour.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-239-twenty-two-foolish-primes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-240-top-dice.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-241-perfection-quotients.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-242-odd-triplets.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-243-resilience.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-244-sliders.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-245-coresilience.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-246-tangents-to-an-ellipse.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-247-squares-under-a-hyperbola.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-248-numbers-for-which-eulers-totient-function-equals-13.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-249-prime-subset-sums.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-250-250250.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-251-cardano-triplets.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-252-convex-holes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-254-sums-of-digit-factorials.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-255-rounded-square-roots.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-256-tatami-free-rooms.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-257-angular-bisectors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-258-a-lagged-fibonacci-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-259-reachable-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-260-stone-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-261-pivotal-square-sums.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-262-mountain-range.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-263-an-engineers-dream-come-true.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-264-triangle-centres.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-265-binary-circles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-266-pseudo-square-root.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-267-billionaire.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-269-polynomials-with-at-least-one-integer-root.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-270-cutting-squares.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-271-modular-cubes-part-1.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-272-modular-cubes-part-2.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-273-sum-of-squares.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-274-divisibility-multipliers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-275-balanced-sculptures.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-276-primitive-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-277-a-modified-collatz-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-278-linear-combinations-of-semiprimes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-279-triangles-with-integral-sides-and-an-integral-angle.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-280-ant-and-seeds.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-281-pizza-toppings.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-282-the-ackermann-function.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-283-integer-sided-triangles-for-which-the-area--perimeter-ratio-is-integral.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-284-steady-squares.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-285-pythagorean-odds.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-286-scoring-probabilities.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-287-quadtree-encoding-a-simple-compression-algorithm.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-288-an-enormous-factorial.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-289-eulerian-cycles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-290-digital-signature.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-291-panaitopol-primes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-292-pythagorean-polygons.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-293-pseudo-fortunate-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-294-sum-of-digits---experience-23.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-295-lenticular-holes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-296-angular-bisector-and-tangent.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-297-zeckendorf-representation.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-298-selective-amnesia.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-299-three-similar-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-300-protein-folding.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-301-nim.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-302-strong-achilles-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-303-multiples-with-small-digits.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-304-primonacci.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-305-reflexive-position.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-306-paper-strip-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-307-chip-defects.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-308-an-amazing-prime-generating-automaton.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-309-integer-ladders.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-310-nim-square.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-311-biclinic-integral-quadrilaterals.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-312-cyclic-paths-on-sierpiski-graphs.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-313-sliding-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-314-the-mouse-on-the-moon.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-315-digital-root-clocks.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-316-numbers-in-decimal-expansions.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-317-firecracker.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-318-2011-nines.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-319-bounded-sequences.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-320-factorials-divisible-by-a-huge-integer.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-321-swapping-counters.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-322-binomial-coefficients-divisible-by-10.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-323-bitwise-or-operations-on-random-integers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-324-building-a-tower.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-325-stone-game-ii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-326-modulo-summations.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-327-rooms-of-doom.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-328-lowest-cost-search.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-329-prime-frog.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-330-eulers-number.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-331-cross-flips.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-332-spherical-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-333-special-partitions.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-334-spilling-the-beans.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-335-gathering-the-beans.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-336-maximix-arrangements.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-337-totient-stairstep-sequences.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-338-cutting-rectangular-grid-paper.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-339-peredur-fab-efrawg.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-340-crazy-function.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-341-golombs-self-describing-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-342-the-totient-of-a-square-is-a-cube.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-343-fractional-sequences.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-344-silver-dollar-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-345-matrix-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-346-strong-repunits.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-347-largest-integer-divisible-by-two-primes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-348-sum-of-a-square-and-a-cube.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-349-langtons-ant.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-350-constraining-the-least-greatest-and-the-greatest-least.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-351-hexagonal-orchards.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-352-blood-tests.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-353-risky-moon.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-354-distances-in-a-bees-honeycomb.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-355-maximal-coprime-subset.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-356-largest-roots-of-cubic-polynomials.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-357-prime-generating-integers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-358-cyclic-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-359-hilberts-new-hotel.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-360-scary-sphere.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-361-subsequence-of-thue-morse-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-362-squarefree-factors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-363-bzier-curves.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-364-comfortable-distance.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-365-a-huge-binomial-coefficient.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-366-stone-game-iii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-367-bozo-sort.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-368-a-kempner-like-series.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-369-badugi.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-370-geometric-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-371-licence-plates.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-372-pencils-of-rays.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-373-circumscribed-circles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-374-maximum-integer-partition-product.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-375-minimum-of-subsequences.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-376-nontransitive-sets-of-dice.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-377-sum-of-digits-experience-13.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-378-triangle-triples.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-379-least-common-multiple-count.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-380-amazing-mazes.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-381-prime-k-factorial.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-382-generating-polygons.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-383-divisibility-comparison-between-factorials.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-384-rudin-shapiro-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-385-ellipses-inside-triangles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-386-maximum-length-of-an-antichain.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-387-harshad-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-388-distinct-lines.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-389-platonic-dice.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-390-triangles-with-non-rational-sides-and-integral-area.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-391-hopping-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-392-enmeshed-unit-circle.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-393-migrating-ants.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-394-eating-pie.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-395-pythagorean-tree.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-396-weak-goodstein-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-397-triangle-on-parabola.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-398-cutting-rope.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-399-squarefree-fibonacci-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-400-fibonacci-tree-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-401-sum-of-squares-of-divisors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-402-integer-valued-polynomials.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-403-lattice-points-enclosed-by-parabola-and-line.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-404-crisscross-ellipses.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-405-a-rectangular-tiling.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-406-guessing-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-407-idempotents.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-408-admissible-paths-through-a-grid.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-409-nim-extreme.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-410-circle-and-tangent-line.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-411-uphill-paths.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-412-gnomon-numbering.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-413-one-child-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-414-kaprekar-constant.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-415-titanic-sets.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-416-a-frogs-trip.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-417-reciprocal-cycles-ii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-418-factorisation-triples.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-419-look-and-say-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-420-2x2-positive-integer-matrix.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-421-prime-factors-of-n151.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-422-sequence-of-points-on-a-hyperbola.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-423-consecutive-die-throws.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-424-kakuro.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-425-prime-connection.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-426-box-ball-system.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-427-n-sequences.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-428-necklace-of-circles.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-429-sum-of-squares-of-unitary-divisors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-430-range-flips.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-431-square-space-silo.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-432-totient-sum.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-433-steps-in-euclids-algorithm.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-434-rigid-graphs.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-435-polynomials-of-fibonacci-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-436-unfair-wager.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-437-fibonacci-primitive-roots.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-438-integer-part-of-polynomial-equations-solutions.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-439-sum-of-sum-of-divisors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-440-gcd-and-tiling.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-441-the-inverse-summation-of-coprime-couples.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-442-eleven-free-integers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-443-gcd-sequence.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-444-the-roundtable-lottery.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-445-retractions-a.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-446-retractions-b.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-447-retractions-c.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-448-average-least-common-multiple.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-449-chocolate-covered-candy.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-450-hypocycloid-and-lattice-points.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-451-modular-inverses.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-452-long-products.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-453-lattice-quadrilaterals.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-454-diophantine-reciprocals-iii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-455-powers-with-trailing-digits.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-456-triangles-containing-the-origin-ii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-457-a-polynomial-modulo-the-square-of-a-prime.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-458-permutations-of-project.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-459-flipping-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-460-an-ant-on-the-move.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-462-permutation-of-3-smooth-numbers.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-463-a-weird-recurrence-relation.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-464-mbius-function-and-intervals.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-465-polar-polygons.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-466-distinct-terms-in-a-multiplication-table.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-467-superinteger.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-469-empty-chairs.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-470-super-ramvok.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-471-triangle-inscribed-in-ellipse.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-472-comfortable-distance-ii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-473-phigital-number-base.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-474-last-digits-of-divisors.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-475-music-festival.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-476-circle-packing-ii.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-477-number-sequence-game.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-478-mixtures.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-479-roots-on-the-rise.md create mode 100644 curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-480-the-last-question.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21774193de43bbc6a769f.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c217ccd939053ce4fa16d6.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21839f56eaf3ef4e027c4.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c218c028c56a411b2a379a.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21c17fa8fd6447ff0389d.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21cd2c34541469f5700a9.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21d4f48267a47c2946788.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21dea919c8e4adb0df8e8.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ab51214c8c1f1b9a49f7.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8b0187cceff21c8389543.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8be904ffff922f3c6f8d0.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c00bfb671b23f9de4159.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c15fd337ad24b9b68049.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bc53735149084390e5d0.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bdd916e0c10af01ed8d7.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9be334f4a050c0b94bc93.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bef7fec05c0d38853828.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bf80558d780e848b2987.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c09a7daa4f0ff92c4023.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c11a0a090311dff55564.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c16dd75dd212dc12363c.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c1ef134f3513e751c975.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e5eea8261d22856ead1c.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e63bb1e32d23b6adbe44.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e6b7c0303524af2d0bc2.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e769df38c92635c158ba.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e7d5b21eee2776ecc226.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e84c9fe8ca28c4101189.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e94e9df7d72aed1c24bd.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea23dbadbf2c2764e3f5.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea9b16430f2d54522464.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb09bcfaa72e3da820a1.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ec044acedf312c4974ff.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f24afbc9cf324dcaa9a4.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md create mode 100644 curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f2bff625af342023512c.md mode change 100755 => 100644 curriculum/challenges/chinese/17-college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer.md mode change 100755 => 100644 curriculum/challenges/chinese/17-college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator.md mode change 100755 => 100644 curriculum/challenges/chinese/17-college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator.md mode change 100755 => 100644 curriculum/challenges/chinese/17-college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator.md mode change 100755 => 100644 curriculum/challenges/chinese/17-college-algebra-with-python/build-three-math-games-project/build-three-math-games.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21774193de43bbc6a769f.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c217ccd939053ce4fa16d6.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21839f56eaf3ef4e027c4.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c218c028c56a411b2a379a.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21c17fa8fd6447ff0389d.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21cd2c34541469f5700a9.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21d4f48267a47c2946788.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21dea919c8e4adb0df8e8.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ab51214c8c1f1b9a49f7.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8b0187cceff21c8389543.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8be904ffff922f3c6f8d0.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c00bfb671b23f9de4159.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c15fd337ad24b9b68049.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bc53735149084390e5d0.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bdd916e0c10af01ed8d7.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9be334f4a050c0b94bc93.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bef7fec05c0d38853828.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bf80558d780e848b2987.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c09a7daa4f0ff92c4023.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c11a0a090311dff55564.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c16dd75dd212dc12363c.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c1ef134f3513e751c975.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e5eea8261d22856ead1c.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e63bb1e32d23b6adbe44.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e6b7c0303524af2d0bc2.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e769df38c92635c158ba.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e7d5b21eee2776ecc226.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e84c9fe8ca28c4101189.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e94e9df7d72aed1c24bd.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea23dbadbf2c2764e3f5.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea9b16430f2d54522464.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb09bcfaa72e3da820a1.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ec044acedf312c4974ff.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f24afbc9cf324dcaa9a4.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md create mode 100644 curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f2bff625af342023512c.md mode change 100755 => 100644 curriculum/challenges/espanol/17-college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer.md mode change 100755 => 100644 curriculum/challenges/espanol/17-college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator.md mode change 100755 => 100644 curriculum/challenges/espanol/17-college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator.md mode change 100755 => 100644 curriculum/challenges/espanol/17-college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator.md mode change 100755 => 100644 curriculum/challenges/espanol/17-college-algebra-with-python/build-three-math-games-project/build-three-math-games.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21774193de43bbc6a769f.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c217ccd939053ce4fa16d6.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21839f56eaf3ef4e027c4.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c218c028c56a411b2a379a.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21c17fa8fd6447ff0389d.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21cd2c34541469f5700a9.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21d4f48267a47c2946788.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21dea919c8e4adb0df8e8.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ab51214c8c1f1b9a49f7.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8b0187cceff21c8389543.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8be904ffff922f3c6f8d0.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c00bfb671b23f9de4159.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c15fd337ad24b9b68049.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bc53735149084390e5d0.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bdd916e0c10af01ed8d7.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9be334f4a050c0b94bc93.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bef7fec05c0d38853828.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bf80558d780e848b2987.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c09a7daa4f0ff92c4023.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c11a0a090311dff55564.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c16dd75dd212dc12363c.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c1ef134f3513e751c975.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e5eea8261d22856ead1c.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e63bb1e32d23b6adbe44.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e6b7c0303524af2d0bc2.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e769df38c92635c158ba.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e7d5b21eee2776ecc226.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e84c9fe8ca28c4101189.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e94e9df7d72aed1c24bd.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea23dbadbf2c2764e3f5.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea9b16430f2d54522464.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb09bcfaa72e3da820a1.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ec044acedf312c4974ff.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f24afbc9cf324dcaa9a4.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md create mode 100644 curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f2bff625af342023512c.md mode change 100755 => 100644 curriculum/challenges/german/17-college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer.md mode change 100755 => 100644 curriculum/challenges/german/17-college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator.md mode change 100755 => 100644 curriculum/challenges/german/17-college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator.md mode change 100755 => 100644 curriculum/challenges/german/17-college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator.md mode change 100755 => 100644 curriculum/challenges/german/17-college-algebra-with-python/build-three-math-games-project/build-three-math-games.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21774193de43bbc6a769f.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c217ccd939053ce4fa16d6.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21839f56eaf3ef4e027c4.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c218c028c56a411b2a379a.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21c17fa8fd6447ff0389d.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21cd2c34541469f5700a9.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21d4f48267a47c2946788.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21dea919c8e4adb0df8e8.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ab51214c8c1f1b9a49f7.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8b0187cceff21c8389543.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8be904ffff922f3c6f8d0.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c00bfb671b23f9de4159.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c15fd337ad24b9b68049.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bc53735149084390e5d0.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bdd916e0c10af01ed8d7.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9be334f4a050c0b94bc93.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bef7fec05c0d38853828.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bf80558d780e848b2987.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c09a7daa4f0ff92c4023.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c11a0a090311dff55564.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c16dd75dd212dc12363c.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c1ef134f3513e751c975.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e5eea8261d22856ead1c.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e63bb1e32d23b6adbe44.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e6b7c0303524af2d0bc2.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e769df38c92635c158ba.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e7d5b21eee2776ecc226.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e84c9fe8ca28c4101189.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e94e9df7d72aed1c24bd.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea23dbadbf2c2764e3f5.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea9b16430f2d54522464.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb09bcfaa72e3da820a1.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ec044acedf312c4974ff.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f24afbc9cf324dcaa9a4.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md create mode 100644 curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f2bff625af342023512c.md mode change 100755 => 100644 curriculum/challenges/italian/17-college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer.md mode change 100755 => 100644 curriculum/challenges/italian/17-college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator.md mode change 100755 => 100644 curriculum/challenges/italian/17-college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator.md mode change 100755 => 100644 curriculum/challenges/italian/17-college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator.md mode change 100755 => 100644 curriculum/challenges/italian/17-college-algebra-with-python/build-three-math-games-project/build-three-math-games.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21774193de43bbc6a769f.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c217ccd939053ce4fa16d6.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21839f56eaf3ef4e027c4.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c218c028c56a411b2a379a.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21c17fa8fd6447ff0389d.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21cd2c34541469f5700a9.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21d4f48267a47c2946788.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21dea919c8e4adb0df8e8.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ab51214c8c1f1b9a49f7.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8b0187cceff21c8389543.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8be904ffff922f3c6f8d0.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c00bfb671b23f9de4159.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c15fd337ad24b9b68049.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bc53735149084390e5d0.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bdd916e0c10af01ed8d7.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9be334f4a050c0b94bc93.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bef7fec05c0d38853828.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bf80558d780e848b2987.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c09a7daa4f0ff92c4023.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c11a0a090311dff55564.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c16dd75dd212dc12363c.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c1ef134f3513e751c975.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e5eea8261d22856ead1c.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e63bb1e32d23b6adbe44.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e6b7c0303524af2d0bc2.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e769df38c92635c158ba.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e7d5b21eee2776ecc226.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e84c9fe8ca28c4101189.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e94e9df7d72aed1c24bd.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea23dbadbf2c2764e3f5.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea9b16430f2d54522464.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb09bcfaa72e3da820a1.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ec044acedf312c4974ff.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f24afbc9cf324dcaa9a4.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md create mode 100644 curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f2bff625af342023512c.md mode change 100755 => 100644 curriculum/challenges/japanese/17-college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer.md mode change 100755 => 100644 curriculum/challenges/japanese/17-college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator.md mode change 100755 => 100644 curriculum/challenges/japanese/17-college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator.md mode change 100755 => 100644 curriculum/challenges/japanese/17-college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator.md mode change 100755 => 100644 curriculum/challenges/japanese/17-college-algebra-with-python/build-three-math-games-project/build-three-math-games.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21774193de43bbc6a769f.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c217ccd939053ce4fa16d6.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21839f56eaf3ef4e027c4.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c218c028c56a411b2a379a.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21c17fa8fd6447ff0389d.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21cd2c34541469f5700a9.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21d4f48267a47c2946788.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21dea919c8e4adb0df8e8.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ab51214c8c1f1b9a49f7.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8b0187cceff21c8389543.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8be904ffff922f3c6f8d0.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c00bfb671b23f9de4159.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c15fd337ad24b9b68049.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bc53735149084390e5d0.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bdd916e0c10af01ed8d7.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9be334f4a050c0b94bc93.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bef7fec05c0d38853828.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bf80558d780e848b2987.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c09a7daa4f0ff92c4023.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c11a0a090311dff55564.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c16dd75dd212dc12363c.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c1ef134f3513e751c975.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e5eea8261d22856ead1c.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e63bb1e32d23b6adbe44.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e6b7c0303524af2d0bc2.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e769df38c92635c158ba.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e7d5b21eee2776ecc226.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e84c9fe8ca28c4101189.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e94e9df7d72aed1c24bd.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea23dbadbf2c2764e3f5.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea9b16430f2d54522464.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb09bcfaa72e3da820a1.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ec044acedf312c4974ff.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f24afbc9cf324dcaa9a4.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md create mode 100644 curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f2bff625af342023512c.md mode change 100755 => 100644 curriculum/challenges/portuguese/17-college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer.md mode change 100755 => 100644 curriculum/challenges/portuguese/17-college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator.md mode change 100755 => 100644 curriculum/challenges/portuguese/17-college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator.md mode change 100755 => 100644 curriculum/challenges/portuguese/17-college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator.md mode change 100755 => 100644 curriculum/challenges/portuguese/17-college-algebra-with-python/build-three-math-games-project/build-three-math-games.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21774193de43bbc6a769f.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c217ccd939053ce4fa16d6.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21839f56eaf3ef4e027c4.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c218c028c56a411b2a379a.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21c17fa8fd6447ff0389d.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21cd2c34541469f5700a9.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21d4f48267a47c2946788.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c21dea919c8e4adb0df8e8.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ab51214c8c1f1b9a49f7.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8b0187cceff21c8389543.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8be904ffff922f3c6f8d0.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c00bfb671b23f9de4159.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8c15fd337ad24b9b68049.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bc53735149084390e5d0.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bdd916e0c10af01ed8d7.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9be334f4a050c0b94bc93.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bef7fec05c0d38853828.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bf80558d780e848b2987.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c09a7daa4f0ff92c4023.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c11a0a090311dff55564.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c16dd75dd212dc12363c.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c1ef134f3513e751c975.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e5eea8261d22856ead1c.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e63bb1e32d23b6adbe44.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e6b7c0303524af2d0bc2.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e769df38c92635c158ba.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e7d5b21eee2776ecc226.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e84c9fe8ca28c4101189.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e94e9df7d72aed1c24bd.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea23dbadbf2c2764e3f5.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ea9b16430f2d54522464.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb09bcfaa72e3da820a1.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ec044acedf312c4974ff.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f24afbc9cf324dcaa9a4.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md create mode 100644 curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f2bff625af342023512c.md mode change 100755 => 100644 curriculum/challenges/ukrainian/17-college-algebra-with-python/build-a-data-graph-explorer-project/build-a-data-graph-explorer.md mode change 100755 => 100644 curriculum/challenges/ukrainian/17-college-algebra-with-python/build-a-financial-calculator-project/build-a-financial-calculator.md mode change 100755 => 100644 curriculum/challenges/ukrainian/17-college-algebra-with-python/build-a-graphing-calculator-project/build-a-graphing-calculator.md mode change 100755 => 100644 curriculum/challenges/ukrainian/17-college-algebra-with-python/build-a-multi-function-calculator-project/build-a-multi-function-calculator.md mode change 100755 => 100644 curriculum/challenges/ukrainian/17-college-algebra-with-python/build-three-math-games-project/build-three-math-games.md diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md index 5c5aa16eb7c..9f6ce12b4d8 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md @@ -8,21 +8,28 @@ dashedName: record-collection # --description-- -لديك حروف الكائن التي تمثل جزء من مجموعة سجلاتك الموسيقية. يحتوي كل سجل على رقم معرف فريد يعدّ الهُوِيَّة والعديد من الخصائص الأخرى. ليست كل السجلات لديها معلومات كاملة. +You are creating a function that aids in the maintenance of a musical album collection. The collection is organized as an object that contains multiple albums which are also objects. Each album is represented in the collection with a unique `id` as the property name. Within each album object, there are various properties describing information about the album. Not all albums have complete information. -أنت تبدأ بالوظيفة `updateRecords` التي تأخذ الكائن حرفي يدعي `records`، يحتوي على مجموعة ألبومات موسيقية. و `id`, و `prop` (مثل `artist` أو `tracks`)، و `value`. أكمل الوظيفة باستخدام القواعد أدناه لتعديل الكائن الممرر إلى الوظيفة. +The `updateRecords` function takes 4 arguments represented by the following function parameters: -- الوظيفة الخاص بك يجب أن يرجع دائما كائن مجموعة السجلات بِرُمَّته. -- إذا كان `prop` ليس `tracks` و `value` ليس مقطع فارغ، حديث أو تعيين `prop` السجلات إلى `value`. -- إذا كان `prop` هو `tracks` ولكن السجلات ليس لديه خاصية `tracks`، أنشئ قائمة فارغة واضف إليها `value`. -- إذا كان `prop` هو `tracks` و `value` ليس مقطع فارغ، أضف مقطع `value` إلي أخر سجل موجودة داخل قائمة `tracks`. -- إذا كان `value` هو مقطع فارغ، قم بحذف خاصية `prop` من السجلات. +- `records` - an object containing several individual albums +- `id` - a number representing a specific album in the `records` object +- `prop` - a string representing the name of the album’s property to update +- `value` - a string containing the information used to update the album’s property -**ملاحظة:** يتم استخدام نسخة من `recordCollection` للاختبارات. +Complete the function using the rules below to modify the object passed to the function. + +- Your function must always return the entire `records` object. +- If `value` is an empty string, delete the given `prop` property from the album. +- If `prop` isn’t `"tracks"` and `value` isn't an empty string, assign the `value` to that album’s `prop`. +- If `prop` is `"tracks"` and `value` isn’t an empty string, add the `value` to the end of the album’s existing `"tracks"` array. +- If the album doesn’t have a `"tracks"` property, create a new array for the album's `"tracks"` property before adding the `value` to it. + +**Note:** A copy of the `recordCollection` object is used for the tests. You should not directly modify the `recordCollection` object. # --hints-- -بعد `updateRecords(recordCollection, 5439, "artist", "ABBA")`, يجب أن يكون `artist` مقطع الآتي `ABBA` +After `updateRecords(recordCollection, 5439, "artist", "ABBA")`, `artist` should be the string `ABBA` ```js assert( @@ -31,7 +38,7 @@ assert( ); ``` -بعد `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, يجب أن يحتوي `tracks` مقطع `Take a Chance on Me` كآخر عنصر والعنصر الوحيد. +After `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` should have the string `Take a Chance on Me` as the last and only element. ```js assert( @@ -41,14 +48,14 @@ assert( ); ``` -بعد `updateRecords(recordCollection, 2548, "artist", "")`, لا ينبغي تعيين `artist` +After `updateRecords(recordCollection, 2548, "artist", "")`, `artist` should not be set ```js updateRecords(_recordCollection, 2548, 'artist', ''); assert(!_recordCollection[2548].hasOwnProperty('artist')); ``` -بعد `updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")`, يجب أن يحتوي `tracks` مقطع `Addicted to Love` كآخر عنصر. +After `updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")`, `tracks` should have the string `Addicted to Love` as the last element. ```js assert( @@ -58,7 +65,7 @@ assert( ); ``` -بعد `updateRecords(recordCollection, 2468, "tracks", "Free")`, يجب أن يحتوي `tracks` المقطع `1999` كأول عنصر. +After `updateRecords(recordCollection, 2468, "tracks", "Free")`, `tracks` should have the string `1999` as the first element. ```js assert( @@ -68,14 +75,14 @@ assert( ); ``` -بعد `updateRecords(recordCollection, 2548, "tracks", "")`, لا ينبغي تعيين `tracks` +After `updateRecords(recordCollection, 2548, "tracks", "")`, `tracks` should not be set ```js updateRecords(_recordCollection, 2548, 'tracks', ''); assert(!_recordCollection[2548].hasOwnProperty('tracks')); ``` -بعد `updateRecords(recordCollection, 1245, "albumTitle", "Riptide")`, يجب أن يحتوي `albumTitle` مقطع `Riptide` الأتي +After `updateRecords(recordCollection, 1245, "albumTitle", "Riptide")`, `albumTitle` should be the string `Riptide` ```js assert( diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f805f813eaf2049bc2ceea.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f805f813eaf2049bc2ceea.md index 9fc7c9b6cdd..2371e94d0e3 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f805f813eaf2049bc2ceea.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f805f813eaf2049bc2ceea.md @@ -26,25 +26,29 @@ assert.equal(document.querySelectorAll('label input')?.length, 4); يجب عليك إضافة أول `input` بعد نص الـ `label` الآتي `Enter Your First Name:`,، وقم بإدراج مسافه بعد الـ colon (:). ```js -assert.equal(document.querySelectorAll('label')?.[0]?.innerHTML.trim(), 'Enter Your First Name: '); +const query = /^Enter Your First Name:\s+/ +assert.match(document.querySelectorAll('label')?.[0]?.innerHTML.trim(), query); ``` يجب عليك إضافة ثاني `input` بعد نص الـ `label` الآتي `Enter Your Last Name:`,، وقم بإدراج مسافه بعد الـ colon (:). ```js -assert.equal(document.querySelectorAll('label')?.[1]?.innerHTML.trim(), 'Enter Your Last Name: '); +const query = /^Enter Your Last Name:\s+/ +assert.match(document.querySelectorAll('label')?.[1]?.innerHTML.trim(), query); ``` يجب عليك إضافة ثالث `input` بعد نص الـ `label` الآتي `Enter Your Email:`,، وقم بإدراج مسافه بعد الـ colon (:). ```js -assert.equal(document.querySelectorAll('label')?.[2]?.innerHTML.trim(), 'Enter Your Email: '); +const query = /^Enter Your Email:\s+/ +assert.match(document.querySelectorAll('label')?.[2]?.innerHTML.trim(), query); ``` يجب عليك إضافة رابع `input` بعد نص الـ `label` الآتي `Create a New Password:`، وقم بإدراج مسافه بعد الـ colon (:). ```js -assert.equal(document.querySelectorAll('label')?.[3]?.innerHTML.trim(), 'Create a New Password: '); +const query = /^Create a New Password:\s+/ +assert.match(document.querySelectorAll('label')?.[3]?.innerHTML.trim(), query); ``` # --seed-- diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md new file mode 100644 index 00000000000..c3def32154d --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md @@ -0,0 +1,122 @@ +--- +id: 5ddb965c65d27e1512d44d9a +title: Step 1 +challengeType: 0 +dashedName: step-1 +--- + +# --description-- + +You have been provided with boilerplate CSS and HTML. However, you need to build your calorie counter form. + +Feel free to explore the HTML and CSS, then add a `form` element and give it an `id` set to `calorie-counter`. + +# --hints-- + +You should have a `form` element. + +```js +assert.exists(document.querySelector('form')); +``` + +Your `form` element should have an `id` attribute set to `calorie-counter`. + +```js +assert.equal(document.querySelector('form')?.id, 'calorie-counter'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+--fcc-editable-region-- + +--fcc-editable-region-- +
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md new file mode 100644 index 00000000000..e938bc8c2e3 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b606f09a14cc1781aea1fb.md @@ -0,0 +1,146 @@ +--- +id: 63b606f09a14cc1781aea1fb +title: Step 2 +challengeType: 0 +dashedName: step-2 +--- + +# --description-- + +Create a `label` element, give it a `for` attribute set to `budget` and the text `Budget`, then create an `input` element with the `id` set to `budget`. + +# --hints-- + +You should create a `label` element in your `form`. + +```js +assert.exists(document.querySelector('form label')); +``` + +Your `label` element should have a `for` attribute set to `budget`. + +```js +assert.equal(document.querySelector('form label')?.getAttribute('for'), 'budget'); +``` + +Your `label` element should have the text `Budget`. + +```js +assert.equal(document.querySelector('form label')?.innerText, 'Budget'); +``` + +You should create an `input` element within your `form`. + +```js +assert.exists(document.querySelector('form input')); +``` + +Your `input` element should come after your `label` element. + +```js +assert.equal(document.querySelector('form input')?.previousElementSibling?.tagName, "LABEL"); +``` + +Your `input` element should have an `id` set to `budget`. + +```js +assert.equal(document.querySelector('form input')?.id, "budget"); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+--fcc-editable-region-- +
+ +
+--fcc-editable-region-- +
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md new file mode 100644 index 00000000000..fcabad47a30 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6075a62883218d282504c.md @@ -0,0 +1,131 @@ +--- +id: 63b6075a62883218d282504c +title: Step 3 +challengeType: 0 +dashedName: step-3 +--- + +# --description-- + +Your `input` element needs some additional attributes. Give it a `type` set to `number` to only allow numeric inputs, a `min` attribute set to `0` to only allow positive numbers, and a `placeholder` set to `Daily calorie budget`. + +Finally, mark the `input` element as `required`. + +# --hints-- + +Your `input` element should have a `type` attribute set to `number`. + +```js +assert.equal(document.querySelector('form input').type, 'number'); +``` + +Your `input` element should have a `min` attribute set to `0`. + +```js +assert.equal(document.querySelector('form input').min, '0'); +``` + +Your `input` element should have a `placeholder` attribute set to `Daily calorie budget`. + +```js +assert.equal(document.querySelector('form input').placeholder, 'Daily calorie budget'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+--fcc-editable-region-- +
+ + +
+--fcc-editable-region-- +
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md new file mode 100644 index 00000000000..5079bde79a8 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b607af6fcdb119aae9b16a.md @@ -0,0 +1,168 @@ +--- +id: 63b607af6fcdb119aae9b16a +title: Step 4 +challengeType: 0 +dashedName: step-4 +--- + +# --description-- + +Create a `fieldset` element with the `id` set to `breakfast`. + +Within that element, create a `legend` with the text `Breakfast`, and an empty `div` with the `class` set to `input-container`. + +# --hints-- + +You should create a `fieldset` element in your `form`. + +```js +assert.exists(document.querySelector('form fieldset')); +``` + +Your `fieldset` element should come after your `input` element. + +```js +assert.equal(document.querySelector('form fieldset')?.previousElementSibling?.tagName, "INPUT"); +``` + +Your `fieldset` element should have an `id` set to `breakfast`. + +```js +assert.equal(document.querySelector('form fieldset')?.id, "breakfast"); +``` + +You should create a `legend` element within your `fieldset`. + +```js +assert.exists(document.querySelector('form fieldset legend')); +``` + +Your `legend` element should have the text `Breakfast`. + +```js +assert.equal(document.querySelector('form fieldset legend')?.innerText, "Breakfast"); +``` + +You should create a `div` element within your `fieldset`. + +```js +assert.exists(document.querySelector('form fieldset div')); +``` + +Your `div` element should come after your `legend` element. + +```js +assert.equal(document.querySelector('form fieldset div')?.previousElementSibling?.tagName, "LEGEND"); +``` + +Your `div` element should have a `class` set to `input-container`. + +```js +assert.equal(document.querySelector('form fieldset div')?.className, "input-container"); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +--fcc-editable-region-- + +--fcc-editable-region-- +
+
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md new file mode 100644 index 00000000000..7de68f5215c --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60821c855d01b1eda3c0b.md @@ -0,0 +1,164 @@ +--- +id: 63b60821c855d01b1eda3c0b +title: Step 5 +challengeType: 0 +dashedName: step-5 +--- + +# --description-- + +Now create a `fieldset` with an `id` set to `lunch`, and a corresponding `legend` and `div` element. + +# --hints-- + +You should create a second `fieldset` element in your `form`. + +```js +assert.exists(document.querySelectorAll('form fieldset')[1]); +``` + +Your second `fieldset` element should come after your first `fieldset` element. + +```js +assert.equal(document.querySelectorAll('form fieldset')[1]?.previousElementSibling?.tagName, "FIELDSET"); +``` + +Your second `fieldset` element should have an `id` set to `lunch`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[1]?.id, "lunch"); +``` + +Your second `fieldset` element should contain a `legend` element. + +```js +assert.exists(document.querySelectorAll('form fieldset')[1]?.querySelector('legend')); +``` + +Your new `legend` element should have the text `Lunch`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[1]?.querySelector('legend')?.innerText, "Lunch"); +``` + +Your second `fieldset` element should contain a `div` element. + +```js +assert.exists(document.querySelectorAll('form fieldset')[1]?.querySelector('div')); +``` + +Your new `div` element should have a `class` set to `input-container`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[1]?.querySelector('div')?.className, "input-container"); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+--fcc-editable-region-- + +--fcc-editable-region-- +
+
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md new file mode 100644 index 00000000000..f7c617f998e --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6088bb56e2d1cac364043.md @@ -0,0 +1,168 @@ +--- +id: 63b6088bb56e2d1cac364043 +title: Step 6 +challengeType: 0 +dashedName: step-6 +--- + +# --description-- + +Continuing the pattern, create a `fieldset` for `dinner` with the same nested elements. + +# --hints-- + +You should create a third `fieldset` element in your `form`. + +```js +assert.exists(document.querySelectorAll('form fieldset')[2]); +``` + +Your third `fieldset` element should come after your second `fieldset` element. + +```js +assert.equal(document.querySelectorAll('form fieldset')[2]?.previousElementSibling?.tagName, "FIELDSET"); +``` + +Your third `fieldset` element should have an `id` set to `dinner`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[2]?.id, "dinner"); +``` + +Your third `fieldset` element should contain a `legend` element. + +```js +assert.exists(document.querySelectorAll('form fieldset')[2]?.querySelector('legend')); +``` + +Your new `legend` element should have the text `Dinner`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[2]?.querySelector('legend')?.innerText, "Dinner"); +``` + +Your third `fieldset` element should contain a `div` element. + +```js +assert.exists(document.querySelectorAll('form fieldset')[2]?.querySelector('div')); +``` + +Your new `div` element should have a `class` set to `input-container`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[2]?.querySelector('div')?.className, "input-container"); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+--fcc-editable-region-- + +--fcc-editable-region-- +
+
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md new file mode 100644 index 00000000000..911126b33e4 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b608ebf40c871d960fc004.md @@ -0,0 +1,214 @@ +--- +id: 63b608ebf40c871d960fc004 +title: Step 7 +challengeType: 0 +dashedName: step-7 +--- + +# --description-- + +You need two more of these `fieldset` code blocks – one for `snacks` and one for `exercise`. + +# --hints-- + +You should create a fourth `fieldset` element in your `form`. + +```js +assert.exists(document.querySelectorAll('form fieldset')[3]); +``` + +Your fourth `fieldset` element should come after your third `fieldset` element. + +```js +assert.equal(document.querySelectorAll('form fieldset')[3]?.previousElementSibling?.tagName, "FIELDSET"); +``` + +Your fourth `fieldset` element should have an `id` set to `snacks`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[3]?.id, "snacks"); +``` + +Your fourth `fieldset` element should contain a `legend` element. + +```js +assert.exists(document.querySelectorAll('form fieldset')[3]?.querySelector('legend')); +``` + +Your fourth `legend` element should have the text `Snacks`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[3]?.querySelector('legend')?.innerText, "Snacks"); +``` + +Your fourth `fieldset` element should contain a `div` element. + +```js +assert.exists(document.querySelectorAll('form fieldset')[3]?.querySelector('div')); +``` + +Your fifth `div` element should have a `class` set to `input-container`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[3]?.querySelector('div')?.className, "input-container"); +``` + +You should create a fifth `fieldset` element in your `form`. + +```js +assert.exists(document.querySelectorAll('form fieldset')[4]); +``` + +Your fifth `fieldset` element should come after your fourth `fieldset` element. + +```js +assert.equal(document.querySelectorAll('form fieldset')[4]?.previousElementSibling?.tagName, "FIELDSET"); +``` + +Your fifth `fieldset` element should have an `id` set to `exercise`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[4]?.id, "exercise"); +``` + +Your fifth `fieldset` element should contain a `legend` element. + +```js +assert.exists(document.querySelectorAll('form fieldset')[4]?.querySelector('legend')); +``` + +Your fifth `legend` element should have the text `Exercise`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[4]?.querySelector('legend')?.innerText, "Exercise"); +``` + +Your fifth `fieldset` element should contain a `div` element. + +```js +assert.exists(document.querySelectorAll('form fieldset')[4]?.querySelector('div')); +``` + +Your fifth `div` element should have a `class` set to `input-container`. + +```js +assert.equal(document.querySelectorAll('form fieldset')[4]?.querySelector('div')?.className, "input-container"); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+--fcc-editable-region-- + +--fcc-editable-region-- +
+
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md new file mode 100644 index 00000000000..068bea72dfc --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60a140bf5a321d50a7315.md @@ -0,0 +1,163 @@ +--- +id: 63b60a140bf5a321d50a7315 +title: Step 8 +challengeType: 0 +dashedName: step-8 +--- + +# --description-- + +Create a `div` and give it a `class` set to `controls`. Nest a `span` element within that `div`. + +# --hints-- + +You should create a new `div` element in your `form`. + +```js +assert.exists(document.querySelector('form > div')); +``` + +Your `div` element should come after your `fieldset` elements. + +```js +assert.equal(document.querySelector('form > div')?.previousElementSibling?.tagName, "FIELDSET"); +assert.notExists(document.querySelector('form > div')?.nextElementSibling); +``` + +Your `div` element should have a `class` attribute set to `controls`. + +```js +assert.equal(document.querySelector('form > div')?.className, "controls"); +``` + +You should nest a `span` element within your `div`. + +```js +assert.exists(document.querySelector('form > div > span')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+--fcc-editable-region-- + +--fcc-editable-region-- +
+
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md new file mode 100644 index 00000000000..c9723d26fcb --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md @@ -0,0 +1,210 @@ +--- +id: 63b60aaaa65f8922bfce6b7e +title: Step 9 +challengeType: 0 +dashedName: step-9 +--- + +# --description-- + +In your `span` element, create a `label` element for an `entry-dropdown` and give it the text `Add food or exercise:`. Then create a `select` element with the `id` set to `entry-dropdown` and a `name` set to `options`. Below that, add a `button` element with the `id` set to `add-entry` and the text `Add Entry`. + +Give your `button` element a `type` attribute set to `button` to prevent automatic form submission. + +# --hints-- + +You should add a `label` element to your `span` element. + +```js +assert.exists(document.querySelector('.controls > span > label')); +``` + +Your new `label` element should have a `for` attribute set to `entry-dropdown`. + +```js +assert.equal(document.querySelector('.controls > span > label')?.getAttribute('for'), 'entry-dropdown'); +``` + +Your new `label` element should have the text `Add food or exercise:`. + +```js +assert.equal(document.querySelector('.controls > span > label')?.innerText, 'Add food or exercise:'); +``` + +You should add a `select` element to your `span` element. + +```js +assert.exists(document.querySelector('.controls > span > select')); +``` + +Your `select` element should come after your `label` element. + +```js +assert(document.querySelector('.controls > span > select')?.previousElementSibling?.tagName === 'LABEL'); +``` + +Your new `select` element should have an `id` attribute set to `entry-dropdown`. + +```js +assert.equal(document.querySelector('.controls > span > select')?.getAttribute('id'), 'entry-dropdown'); +``` + +Your new `select` element should have a `name` attribute set to `options`. + +```js +assert.equal(document.querySelector('.controls > span > select')?.getAttribute('name'), 'options'); +``` + +You should add a `button` element to your `span` element. + +```js +assert.exists(document.querySelector('.controls > span > button')); +``` + +Your `button` element should come after your `select` element. + +```js +assert(document.querySelector('.controls > span > button')?.previousElementSibling?.tagName === 'SELECT'); +``` + +Your new `button` element should have an `id` attribute set to `add-entry`. + +```js +assert.equal(document.querySelector('.controls > span > button')?.getAttribute('id'), 'add-entry'); +``` + +Your new `button` element should have the text `Add Entry`. + +```js +assert.equal(document.querySelector('.controls > span > button')?.innerText, 'Add Entry'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+--fcc-editable-region-- +
+ + + +
+--fcc-editable-region-- +
+
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md new file mode 100644 index 00000000000..27f69a473d9 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60af1a0b9f7238a9dd294.md @@ -0,0 +1,220 @@ +--- +id: 63b60af1a0b9f7238a9dd294 +title: Step 10 +challengeType: 0 +dashedName: step-10 +--- + +# --description-- + +Your select menu needs options for each of the food and exercise `fieldset` elements you created in the previous steps. Use the `option` element to create a new option for each `fieldset`. The `value` attribute of each option should be the `id` of the `fieldset`, and the text of each option should be the text of the `legend`. + +Set the `Breakfast` option as the `selected` option. + +# --hints-- + +You should create five `option` elements within your `select` element. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.length, 5); +``` + +Your first `option` should have the text `Breakfast`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[0]?.textContent, 'Breakfast'); +``` + +Your first `option` should have the `value` attribute set to `breakfast`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[0]?.value, 'breakfast'); +``` + +Your second `option` should have the text `Lunch`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[1]?.textContent, 'Lunch'); +``` + +Your second `option` should have the `value` attribute set to `lunch`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[1]?.value, 'lunch'); +``` + +Your third `option` should have the text `Dinner`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[2]?.textContent, 'Dinner'); +``` + +Your third `option` should have the `value` attribute set to `dinner`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[2]?.value, 'dinner'); +``` + +Your fourth `option` should have the text `Snacks`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[3]?.textContent, 'Snacks'); +``` + +Your fourth `option` should have the `value` attribute set to `snacks`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[3]?.value, 'snacks'); +``` + +Your fifth `option` should have the text `Exercise`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[4]?.textContent, 'Exercise'); +``` + +Your fifth `option` should have the `value` attribute set to `exercise`. + +```js +assert.equal(document.querySelectorAll('.controls select option')?.[4]?.value, 'exercise'); +``` + +Your first `option` should be selected by default. + +```js +assert.isTrue(document.querySelectorAll('.controls select option')?.[0]?.getAttributeNames()?.includes('selected')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+--fcc-editable-region-- +
+ + + + + +
+--fcc-editable-region-- +
+
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md new file mode 100644 index 00000000000..4e28d650816 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md @@ -0,0 +1,207 @@ +--- +id: 63b60c09c5039f25a3b2dda9 +title: Step 11 +challengeType: 0 +dashedName: step-11 +--- + +# --description-- + +Create another `div` element. Within it, nest a `button` to `submit` the form, with an `id` set to `calculate-calories`. This button should have the text `Calculate Remaining Calories`. + +Then add a `button` with the `id` set to `clear` to clear the form (don't forget to give it a `type` attribute that prevents it from submitting the form). This button needs the text `Clear`. + +# --hints-- + +You should create a second `div` element. + +```js +assert.equal(document.querySelectorAll('form > div')?.length, 2); +``` + +Your new `div` element should have a `button` element. + +```js +assert.exists(document.querySelectorAll('form > div')?.[1]?.querySelector('button')); +``` + +Your `button` element should have a `type` attribute set to `submit`. + +```js +assert.equal(document.querySelectorAll('form > div')?.[1]?.querySelector('button')?.getAttribute('type'), 'submit'); +``` + +Your `button` element should have an `id` attribute set to `calculate-calories`. + +```js +assert.equal(document.querySelectorAll('form > div')?.[1]?.querySelector('button')?.getAttribute('id'), 'calculate-calories'); +``` + +Your `button` element should have the text `Calculate Remaining Calories`. + +```js +assert.equal(document.querySelectorAll('form > div')?.[1]?.querySelector('button')?.innerText, 'Calculate Remaining Calories'); +``` + +Your `div` element should have a second `button` element. + +```js +assert.exists(document.querySelectorAll('form > div')?.[1]?.querySelectorAll('button')?.[1]); +``` + +Your second `button` element should have a `type` attribute set to `button`. + +```js +assert.equal(document.querySelectorAll('form > div')?.[1]?.querySelectorAll('button')?.[1]?.getAttribute('type'), 'button'); +``` + +Your second `button` element should have an `id` attribute set to `clear`. + +```js +assert.equal(document.querySelectorAll('form > div')?.[1]?.querySelectorAll('button')?.[1]?.getAttribute('id'), 'clear'); +``` + +Your second `button` element should have the text `Clear`. + +```js +assert.equal(document.querySelectorAll('form > div')?.[1]?.querySelectorAll('button')?.[1]?.innerText, 'Clear'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+--fcc-editable-region-- + +--fcc-editable-region-- +
+
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md new file mode 100644 index 00000000000..aaf24c8d8cb --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60ca38c897f2721b27959.md @@ -0,0 +1,182 @@ +--- +id: 63b60ca38c897f2721b27959 +title: Step 12 +challengeType: 0 +dashedName: step-12 +--- + +# --description-- + +Your form needs somewhere to display the results. Add an empty `div` element and give it an `id` of `output` and the `class` values of `output` and `hide`. + +# --hints-- + +You should add a `div` element after your `form`. + +```js +assert.exists(document.querySelector('.container > div')); +``` + +Your new `div` element should have an `id` set to `output`. + +```js +assert.equal(document.querySelector('.container > div')?.id, 'output'); +``` + +Your new `div` element should have the `class` values of `output` and `hide`. + +```js +assert.include(document.querySelector('.container > div')?.className.split(/\s+/), 'output'); +assert.include(document.querySelector('.container > div')?.className.split(/\s+/), 'hide'); +``` + +Your new `div` should be empty. + +```js +assert.equal(document.querySelector('.container > div')?.innerHTML, ''); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+--fcc-editable-region-- + +--fcc-editable-region-- +
+
+ + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md new file mode 100644 index 00000000000..17934b0039d --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60cfaca25bb27edd40f62.md @@ -0,0 +1,170 @@ +--- +id: 63b60cfaca25bb27edd40f62 +title: Step 13 +challengeType: 0 +dashedName: step-13 +--- + +# --description-- + +Finally, you need to link your JavaScript file to your HTML. Create a `script` element to do so. + +# --hints-- + +You should have a `script` element. + +```js +assert.isAtLeast(document.querySelectorAll('script')?.length, 1); +``` + +Your `script` element should have the `src` set to `./script.js`. + +```js +assert.match(code, /script\s*?src\s*?=\s*?('|")(\.\/)?script\.js\1/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+--fcc-editable-region-- + +--fcc-editable-region-- + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js + +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md new file mode 100644 index 00000000000..de3870b44ad --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md @@ -0,0 +1,176 @@ +--- +id: 63b60d3c5048302906962231 +title: Step 14 +challengeType: 0 +dashedName: step-14 +--- + +# --description-- + +It is time to start writing the script that makes your form work. Begin by getting the `form` element (using the `id`) and storing it in a variable called `calorieCounter`. + +# --hints-- + +You should create a variable called `calorieCounter`. + +```js +assert.isDefined(calorieCounter); +``` + +You should use `document.getElementById()` to get the `#calorie-counter` element. + +```js +assert.match(code, /document\.getElementById\(\s*('|")calorie-counter\1\s*\)/g); +``` + +You should store the `#calorie-counter` element in a variable called `calorieCounter`. + +```js +assert.equal(calorieCounter, document.getElementById('calorie-counter')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +--fcc-editable-region-- + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md new file mode 100644 index 00000000000..44e1c274573 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md @@ -0,0 +1,195 @@ +--- +id: 63b613f367584d2a5d041b7d +title: Step 15 +challengeType: 0 +dashedName: step-15 +--- + +# --description-- + +Get your `#budget` element and assign it to `budgetNumberInput`, and your `#entry-dropdown` element and assign it to `entryDropdown`. + +# --hints-- + +You should declare a variable called `budgetNumberInput`. + +```js +assert.isDefined(budgetNumberInput); +``` + +You should use `document.getElementById()` to get the `#budget` element. + +```js +assert.match(code, /document\.getElementById\(\s*('|")budget\1\s*\)/g); +``` + +You should store the `#budget` element in a variable called `budgetNumberInput`. + +```js +assert.equal(budgetNumberInput, document.getElementById('budget')); +``` + +You should declare a variable called `entryDropdown`. + +```js +assert.isDefined(entryDropdown); +``` + +You should use `document.getElementById()` to get the `#entry-dropdown` element. + +```js +assert.match(code, /document\.getElementById\(\s*('|")entry-dropdown\1\s*\)/g); +``` + +You should store the `#entry-dropdown` element in a variable called `entryDropdown`. + +```js +assert.equal(entryDropdown, document.getElementById('entry-dropdown')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +--fcc-editable-region-- +const calorieCounter = document.getElementById('calorie-counter'); + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md new file mode 100644 index 00000000000..6cbbeb5ab4a --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61490e633a22b4593e62f.md @@ -0,0 +1,215 @@ +--- +id: 63b61490e633a22b4593e62f +title: Step 16 +challengeType: 0 +dashedName: step-16 +--- + +# --description-- + +Following the same pattern, assign your `#add-entry` element to `addEntryButton`, your `#clear` element to `clearButton`, and your `#output` element to `output`. + +# --hints-- + +You should declare a variable called `addEntryButton`. + +```js +assert.isDefined(addEntryButton); +``` + +You should use `document.getElementById()` to get the `#add-entry` element. + +```js +assert.match(code, /document\.getElementById\(\s*('|")add-entry\1\s*\)/g); +``` + +You should assign the `#add-entry` element to `addEntryButton`. + +```js +assert.equal(addEntryButton, document.getElementById('add-entry')); +``` + +You should declare a variable called `clearButton`. + +```js +assert.isDefined(clearButton); +``` + +You should use `document.getElementById()` to get the `#clear` element. + +```js +assert.match(code, /document\.getElementById\(\s*('|")clear\1\s*\)/g); +``` + +You should assign the `#clear` element to `clearButton`. + +```js +assert.equal(clearButton, document.getElementById('clear')); +``` + +You should declare a variable called `output`. + +```js +assert.isDefined(output); +``` + +You should use `document.getElementById()` to get the `#output` element. + +```js +assert.match(code, /document\.getElementById\(\s*('|")output\1\s*\)/g); +``` + +You should assign the `#output` element to `output`. + +```js +assert.equal(output, document.getElementById("output")); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +--fcc-editable-region-- +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md new file mode 100644 index 00000000000..99c1985862c --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b614e6a1f7fe2cef6312dc.md @@ -0,0 +1,182 @@ +--- +id: 63b614e6a1f7fe2cef6312dc +title: Step 17 +challengeType: 0 +dashedName: step-17 +--- + +# --description-- + +Declare an `isError` variable and set it to `false`, but use `let` so you can reassign it later. + +# --hints-- + +You should declare an `isError` variable. + +```js +assert.isDefined(isError); +``` + +Your `isError` variable should be set to `false`. + +```js +assert.isFalse(isError); +``` + +You should use `let` to declare your `isError` variable. + +```js +assert.match(code, /let\s+isError\s*=\s*false/g); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +--fcc-editable-region-- +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md new file mode 100644 index 00000000000..436b65b80d6 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b6152e6aff882db819fc1e.md @@ -0,0 +1,192 @@ +--- +id: 63b6152e6aff882db819fc1e +title: Step 18 +challengeType: 0 +dashedName: step-18 +--- + +# --description-- + +Even though you set an `input` element to be a number, JavaScript receives a string value. You need to write a function to clean the string value and ensure you have a number. + +Start by declaring a `cleanInputString` function that takes a `str` argument. + +# --hints-- + +You should declare a `cleanInputString` variable. + +```js +assert.isDefined(cleanInputString); +``` + +Your `cleanInputString` variable should be a function. + +```js +assert.isFunction(cleanInputString); +``` + +Your `cleanInputString` function should take a `str` argument. + +```js +assert.match(cleanInputString?.toString(), /\(str\)/); +``` + +`cleanInputString` should be an empty function. + +```js +assert.match(cleanInputString?.toString(), /\{\s*\}/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md new file mode 100644 index 00000000000..b7de4018e24 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b61584def8fa2ebcc259e0.md @@ -0,0 +1,182 @@ +--- +id: 63b61584def8fa2ebcc259e0 +title: Step 19 +challengeType: 0 +dashedName: step-19 +--- + +# --description-- + +You need to split your `str` into individual characters. Remember that strings have a `.split()` method, and if you pass an empty string it will split on every character. + +Declare a `strArray` variable and assign it that split value. + +# --hints-- + +Your `cleanInputString` function should declare a `strArray` variable. + +```js +assert.match(cleanInputString.toString(), /strArray\s*=/); +``` + +Your `strArray` variable should be assigned the value of `str.split('')`. + +```js +assert.match(cleanInputString.toString(), /strArray\s*=\s*str\.split\(\s*('|")\1\s*\)/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md new file mode 100644 index 00000000000..a0eaf81fd4e --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf43be3f969d24d4ed233c.md @@ -0,0 +1,181 @@ +--- +id: 63bf43be3f969d24d4ed233c +title: Step 20 +challengeType: 0 +dashedName: step-20 +--- + +# --description-- + +Declare a `cleanStrArray` variable and assign it an empty array. You will use this to store your valid number characters. + +# --hints-- + +Your `cleanInputString` should declare a variable called `cleanStrArray`. + +```js +assert.match(cleanInputString.toString(), /cleanStrArray\s*/g); +``` + +Your `cleanStrArray` variable should be assigned an empty array. + +```js +assert.match(cleanInputString.toString(), /cleanStrArray\s*=\s*\[\s*\]/g); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + const strArray = str.split(''); + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md new file mode 100644 index 00000000000..db275c224c1 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf446945d34d25e6db6e4f.md @@ -0,0 +1,195 @@ +--- +id: 63bf446945d34d25e6db6e4f +title: Step 21 +challengeType: 0 +dashedName: step-21 +--- + +# --description-- + +Use a `for` loop to iterate through each character in your `strArray` array. + +# --hints-- + +Your `cleanInputString` function should have a `for` loop. + +```js +assert.match(cleanInputString.toString(), /for\s*\(/g); +``` + +Your `for` loop should initialize a variable called `i` to `0`. + +```js +assert.match(cleanInputString.toString(), /for\s*\(\s*(let|var)\s+i\s*=\s*0\s*;/g); +``` + +Your `for` loop should have a condition that checks if `i` is less than the length of `strArray`. + +```js +assert.match(cleanInputString.toString(), /for\s*\(\s*(let|var)\s+i\s*=\s*0\s*;\s*i\s*<\s*strArray\.length\s*;/g); +``` + +Your `for` loop should increment `i` by `1` each time it runs. Use the increment operator for this. + +```js +assert.match(cleanInputString.toString(), /for\s*\(\s*(let|var)\s+i\s*=\s*0\s*;\s*i\s*<\s*strArray\.length\s*;\s*i\s*\+\+\s*\)/g); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + const strArray = str.split(''); + const cleanStrArray = []; + + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md new file mode 100644 index 00000000000..a432c6687d5 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf45ce0dc8d4270760c6d0.md @@ -0,0 +1,200 @@ +--- +id: 63bf45ce0dc8d4270760c6d0 +title: Step 22 +challengeType: 0 +dashedName: step-22 +--- + +# --description-- + +Within your loop, you need to check if the character in `strArray` at index `i` is not `+`, `-`, or a space. If it is not, `push` it to the `cleanStrArray`. + +To check your character, see if the array `["+", "-", " "]` includes the character – you can use the `.includes()` method on the array to do this. + +# --hints-- + +Your `for` loop should have an `if` statement. + +```js +assert.match(cleanInputString.toString(), /for\s*\(\s*(let|var)\s+i\s*=\s*0\s*;\s*i\s*<\s*strArray\.length\s*;\s*i\s*\+\+\s*\)\s*\{\s*if\s*\(/); +``` + +Your `for` loop should use `!["+", "-", " "].includes()`. + +```js +// the loop protection injects code so we have to look at the raw code directly +assert.match(code, /for\s*\(\s*(let|var)\s+i\s*=\s*0\s*;\s*i\s*<\s*strArray\.length\s*;\s*i\s*\+\+\s*\)\s*\{\s*if\s*\(!\[("|')\+\2\s*,\s*("|')-\3\s*,\s*("|')\s\4\s*\]\.includes\(/); +``` + +Your `for` loop should see if `strArray[i]` is found in `["+", "-", " "]`. + +```js +assert.match(code, /for\s*\(\s*(let|var)\s+i\s*=\s*0\s*;\s*i\s*<\s*strArray\.length\s*;\s*i\s*\+\+\s*\)\s*\{\s*if\s*\(!\[("|')\+\2\s*,\s*("|')-\3\s*,\s*("|')\s\4\s*\]\.includes\(\s*strArray\[i\]\s*\)\)\s*\{/); +``` + +Your `for` loop should `push` `strArray[i]` to `cleanStrArray`. + +```js +assert.match(code, /for\s*\(\s*(let|var)\s+i\s*=\s*0\s*;\s*i\s*<\s*strArray\.length\s*;\s*i\s*\+\+\s*\)\s*\{\s*if\s*\(!\[("|')\+\2\s*,\s*("|')-\3\s*,\s*("|')\s\4\s*\]\.includes\(\s*strArray\[i\]\s*\)\)\s*\{\s*cleanStrArray\.push\(\s*strArray\[i\]\s*\)\s*\}/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + const strArray = str.split(''); + const cleanStrArray = []; + + for (let i = 0; i < strArray.length; i++) { + + } +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md new file mode 100644 index 00000000000..f74ff636c5b --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md @@ -0,0 +1,213 @@ +--- +id: 63bf461011fca327d3b60fa8 +title: Step 23 +challengeType: 0 +dashedName: step-23 +--- + +# --description-- + +While looping through the string works, creating a new array is inefficient for memory and runtime performance. Instead, you can use Regular Expressions (referred to as "regex") to match specific characters. + +Regex in JavaScript is indicated by a pattern wrapped in forward slashes – for example: + +```js +const regex = /hello/; +``` + +Remove your existing code within the `cleanInputString` function. Declare a `regex` variable and assign it the value from the example above. + +# --hints-- + +You should remove the `cleanStrArray` variable. + +```js +assert.notMatch(cleanInputString.toString(), /cleanStrArray/); +``` + +You should remove the `strArray` variable. + +```js +assert.notMatch(cleanInputString.toString(), /strArray/); +``` + +You should not have a `for` loop. + +```js +assert.notMatch(cleanInputString.toString(), /for/); +``` + +You should declare a `regex` variable. + +```js +assert.match(cleanInputString.toString(), /regex\s*=/); +``` + +Your `regex` variable should be set to the regular expression `/hello/`. + +```js +assert.match(cleanInputString.toString(), /regex\s*=\s*\/hello\//); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + const strArray = str.split(''); + const cleanStrArray = []; + + for (let i = 0; i < strArray.length; i++) { + if (!["+", "-", " "].includes(strArray[i])) { + cleanStrArray.push(strArray[i]) + } + } +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md new file mode 100644 index 00000000000..0f781eb61cf --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md @@ -0,0 +1,176 @@ +--- +id: 63bf47fd40599f29827f484d +title: Step 24 +challengeType: 0 +dashedName: step-24 +--- + +# --description-- + +The pattern you currently have will match the exact text `hello`, which is not what you want to match. You want to look for `+`, `-`, or spaces. Replace the pattern in your `regex` variable with `\+-` to look for plus and minus characters. + +Note that you need to use the `\` to escape the `+`, because a `+` has a special meaning in regular expressions. + +# --hints-- + +Your `regex` variable should be set to the regular expression `/\+-/`. + +```js +assert.match(cleanInputString.toString(), /regex\s*=\s*\/\\\+-\//); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + const regex = /hello/; +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md new file mode 100644 index 00000000000..25d6d2447fb --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md @@ -0,0 +1,174 @@ +--- +id: 63bf492b6dfb292a79f0e675 +title: Step 25 +challengeType: 0 +dashedName: step-25 +--- + +# --description-- + +In regex, shorthand character classes allow you to match specific characters without having to write those characters in your pattern. Shorthand character classes are preceded with a backslash (`\`). The character class `\s` will match any whitespace character. Add this to your regex pattern. + +# --hints-- + +Your `regex` variable should be set to the regular expression `/\+-\s/`. + +```js +assert.match(cleanInputString.toString(), /regex\s*=\s*\/\\\+-\\s\//) +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + const regex = /\+-/; +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md new file mode 100644 index 00000000000..3b18f0aac60 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md @@ -0,0 +1,188 @@ +--- +id: 63bf4bfe9de3852be51c8f86 +title: Step 26 +challengeType: 0 +dashedName: step-26 +--- + +# --description-- + +Your current pattern won't work just yet. `/+-\s/` looks for `+`, `-`, and a space *in order*. This would match `+- hello` but would not match `+hello`. + +To tell the pattern to match each of these characters individually, you need to turn them into a character class. This is done by wrapping the characters you want to match in brackets. For example, this pattern will match the characters `h`, `e`, `l`, or `o`: + +```js +const regex = /[helo]/; +``` + +Turn your `+-\s` pattern into a character class. Note that you no longer need to escape the `+` character, because you are using a character class. + +# --hints-- + +Your `regex` variable should be set to the regular expression `[+-\s]`. + +```js +assert.match(cleanInputString.toString(), /regex\s*=\s*\/\[\\?\+-\\s\]\//) +``` + +You should not escape the `+` character in your regular expression. + +```js +assert.match(cleanInputString.toString(), /regex\s*=\s*\/\[\+-\\s\]\//); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + const regex = /\+-\s/; +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md new file mode 100644 index 00000000000..30baf30ed58 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4d351e06432ce9bf3627.md @@ -0,0 +1,180 @@ +--- +id: 63bf4d351e06432ce9bf3627 +title: Step 27 +challengeType: 0 +dashedName: step-27 +--- + +# --description-- + +Regex can also take specific flags to alter the pattern matching behavior. Flags are added after the closing `/`. The `g` flag, which stands for "global", will tell the pattern to continue looking after it has found a match. Here is an example: + +```js +const helloRegex = /hello/g; +``` + +Add the `g` flag to your regex pattern. + +# --hints-- + +You should add the `g` flag to your `regex` value. + +```js +assert.match(cleanInputString.toString(), /regex\s*=\s*\/\[\+-\\s\]\/g/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + const regex = /[+-\s]/; +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md new file mode 100644 index 00000000000..4b35b49f7b9 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf511b85b6082e54dc1573.md @@ -0,0 +1,199 @@ +--- +id: 63bf511b85b6082e54dc1573 +title: Step 28 +challengeType: 0 +dashedName: step-28 +--- + +# --description-- + +Strings have a `.replace()` method which allows you to replace characters in the string with another string. `.replace` takes two arguments. The first is the character sequence to replace – this can either be a string or a regex pattern. The second is the string to replace that sequence with. For example, this would replace all instances of `l` with `1`: + +```js +"hello".replace(/l/g, "1"); +``` + +Use your `regex` to replace all instances of `+`, `-`, and a space in `str` with an empty string. Return this value. + +# --hints-- + +Your `cleanInputString` should call the `replace` method of `str`. + +```js +assert.match(cleanInputString.toString(), /str\.replace\(/); +``` + +You should pass `regex` as the first argument to `replace`. + +```js +assert.match(cleanInputString.toString(), /str\.replace\(\s*regex\s*/); +``` + +You should pass `""` as the second argument to `replace`. + +```js +assert.match(cleanInputString.toString(), /str\.replace\(\s*regex\s*,\s*("|')\1\s*\)/); +``` + +Your `cleanInputString` function should directly return the result of your `replace` method. + +```js +assert.match(cleanInputString.toString(), /return\s*str\.replace\(\s*regex\s*,\s*("|')\1\s*\)/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +--fcc-editable-region-- +function cleanInputString(str) { + const regex = /[+-\s]/g; + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md new file mode 100644 index 00000000000..b6eef00a30b --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5230bccd1c2f5c13e1ce.md @@ -0,0 +1,191 @@ +--- +id: 63bf5230bccd1c2f5c13e1ce +title: Step 29 +challengeType: 0 +dashedName: step-29 +--- + +# --description-- + +In HTML, number inputs allow for exponential notation (such as `1e10`). You need to filter those out. + +Start by creating a function called `isInvalidInput` – it should take a single `str` parameter. + +# --hints-- + +You should declare an `isInvalidInput` variable. + +```js +assert.isDefined(isInvalidInput) +``` + +`isInvalidInput` should be a function. + +```js +assert.isFunction(isInvalidInput) +``` + +`isInvalidInput` should take a single `str` parameter. + +```js +assert.match(isInvalidInput?.toString(), /\(\s*str\s*\)/) +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +--fcc-editable-region-- + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md new file mode 100644 index 00000000000..778a809571e --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf598a4c807930a13a1a27.md @@ -0,0 +1,185 @@ +--- +id: 63bf598a4c807930a13a1a27 +title: Step 30 +challengeType: 0 +dashedName: step-30 +--- + +# --description-- + +Declare a `regex` variable, and assign it a regex that matches the character `e`. + +# --hints-- + +Your `isInvalidInput` function should have a `regex` variable. + +```js +assert.match(isInvalidInput.toString(), /regex\s*=/); +``` + +Your `regex` variable should be set to `/e/`. + +```js +assert.match(isInvalidInput.toString(), /regex\s*=\s*\/e\//); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +--fcc-editable-region-- +function isInvalidInput(str) { + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md new file mode 100644 index 00000000000..2bf1aa0f9a3 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a518d54f63181ab639a.md @@ -0,0 +1,179 @@ +--- +id: 63bf5a518d54f63181ab639a +title: Step 31 +challengeType: 0 +dashedName: step-31 +--- + +# --description-- + +The `e` in a number input can also be an uppercase `E`. Regex has a flag for this, however – the `i` flag, which stands for "insensitive". This flag makes your pattern case-insensitive. Add the `i` flag to your regex pattern. + +# --hints-- + +Your `regex` value should have the `i` flag. + +```js +assert.match(isInvalidInput.toString(), /regex\s*=\s*\/e\/i/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +--fcc-editable-region-- +function isInvalidInput(str) { + const regex = /e/; +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md new file mode 100644 index 00000000000..19873a84492 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5a92fd148d3264d5322b.md @@ -0,0 +1,187 @@ +--- +id: 63bf5a92fd148d3264d5322b +title: Step 32 +challengeType: 0 +dashedName: step-32 +--- + +# --description-- + +Number inputs only allow the `e` to occur between two digits. To match any number, you can use the character class `[0-9]`. This will match any digit between `0` and `9`. + +Add this character class before and after `e` in your pattern. + +# --hints-- + +You should add the `[0-9]` character class before `e` in your regular expression. + +```js +assert.match(isInvalidInput.toString(), /regex\s*=\s*\/\[0-9\]e/); +``` + +You should add the `[0-9]` character class after `e` in your regular expression. + +```js +assert.match(isInvalidInput.toString(), /regex\s*=\s*\/\[0-9\]e\[0-9\]\//); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +--fcc-editable-region-- +function isInvalidInput(str) { + const regex = /e/i; +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md new file mode 100644 index 00000000000..75477ddd763 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5adfe2981b332eb007b6.md @@ -0,0 +1,185 @@ +--- +id: 63bf5adfe2981b332eb007b6 +title: Step 33 +challengeType: 0 +dashedName: step-33 +--- + +# --description-- + +The `+` modifier in a regex allows you to match a pattern that occurs one or more times. To match your digit pattern one or more times, add a plus after each of the digit character classes. For example: `[0-9]+`. + +# --hints-- + +You should add the `+` modifier to the character class before `e` in your regular expression. + +```js +assert.match(isInvalidInput.toString(), /regex\s*=\s*\/\[0-9\]\+e/); +``` + +You should add the `+` modifier to the character class after `e` in your regular expression. + +```js +assert.match(isInvalidInput.toString(), /regex\s*=\s*\/\[0-9\]\+e\[0-9\]\+\//); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +--fcc-editable-region-- +function isInvalidInput(str) { + const regex = /[0-9]e[0-9]/i; +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md new file mode 100644 index 00000000000..95686b3c3a0 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5bcfebff0734593fad19.md @@ -0,0 +1,185 @@ +--- +id: 63bf5bcfebff0734593fad19 +title: Step 34 +challengeType: 0 +dashedName: step-34 +--- + +# --description-- + +There is a shorthand character class to match any digit: `\d`. Replace your `[0-9]` character classes with this shorthand. + +# --hints-- + +You should replace the `[0-9]` character class before `e` with `\d` in your regular expression. + +```js +assert.match(isInvalidInput.toString(), /regex\s*=\s*\/\\d\+e/); +``` + +You should replace the `[0-9]` character class after `e` with `\d` in your regular expression. + +```js +assert.match(isInvalidInput.toString(), /regex\s*=\s*\/\\d\+e\\d\+\//); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +--fcc-editable-region-- +function isInvalidInput(str) { + const regex = /[0-9]+e[0-9]+/i; +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md new file mode 100644 index 00000000000..f6f61282ce9 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5c438f523a359769106c.md @@ -0,0 +1,194 @@ +--- +id: 63bf5c438f523a359769106c +title: Step 35 +challengeType: 0 +dashedName: step-35 +--- + +# --description-- + +Strings have a `.match()` method, which takes a regex argument. `.match()` will return an array of match results – containing either the first match, or all matches if the global flag is used. + +Return the result of calling the `.match()` method on `str` and passing your `regex` variable as the argument. You'll use this match result later on. + +# --hints-- + +Your `isInvalidInput` function should call the `.match()` method on `str`. + +```js +assert.match(isInvalidInput.toString(), /str\.match\(/); +``` + +You should pass `regex` as the argument to the `.match()` method. + +```js +assert.match(isInvalidInput.toString(), /str\.match\(\s*regex\s*\)/); +``` + +Your `isInvalidInput` function should directly return the result of the `.match()` call. + +```js +assert.match(isInvalidInput.toString(), /return\s+str\.match\(\s*regex\s*\)/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +--fcc-editable-region-- +function isInvalidInput(str) { + const regex = /\d+e\d+/i; + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md new file mode 100644 index 00000000000..228f3503303 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf5cf03b50bf36cfbe94ea.md @@ -0,0 +1,194 @@ +--- +id: 63bf5cf03b50bf36cfbe94ea +title: Step 36 +challengeType: 0 +dashedName: step-36 +--- + +# --description-- + +Your next step is to allow users to add entries to the calorie counter. Declare an empty function `addEntry`. This function should not take any parameters. + +# --hints-- + +You should declare an `addEntry` variable. + +```js +assert.isDefined(addEntry); +``` + +Your `addEntry` variable should be a function. + +```js +assert.isFunction(addEntry); +``` + +Your `addEntry` function should not take any parameters. + +```js +assert.match(addEntry?.toString(), /\(\s*\)/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +function isInvalidInput(str) { + const regex = /\d+e\d+/i; + return str.match(regex); +} + +--fcc-editable-region-- + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md new file mode 100644 index 00000000000..1bc417c8bbb --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1dfbd56c71e278800010c.md @@ -0,0 +1,198 @@ +--- +id: 63c1dfbd56c71e278800010c +title: Step 37 +challengeType: 0 +dashedName: step-37 +--- + +# --description-- + +You'll need to know which category the entry goes in. Thankfully, you added a dropdown for the user to select a category. + +Remember that you queried that dropdown earlier in your JavaScript and assigned it to the `entryDropdown` button. Use concatenation to add `#` to the beginning of the `value` property of `entryDropdown`, and assign that result to a `targetId` variable. + +# --hints-- + +Your `addEntry` function should have a `targetId` variable. + +```js +assert.match(addEntry.toString(), /targetId\s*=/); +``` + +Your `targetId` variable should start with the string `#`. + +```js +assert.match(addEntry.toString(), /targetId\s*=\s*('|")#\1/); +``` + +You should use concatenation to add `entryDropdown.value` after your `#` string. + +```js +assert.match(addEntry.toString(), /targetId\s*=\s*('|")#\1\s*\+\s*entryDropdown\.value/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +function isInvalidInput(str) { + const regex = /\d+e\d+/i; + return str.match(regex); +} + +--fcc-editable-region-- +function addEntry() { + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md new file mode 100644 index 00000000000..413b5f76d84 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e0af28078f2dfad9eb3e.md @@ -0,0 +1,203 @@ +--- +id: 63c1e0af28078f2dfad9eb3e +title: Step 38 +challengeType: 0 +dashedName: step-38 +--- + +# --description-- + +Now you need to target the `.input-container` element within the element that has your `targetId`. Declare a new `targetInputContainer` variable, and assign it the value of `document.querySelector()`. Use concatenation to separate `targetId` and `'.input-container'` with a space, and pass that string to `querySelector()`. + +# --hints-- + +Your `addEntry` function should have a `targetInputContainer` variable. + +```js +assert.match(addEntry.toString(), /targetInputContainer\s*=/); +``` + +Your `targetInputContainer` variable should be set to `document.querySelector()`. + +```js +assert.match(addEntry.toString(), /targetInputContainer\s*=\s*document\.querySelector\(/); +``` + +You should pass `targetId` to your `querySelector()` method. + +```js +assert.match(addEntry.toString(), /targetInputContainer\s*=\s*document\.querySelector\(\s*targetId\s*/); +``` + +You should concatenate `' .input-container'` to `targetId`. Remember to include the space at the beginning of `.input-container`. + +```js +assert.match(addEntry.toString(), /targetInputContainer\s*=\s*document\.querySelector\(\s*targetId\s*\s*\+\s*('|")\s\.input-container\1\s*\)/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +function isInvalidInput(str) { + const regex = /\d+e\d+/i; + return str.match(regex); +} + +--fcc-editable-region-- +function addEntry() { + const targetId = '#' + entryDropdown.value; + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md new file mode 100644 index 00000000000..06e5ac50cec --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e1965a898d302e0af4e3.md @@ -0,0 +1,203 @@ +--- +id: 63c1e1965a898d302e0af4e3 +title: Step 39 +challengeType: 0 +dashedName: step-39 +--- + +# --description-- + +JavaScript has a feature called template literals, which allow you to interpolate variables directly within a string. Template literals are denoted with backticks ` `` `, as opposed to single or double quotes. Variables can be passed in to a template literal by surrounding the variable with `${}` – the value of the variable will be inserted into the string. + +For example: + +```js +const name = "Naomi"; +const templateLiteral = `Hello, my name is ${name}~!`; +console.log(templateLiteral); +``` + +The console will show the string "Hello, my name is Naomi~!". + +Replace your concatenated string in the `querySelector` with a template literal – be sure to keep the space between your `targetId` variable and `.input-container`. + +# --hints-- + +You should use a template literal in your `querySelector` method. + +```js +assert.match(code, /const\s+targetInputContainer\s*=\s*document\.querySelector\(`.*`\)/); +``` + +Your template literal should have the value `{targetId} .input-container`. + +```js +assert.match(code, /const\s+targetInputContainer\s*=\s*document\.querySelector\(`\$\{targetId\}\s\.input-container`\s*\)/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +function isInvalidInput(str) { + const regex = /\d+e\d+/i; + return str.match(regex); +} + +--fcc-editable-region-- +function addEntry() { + const targetId = '#' + entryDropdown.value; + const targetInputContainer = document.querySelector(targetId + ' .input-container'); +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md new file mode 100644 index 00000000000..6aeab26c100 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e5b4b3c8a031def3bd65.md @@ -0,0 +1,197 @@ +--- +id: 63c1e5b4b3c8a031def3bd65 +title: Step 40 +challengeType: 0 +dashedName: step-40 +--- + +# --description-- + +Thanks to template literals, you actually don't need the `targetId` variable at all. Remove that variable, and update your template literal to replace `targetId` with `entryDropdown.value` – remember to add `#` before that, in the string. + +# --hints-- + +You should remove the `targetId` variable. + +```js +assert.notMatch(addEntry.toString(), /targetId\s*=/); +``` + +You should replace the `targetId` reference in your template literal with `entryDropdown.value`. + +```js +assert.match(code, /const\s+targetInputContainer\s*=\s*document\.querySelector\(`#?\$\{entryDropdown\.value\}\s\.input-container`\s*\)/); +``` + +You should add `#` at the beginning of your template literal. + +```js +assert.match(code, /const\s+targetInputContainer\s*=\s*document\.querySelector\(`#\$\{entryDropdown\.value\}\s\.input-container`\s*\)/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +function isInvalidInput(str) { + const regex = /\d+e\d+/i; + return str.match(regex); +} + +--fcc-editable-region-- +function addEntry() { + const targetId = '#' + entryDropdown.value; + const targetInputContainer = document.querySelector(`${targetId} .input-container`); +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md new file mode 100644 index 00000000000..b658496aeee --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c1e704ee12703347625900.md @@ -0,0 +1,197 @@ +--- +id: 63c1e704ee12703347625900 +title: Step 41 +challengeType: 0 +dashedName: step-41 +--- + +# --description-- + +You will want to number the entries a user adds. Declare an `entryNumber` variable and give it the value of `targetInputContainer.querySelectorAll()`. You do not need to pass an argument to the query selector yet. + +# --hints-- + +You should have an `entryNumber` variable. + +```js +assert.match(addEntry.toString(), /entryNumber\s*=/); +``` + +Your `entryNumber` variable should have the value of `targetInputContainer.querySelectorAll()`. + +```js +assert.match(addEntry.toString(), /entryNumber\s*=\s*targetInputContainer\.querySelectorAll\(/); +``` + +You should not pass an argument to `querySelectorAll()`. + +```js +assert.match(addEntry.toString(), /entryNumber\s*=\s*targetInputContainer\.querySelectorAll\(\s*\)/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +function isInvalidInput(str) { + const regex = /\d+e\d+/i; + return str.match(regex); +} + +--fcc-editable-region-- +function addEntry() { + const targetInputContainer = document.querySelector(`#${entryDropdown.value} .input-container`); + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md new file mode 100644 index 00000000000..15622f17e14 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2164c0df38a382062c4af.md @@ -0,0 +1,201 @@ +--- +id: 63c2164c0df38a382062c4af +title: Step 42 +challengeType: 0 +dashedName: step-42 +--- + +# --description-- + +Each entry will have a text input for the entry's name, and a number input for the calories. To get a count of the number of entries, you can query by text inputs. Note that you cannot query by number inputs, as you have an extra number input for the user's calorie budget. + +Pass the string `input[type="text"]` to the `querySelectorAll()` method. Remember that you will need to use single quotes for your string, so that you can use double quotes within. + +This will return a `NodeList` of all the text inputs in the form. You can then access the `length` property of the `NodeList` to get the number of entries. Do this on the same line. + +# --hints-- + +You should pass the string `input[type="text"]` to the `querySelectorAll()` method. + +```js +assert.match(addEntry.toString(), /entryNumber\s*=\s*targetInputContainer\.querySelectorAll\(\s*'input\[type="text"]'\)/) +``` + +You should access the `length` property of your `querySelectorAll()`. + +```js +assert.match(addEntry.toString(), /\.querySelectorAll\(\s*'input\[type="text"]'\)\.length/) +``` + +Your `entryNumber` variable should be the `length` of the `querySelectorAll`. + +```js +assert.match(addEntry.toString(), /entryNumber\s*=\s*targetInputContainer\.querySelectorAll\(\s*'input\[type="text"]'\)\.length/) +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +function isInvalidInput(str) { + const regex = /\d+e\d+/i; + return str.match(regex); +} + +--fcc-editable-region-- +function addEntry() { + const targetInputContainer = document.querySelector(`#${entryDropdown.value} .input-container`); + const entryNumber = targetInputContainer.querySelectorAll(); +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md new file mode 100644 index 00000000000..a7c1e1d3e7b --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c216da562fbb3957b9cb2c.md @@ -0,0 +1,192 @@ +--- +id: 63c216da562fbb3957b9cb2c +title: Step 43 +challengeType: 0 +dashedName: step-43 +--- + +# --description-- + +Now you need to build your dynamic HTML string to add to the webpage. Declare a new `HTMLString` variable, and assign it an empty template literal string. + +# --hints-- + +Your `addEntry` function should have an `HTMLString` variable. + +```js +assert.match(addEntry.toString(), /HTMLString\s*=/) +``` + +Your `HTMLString` should be an empty template literal. + +```js +assert.match(code, /HTMLString\s*=\s*``/); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Calorie Counter + + +
+

Calorie Counter

+
+
+ + +
+ Breakfast +
+
+
+ Lunch +
+
+
+ Dinner +
+
+
+ Snacks +
+
+
+ Exercise +
+
+
+ + + + + +
+
+ + +
+
+
+
+
+ + + +``` + +```css +body { + font-family: "Lato", Arial; +} + +h1 { + text-align: center; +} + +.container { + width: 90%; + max-width: 680px; +} + +h1, +.container, +.output { + margin: 20px auto; +} + +label, +legend { + font-weight: bold; +} + +.input-container { + display: flex; + flex-direction: column; +} + +button:hover { + cursor: pointer; +} + +fieldset, +label, +button, +input, +select { + margin-bottom: 10px; +} + +.output { + border: 2px solid black; + padding: 10px; + text-align: center; +} + +.hide { + display: none; +} + +.output span { + font-weight: bold; + font-size: 1.2em; +} + +.surplus { + color: #006627; +} + +.deficit { + color: #B30000; +} +``` + +```js +const calorieCounter = document.getElementById('calorie-counter'); +const budgetNumberInput = document.getElementById('budget'); +const entryDropdown = document.getElementById('entry-dropdown'); +const addEntryButton = document.getElementById('add-entry'); +const clearButton = document.getElementById('clear'); +const output = document.getElementById('output'); +let isError = false; + +function cleanInputString(str) { + const regex = /[+-\s]/g; + return str.replace(regex, ''); +} + +function isInvalidInput(str) { + const regex = /\d+e\d+/i; + return str.match(regex); +} + +--fcc-editable-region-- +function addEntry() { + const targetInputContainer = document.querySelector(`#${entryDropdown.value} .input-container`); + const entryNumber = targetInputContainer.querySelectorAll('input[type="text"]').length; + +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md new file mode 100644 index 00000000000..e8ced7f3436 --- /dev/null +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2171c1e5b6e3aa51768d0.md @@ -0,0 +1,198 @@ +--- +id: 63c2171c1e5b6e3aa51768d0 +title: Step 44 +challengeType: 0 +dashedName: step-44 +--- + +# --description-- + +Start your `HTMLString` with a new line, then create a `label` element. Give that element the text `Entry # Name`, using your template literal syntax to replace `#` with the value of `entryNumber`. + +# --hints-- + +Your `HTMLString` variable should start with a new line. + +```js +assert.match(code, /HTMLString\s*=\s*`\n/); +``` + +You should add a `label` element on the new line. + +```js +assert.match(code, /HTMLString\s*=\s*`\n\s*