this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

2023 day10: part 1 done

+476
+9
2023/day10/deno.json
··· 1 + { 2 + "tasks": { 3 + "cache": "deno cache part1.ts part2.ts", 4 + "pull": "aoc --day 10 download --overwrite", 5 + "test": "deno test --watch", 6 + "p1": "deno run -A part1.ts", 7 + "p2": "deno run -A part2.ts" 8 + } 9 + }
+37
2023/day10/deno.lock
··· 1 + { 2 + "version": "3", 3 + "remote": { 4 + "https://deno.land/std@0.208.0/assert/_constants.ts": "8a9da298c26750b28b326b297316cdde860bc237533b07e1337c021379e6b2a9", 5 + "https://deno.land/std@0.208.0/assert/_diff.ts": "58e1461cc61d8eb1eacbf2a010932bf6a05b79344b02ca38095f9b805795dc48", 6 + "https://deno.land/std@0.208.0/assert/_format.ts": "a69126e8a469009adf4cf2a50af889aca364c349797e63174884a52ff75cf4c7", 7 + "https://deno.land/std@0.208.0/assert/assert.ts": "9a97dad6d98c238938e7540736b826440ad8c1c1e54430ca4c4e623e585607ee", 8 + "https://deno.land/std@0.208.0/assert/assert_almost_equals.ts": "e15ca1f34d0d5e0afae63b3f5d975cbd18335a132e42b0c747d282f62ad2cd6c", 9 + "https://deno.land/std@0.208.0/assert/assert_array_includes.ts": "6856d7f2c3544bc6e62fb4646dfefa3d1df5ff14744d1bca19f0cbaf3b0d66c9", 10 + "https://deno.land/std@0.208.0/assert/assert_equals.ts": "d8ec8a22447fbaf2fc9d7c3ed2e66790fdb74beae3e482855d75782218d68227", 11 + "https://deno.land/std@0.208.0/assert/assert_exists.ts": "407cb6b9fb23a835cd8d5ad804e2e2edbbbf3870e322d53f79e1c7a512e2efd7", 12 + "https://deno.land/std@0.208.0/assert/assert_false.ts": "0ccbcaae910f52c857192ff16ea08bda40fdc79de80846c206bfc061e8c851c6", 13 + "https://deno.land/std@0.208.0/assert/assert_greater.ts": "ae2158a2d19313bf675bf7251d31c6dc52973edb12ac64ac8fc7064152af3e63", 14 + "https://deno.land/std@0.208.0/assert/assert_greater_or_equal.ts": "1439da5ebbe20855446cac50097ac78b9742abe8e9a43e7de1ce1426d556e89c", 15 + "https://deno.land/std@0.208.0/assert/assert_instance_of.ts": "3aedb3d8186e120812d2b3a5dea66a6e42bf8c57a8bd927645770bd21eea554c", 16 + "https://deno.land/std@0.208.0/assert/assert_is_error.ts": "c21113094a51a296ffaf036767d616a78a2ae5f9f7bbd464cd0197476498b94b", 17 + "https://deno.land/std@0.208.0/assert/assert_less.ts": "aec695db57db42ec3e2b62e97e1e93db0063f5a6ec133326cc290ff4b71b47e4", 18 + "https://deno.land/std@0.208.0/assert/assert_less_or_equal.ts": "5fa8b6a3ffa20fd0a05032fe7257bf985d207b85685fdbcd23651b70f928c848", 19 + "https://deno.land/std@0.208.0/assert/assert_match.ts": "c4083f80600bc190309903c95e397a7c9257ff8b5ae5c7ef91e834704e672e9b", 20 + "https://deno.land/std@0.208.0/assert/assert_not_equals.ts": "9f1acab95bd1f5fc9a1b17b8027d894509a745d91bac1718fdab51dc76831754", 21 + "https://deno.land/std@0.208.0/assert/assert_not_instance_of.ts": "0c14d3dfd9ab7a5276ed8ed0b18c703d79a3d106102077ec437bfe7ed912bd22", 22 + "https://deno.land/std@0.208.0/assert/assert_not_match.ts": "3796a5b0c57a1ce6c1c57883dd4286be13a26f715ea662318ab43a8491a13ab0", 23 + "https://deno.land/std@0.208.0/assert/assert_not_strict_equals.ts": "4cdef83df17488df555c8aac1f7f5ec2b84ad161b6d0645ccdbcc17654e80c99", 24 + "https://deno.land/std@0.208.0/assert/assert_object_match.ts": "d8fc2867cfd92eeacf9cea621e10336b666de1874a6767b5ec48988838370b54", 25 + "https://deno.land/std@0.208.0/assert/assert_rejects.ts": "45c59724de2701e3b1f67c391d6c71c392363635aad3f68a1b3408f9efca0057", 26 + "https://deno.land/std@0.208.0/assert/assert_strict_equals.ts": "b1f538a7ea5f8348aeca261d4f9ca603127c665e0f2bbfeb91fa272787c87265", 27 + "https://deno.land/std@0.208.0/assert/assert_string_includes.ts": "b821d39ebf5cb0200a348863c86d8c4c4b398e02012ce74ad15666fc4b631b0c", 28 + "https://deno.land/std@0.208.0/assert/assert_throws.ts": "63784e951475cb7bdfd59878cd25a0931e18f6dc32a6077c454b2cd94f4f4bcd", 29 + "https://deno.land/std@0.208.0/assert/assertion_error.ts": "4d0bde9b374dfbcbe8ac23f54f567b77024fb67dbb1906a852d67fe050d42f56", 30 + "https://deno.land/std@0.208.0/assert/equal.ts": "9f1a46d5993966d2596c44e5858eec821859b45f783a5ee2f7a695dfc12d8ece", 31 + "https://deno.land/std@0.208.0/assert/fail.ts": "c36353d7ae6e1f7933d45f8ea51e358c8c4b67d7e7502028598fe1fea062e278", 32 + "https://deno.land/std@0.208.0/assert/mod.ts": "37c49a26aae2b254bbe25723434dc28cd7532e444cf0b481a97c045d110ec085", 33 + "https://deno.land/std@0.208.0/assert/unimplemented.ts": "d56fbeecb1f108331a380f72e3e010a1f161baa6956fd0f7cf3e095ae1a4c75a", 34 + "https://deno.land/std@0.208.0/assert/unreachable.ts": "4600dc0baf7d9c15a7f7d234f00c23bca8f3eba8b140286aaca7aa998cf9a536", 35 + "https://deno.land/std@0.208.0/fmt/colors.ts": "34b3f77432925eb72cf0bfb351616949746768620b8e5ead66da532f93d10ba2" 36 + } 37 + }
+140
2023/day10/input
··· 1 + .F7FFJ7L-7.F-7.F7|F-L-7F7F|7.F7F7FJ.FLFF-77.FFF7-|FL-7LF-7F7FF--77.-777F-LJFFL7FJ.|-L7-FF-FJ77F7F7F-7F.|F7JF-L-J--|-F7|F-LF--77..J..F---.F7- 2 + |7LJJ-||.FF-7.|||J-|LL|-J7JFF77LFFJ.7J|L|LJ7F7J|-77||7LL7||L7L7FJFF|F-7|7-|FFJFJ|-|.L7.|.7.|F7-|F7J-JFFJFLJL|J7L|FF77J.-7LJF|LJ7||FFJF-JF-7J 3 + L7J|JJF-L|J.L7.LJF77.LF7JL-J|.L.7J-FF7|FJ7LF||LJLL.LJ-J|||L7L-JL7-J7JFL|L7FF--F-|.|F-L|F7-.L7J|L|.J.L||7||7.|.F7--J|J-|F|7||7-LF--JJ.L-JF-J- 4 + .LFF--|.|LFJ7||.||7-7||J.F|F|-J-|.|L|L-7L-J|.-77.|F.|.FFJL-JF---J7-FJL7L---J|J.JJFF77LJ-J.FFJ.-.|J7F.|L--J7-FJL-F-7J.|JLF7FL7|7F7LL----7J7|7 5 + ..7JJFJF|J.L-7-F7JJL|-L.|F-FJ7J7L|7-L7FJ7L77J|JL--|FF7-L--7FJF7F7L7J-L-7|J|-L.FL-J.L|-J.L|7L-|LFJ|LF-FJLJ7FJ.|7LL-J-J77-L-|JL--J7JLF|-FJL--- 6 + FFJ.L7LJ7.|J|..LJ|FFLF--J|.JF7L|L-J.L||F-7F7JF7..7-|||-F7FJ|FJ||L-7LLL7FJ.F7|-|.FL|JL|F7.FJF-J-F-7FJ.L|.FF|7F|7L|||.F||7|LL7|.LLF7.L77|J.LL. 7 + 7J7|.F7.LJ|F7--J-L7J7.F|..F.7J-LFJ.F7|LJFJ||FJ|-||FF||FJ|L7||FJ|F-J7..J|F|.F7-|FLL|F-F-7F7||F|.J-L||7.L-J7LJ|J|.7JF7|7JL|LJ-L7L7|J-||JL|JJ-- 8 + LF-JFJ|LJJ|.F-F.|LL.|F77J.LJ||.FF7F||L-7|7|||FJ-F7F7||L7|F|||L7|L7F7-|LFF7FJL7F77|L--L7|||F-7JL7L|.F7-FL--JFLJFFFJL7LJ-FF-|-L77F77.JJ|FJJF.| 9 + LF7L7LF.||F.L-|77|.|LFL|7FF-|7-FJL7||F7|L-J|||F7||||||FJL-JLJFJ|FJ|L7J-FJ|L7FJ||7FJ||FJLJLJFJ|J7.F-J|.|F7|JLJJ|..FLFJL7JL7.-.|F.|F-JF-L..|F7 10 + -LJ7||L-F7|7.FLJ-J.F77.77|7JF77L-7LJ||LJF7FJ|||||LJLJLJF-7F-7L7|L-JFJLFL7|FJL7|L77--7L-7F--JFF7-F77L|FFFJJ77|FFF77||-LL7F|.F7-J-FJ.LF-|-|7.| 11 + JFFL77|.L-|L-J-|7FLFJL7LFF7-||F-7L-7||F-JLJFJ|||L-7F7F7L7LJLL7||F--J|FF-J||F-J|FJ7|FF7FJL-7JFF7F777FF77||.F-7-FJL-77-F7F-7-LJ-|FF-L-|F77J|FJ 12 + FJ7L|L--F7|F7|7FJ-|..||.L||FJ|L7|F7|||L---7L7LJ|F7LJLJL-JF7-FJLJL7F7F7L7FJ||F7||JF-7||L7F-J-FJ|||F7F7JL77.L7|7L7F-J--LLL7L7FJLJ7|JJ.L|.7-FFJ 13 + L7|F7.|-|L-JLFF-JF-7FF--7|LJFJF|||LJLJF---JFJF-J|L7F--7F-JL7L7F--J|||L7|L-JLJLJL7L7|||FJL7-LL7||||LJL7F-7F7||F-JL7J|FJ|-|FJ7JFFF7FFF-|-|--L7 14 + L-J-7-7-|JJL-JF-77F|7L-7LJF-JLFJ||F--7L-7F-JFJF7L7|L7FJL--7|FJL7F7|LJFJ|F-------JL|LJLJF7|F7L|||||F7FJL7LJLJ|L7F-JLF7F--J|F77F7||7JL7L.L7.JJ 15 + F..L|J.F|LJ.FF77-LF--7L|F7L7F7L7LJL-7L--JL-7L7|L7||FJL7.F7||L-7||||F-JL||F7F--7LF7L--7FJLJ|L-JLJ|LJ|L-7|F--7L7|L--7||L--7LJL7||||F7.--JJJJJ. 16 + -77JF--F--FLJF7.LFL-7|LLJL7LJ|JL-7F-JF7.F7FL7||FJ||L7FJFJLJL--J|||||F-7|||||F7|FJ|FF7||7F7L7F7F7L7FJF-JLJF7L7||F-7||L--7L-7FJ|||LJL7F|7||L77 17 + L|7-|J.|.F--L|LJ-7F-J|F7|FL7FJF-7||F-JL7||F-J|||FJL-JL7L------7||LJ||FJ||||||LJL7L7||||FJL7LJLJ|FJ|FJF7F7|L7|LJ|F||L--7L7.|L-JLJF7FJFLFFJ|.F 18 + ..JJ||7LLJ.7--7|L-L-7|||-F-JL7L7LJLJF-7|||L-7LJ|L7F---JF--7F7FJ||F-J|L7|LJLJL7F7L7||||||F-J7F7FJ|FJ|FJ|||L7|L-7L7LJ-F7|FJFJF7F7FJLJF-.FJLL77 19 + J.|.L.-7L|77-F7-77LFJ||L7L7F7L7L-7F-JJLJ|L7JL-7|FJ|F7F7L-7|||L7|||JFJFJ|F--7FJ||7|||||LJL7F7||L7|L7LJFJ||FJL-7L7L7F7|LJ|L|FJ||||JJLL77JFJ.77 20 + |.FL|-LLFL---|.FF7.L7||FJ7LJL7L7FJL-77F7|FJF--J|L7LJ||L-7|LJL7||||FJFJF|L-7LJL||FJLJ||F--J||||FJL7L-7L7|||F--JJL7LJ|L-7L7|L7||LJJ.|-FJ-LF7FJ 21 + FFJ||--LFJ|JFLF7||F-JLJ|F7F-7L7||F--JFJLJL7L--7|FJF-JL-7|L--7LJLJ|L7|F7|F-JF7FJ||F-7LJL-7L||||L-7L7FJFJ|LJ|FF7F7L7FJF7|FJ|FJ|L7-7-F7F7.LJ7|. 22 + FL.J|JLF.FLFF7||||L---7||||FJFJLJL--7|F7F7L7F7|||FJF7F7||FF7L--7FJFJLJLJL--JLJFJLJ||F--7|FJ||L7FJFJL7|FJF7L7|LJL7|L7|LJL-JL7L-J7J|LLJ-7..F7- 23 + J-7-J-FF.|JFJLJLJL-7LFJ||LJL7L-7F--7|||LJL7||LJ|||FJ|||||FJL---J|||F----7F-7F-JF7F7||F7LJ|FJ|FJ|FJ7FJ|L-JL7||F--J|FJ|F---7FJF7F7-|.||J.7F-7J 24 + L-J-|.F|.L-L----7F7L7L7|L7F7|F7||F7LJLJLF7|||F-J||L7|||||L7F---7|FJ|LF-7LJ-LJ7FJ||||||L7-|L7||.||F7|FJ7F7L|LJL-7FJL-J|7F7LJ||||L-7-LJ|..|7|7 25 + |FLFJF|J7L7|F7F7LJL7L-JL7LJ|LJ||LJL7F77FJLJLJL-7||FJLJ||L7LJJF-JLJFJFJFJF----7L7LJLJ||FJFJFJ|L7|LJLJL7FJL7|F-7FJL7F--JFJL--7|||F-JJ|.F7F|-F7 26 + LL.|F7JLFF7FJ|||F--JF7F7L--JF-JL-7FJ||FJF---7F-J|||F7FJ|FJ|F7L---7L7|FJF|F---JFJF7F-J|L7L7L7L7|L--7F-JL-7LJ|-||F-JL7FFJF---J|||L7F7-FJL7LFLF 27 + .|-F---FFJ|L7|||L---JLJL---7|F7F7|L-J|L-JF--JL-7|LJ|LJFJL-7|L7F--JFJ|L--J|F-7FJFJ||F7L7L-JFJFJL7F7|L-7FFJF7L7LJL--7L7L7|F7F7||L7LJL7|F-J7L-J 28 + -JF7|-7JL7L-JLJL-----------J|||||L7F-JF-7L7F-7FJL-7|F7L7F-J|FJL--7L7L7F--J|FJL-JFJ||L-JF--J|L7FJ|||F-JFJFJL-JF7.F7|FJF|LJ|||||F|F--J|L-7JJ-. 29 + FLF-J7L7LL---7F---7F7F7F7F-7LJLJL7|L-7|FJLLJFJ|F7FJ||L7||F7||F7F7|FJFJL-7FJ|F7F-JFJL-7FJFF77FJL7|||L7FJFJF--7||FJLJ|F7|F-J|LJ|FJL-7.|F-JJJ.L 30 + F|LJ|FJL-|JF7LJF77LJLJ|||||L-7F-7LJF7|||-F-7L7|||L7|L7||||||LJLJ||L-JF7FJ|FJ|||F7L--7||F7|L7L-7||LJFJL7L-JF-J||L-7FJ||||F7L7FJ|F-7L-JL----7| 31 + LJ|JFJ||FFFJL-7||F7F-7LJLJF--J|FJF7|LJ||FJFJFJ||L-J|7|||LJ||F--7LJF--JLJFJL7||LJL-7FJ|||||FJF7||L-7L7FJF--JF7|L7J|L-JLJ||L-JL-JL7|F7F7F-7FJJ 32 + F----JL|7LL--7LJLJ|L7|F-7LL--7|L7|||7FJ|L7L7L7|L--7|FJLJF-JLJF7|F7|F--7FJF-J||F--7||FJ||||L7||||F7L7||FJF7FJLJFJFJF-7F7LJF-7F7F-J||LJ||FJL7J 33 + F77FJ.LLF7F--JF--7L-JLJFJF7F-J|7LJ|L7L7L7L7L7|L7F7|LJF7FJ|F7J||||LJL-7|L7|F7||L7FJ|||FJ||L7|||||||J|LJ|J|LJF--JFJFJFJ|L7FJ|LJ|L-7|L-7LJL-7|| 34 + --L77FJ|||L-7FJF-JF-7F7L7||L--JF7FL7|FJFJFL7LJFJ|||F7|LJF7|L-J||L7F7FJL7||||||FJL7|||L7|L7|||||LJL7|F7L7|F-JF--JFJ-L7L7|L7F7||F7|L-7L7LJ-||7 35 + .L|LF..FJL7FJL7L--J|LJL7LJL----J|F-J|L7|FF7|F-JL||LJ||F7||L-7FJ|FJ||L-7|||||||L7FJ|||FJ|FJ|||||F--JLJ|FJ|L--JF7FJ-F7L-JL-J|L7LJ|L-7L-J.FLLJ. 36 + |L7-J7-L-7LJF-J|F-7F7F-JF--7F7F7LJF7L7|L7||||F7FJL7FJ||LJ|F7||FJL7||F7|||||||L7|L7||||FJ|FJLJ||L-7F7FJL7|F--7|||F7|L--7F77|FJF7L--JJF7-L.|J7 37 + 77LJ.-.L-|F7|-F7L7||LJF7L-7LJLJL--JL7|L7LJ|||||L7FJL7|L7J|||||L-7||||||||||||FJ|-|||||L7|L7F-JL-7||LJF7LJL-7LJLJ||L-7FJ|L-JL7||F7F7L||F|7|-| 38 + |F--JJ7|F||LJFJL7||L--JL--JF---7F7F-JL-JF7||LJL7|L7FJL7|FJ|||L7FJ||||||||||||L7L7|||||FJL7|L-7F7|LJF7||F---JF---JL7FJL7|F---J|LJLJL-J|JLL77J 39 + FLJLL7FJL||JFJF7LJL--------JF-7LJ|L---7FJ||L7F7|L7|L7LLJ|FJ||FJ|FJ|LJLJLJLJ|L7L7|||||||F-J|F-J|LJF-JLJ|L---7|F----JL7FJ|L----JF7F----J|F.L77 40 + -J|JJL.LF|L7L-JL7F7F7F--7F-7|FJF7L---7LJFJL7LJ|L7|L7|F--JL7||L7|L7L-------7|FJFJ|||||||L--JL-7L-7L---7L---7LJL---7F-JL-JF----7||L--7.L-L77L7 41 + JF|7..FF7L-J7F-7||||||F-J|FJ|L-J|F--7L7FJ|FJF7|FJL7LJ|F7F-J||FJ|FJF7F7F7F-J|L7|FJLJ|||||F----JF7L7F--JF7F7L--7F7FJL7F7F7L-7F7LJL---JJ77L-7J. 42 + |J|L-7-|L-7F7L7LJ|||||L7FJ|FJF--J|F-JFLJF7|FJ||L7FJF-J|LJF-J|L7|L7||||||L7FJFJ|L-77|||L7|F-7F7||FJ|F-7|LJL--7LJLJF7||LJL-7LJL-7F7F-7.|7JF|JL 43 + L-|..L7L-7LJL-JF7||||L7||FJ|-L---JL-----J||L7LJL|L7L7FJ-FJF7L7LJFLJ||||L-J|FJFJF7L7||L7|||FJ|||LJF|L7||F----JF7|FJLJL7-F7L-7F-J||L7L7.|7FJ.L 44 + |-7-7FJ|LL-7F7FJ|||||FJLJL-JF---7F7F--7F7|L7||F-JFJFJL-7L7||FJ7F---J||L--7|L7|FJL7|||7LJLJL7|||F--JFJLJL-----JL-JF7F7L-JL-7LJF7||FJFJ-JLJ777 45 + JFL-F|.|J.LLJ||FJ|||LJF7F---JF-7LJ|L-7LJ|L7|L7L7FJ-L7F-JFLJ|L7FJF-7FJ|F7FJ|FJ|L-7||LJF7F7F-J||||F-7L7F-7|F7F7F7F7|LJ|F-7F7L--JLJLJFJJ7.7|F77 46 + LJJ7J|F|..L|7LJL-JLJFFJ|L--7FJLL-7L-7L-7L-JL7|LLJFF-JL--7F-JFJ|FJJ|L7||LJFJL7L7FJLJF-JLJLJF-J||LJ.L-JL7L-JLJLJ||||F7LJF|||F-7F7F7FJFL|-L|JJ| 47 + LJ7L.7-FF77F7-F-7F7F7L7|F--J|F-7FL-7|F7|F-7JLJF7F7|F-7F7|L-7|FJL7FJFJ|L-7L7FJFJL--7|F7F--7|F7LJ-F7F7F7L--7F--7LJLJ|L--7||LJFJ||||L77F7.L|7|| 48 + |.FL.LF---7||-L7LJLJL7||L---JL7L---JLJLJ|FJF7FJLJ|||FJ||L7FJ|L7FJL7L7|F7L7|L7L7F--J||||F-J||L--7|LJ|||F7|LJF7|F---JF--JLJF7|FJLJL7L-J|7.||L- 49 + ..FJ.FL7F7LJL7|L----7LJ|-F7|F7L--------7|L-JLJF--JLJL7|L-JL7|FJL-7|FJ|||FJL7L7|L7F7LJLJL--JL--7|L-7LJLJL7F-JLJ|F---JF----J|LJF7F7L-7FJ7FF77L 50 + F-|-7F|LJL7F-JF-7F--JF-JFJ|FJL--------7LJF--7FJF---7FJ|F---J|L7F7||L7||LJF-JFJL7LJL7F---------J|F7L-7F-7|L----JL----JF7F--JF7|LJL77LJLJ-LJJ| 51 + F-|--LF---J|F7L7|L--7L-7L7|L---------7LS7L-7LJL|F--JL-JL-7F7|FJ||||FJ|L-7L-7L-7|F7FJL--7F7F---7LJ|F-J|FJL-7F--7F-7F-7||L---JLJF-7|7F|.|FLJL7 52 + -7.|FLL7F-7|||FJ|FF7L-7L7|L--77F----7L-7L--JF7FJL-----7F7LJ|||FJ|||L7L-7|F-JF7|||||J|F7LJLJF--JF7LJF7||F-7LJF7|L7|L7|||F7F---7|JLJLFJ|LL77LF 53 + FLL-||LLJFJLJLJFJFJL-7|FJL--7L7L---7L--JF7|FJLJF-7F--7LJ|7FJ|||FJ||FJF-J|L--J||LJ|L-7|L--7FJF7FJ|F7|LJLJFJF7||L-JL7|LJ||LJF-7|L--7---LF-L77| 54 + F|FFLJ-F-JF---7|JL--7LJ|F7F7L7|7F-7L---7|L-JF7FJJLJF7L-7|FJFJ||L7|LJ7L-7L--7FJL-7|F7|L7F7LJFJLJL|||L7F-7L-JLJ|LF-7|L-7|L77|FJL---JJ.||.||7-L 55 + F|777F-L--JF7|||F--7L-7||LJL7||FJFJF---J|F--JLJF7F7|L7LLJL7L7||FJL----7L7F7|L7F-J||LJ-LJL7FJF7F7LJL-JL7|F----JFJFJL7FJL7L-JL----77.F|7-F7|J| 56 + |.|FF77|F--JL-J||F7L--J|L--7LJ|L7|.L----JL-----JLJLJFJF--7L7|||L7F7F-7L7|||L7LJ|.LJF-7F--JL7|LJL7F7F7J||L-7F7L|FJF7LJF7L7F--7F--J7F7JJ||J77| 57 + L--FL-F-JF----7|LJL-7F7L---JF7L7|L7F7F7F7F7F-7F-----JFJF-JFJ|||FJ|||.|FJLJL7L-7777|L7LJF---JL7F7LJLJL-JL--J|L7||7||F-JL7|L-7LJJJFFJ||.||FLFL 58 + F-LL7-L-7|7F--JL7F7JLJ|F7F--JL7||FJ||||||||L7LJF7F7F7L7L-7L7|LJ|FJLJFJL7.F-JF-J7-F7-L--JF--7.LJ|F-7F7F7F-7LL7LJL7|LJF7FJL7FJF-7|L---7FJF-7LL 59 + L7|FLJ..LJ-L---7|||F7FLJ||F---JLJL-JLJLJ||L7L--JLJLJL-JF-J-LJF7|L-7LL-7|FJF7|J-L|||-F7F-JF7L---JL7LJ||||FJF7|F--JL7FJ|L7||L-JFJ7|J-J7LL|JL-7 60 + L7-F.LJ.FFLF---JLJLJL---J|L----7F7F7F--7LJLL-7F-------7L77FLFJLJF-J7-LLJL-JLJF-.F|L-J|L--JL---7F-JF-J|LJL-JLJL----JL7L7L7L--7|F777-L|7J.L|F7 61 + LFJ|L.|-F|FL----7F7F----7|FF7F-J|||||F-JF---7LJJF----7L7L77.L--7L7J|.|.|J7FJJJLFFJF-7L7|F-7F--JL7FJF7|F---7F7F7F7F--JFL-JF-7|LJL7J.L|.77FFF| 62 + ||-FJ--.|JF-----J|||F7F7LJFJLJF7|||LJL--JF--J|F7|F--7L7L-JF7|-L|FJ-|-|.L7F|L|L7|L-JLL7L7L7|L--7FJL-JLJL--7LJLJ|||L-------JFJL---J-FFJ.-|-JJ| 63 + 7L7L-JFFJ-L---7F7||||LJL7-L7F-JLJLJF7F7F7L7F7FJLJL7-L-JJF7|L7.FLJJFL.F.LLF7-J|F-7F7F7L7L-J||F7LJ7F-7F77F7L--7|LJL---7F----J.F7F--7J.L7JLLFJF 64 + |FLJLF-|JLF7F7||LJ||L7F7L--J|F-----JLJLJL7LJLJF--7L7FF-7||L7|-L-J-|7F77-FJ-F77L7|||||F|F-7L-JL--7L7LJL-J|F-7L7F7F7F7LJF7F7F7||L7FJ7FL77.F|-L 65 + |--|FJ|L|-|LJ|LJF7LJJLJL7F--JL--------7F7|F7F7L-7L7L7L7LJL-JL77FJJ|7-J|.LJLF---JLJLJL-J||L7F---7L7L----7LJ7L7LJ||LJ|F7|||||||L-JL-7F7JL-|JL| 66 + |.|L|LLF|7L-7|F-J|F7-F7FJ|F--7F7F----7LJ|||LJ|F7L7L7L-JF7F7F7|-LJ.|---F-LJFL---7F-7F-7FJF7LJF7FJFJFF--7L---7|F7LJF-J|||LJLJLJF---7LJ|77.||F| 67 + F777L|.|J-F-JLJF7LJ|FJ||FJ|F7LJLJF--7|F-J|L-7||L7|FJF7FJLJLJLJJ|FJ-J7|JFFF7|JLFJL7LJJLJL|L-7||L7|F7L7FJF---JLJ|F7|F7|||F--7F-JF-7L--J-L.--F| 68 + LJ-FFJ-L|LL----JL7FJL7|LJ.LJL--7FJLFJ|L-7L7FJLJL||L7||L-7F7F77-77L|7-7--7F7J-FJF-JJF---7L-7LJL7||||7|L7L-----7|||LJ||||L-7LJF-JFJJF7J||F|-|| 69 + L---JLL.-J|F7F7F7||FFJ|F7F7F---J|F-JLL--JLLJF7F7LJ.LJ|F7LJLJL77JF-J|LJ7F7.||F|FJ7|.L--7|F7L--7LJLJL-JFJF-----J|||F-J||L7FJF7L7FJF7|L7F777FF| 70 + -7FJF77-|FFJLJLJLJL7L7||||LJF7F-JL-7JF-7F7F7||||F7F-7LJL---7FJ|.JJ77JLF|77|FLLJLF7-F7FJLJL---JF7F7F-7|FL---7F7LJLJF7|L-JL-JL7||.|||FJ|L77FL7 71 + F--J-F----JF--7F--7L7||||L--JLJF---JFJFJ|||LJLJLJ||FJ7F-7F7LJJ7F|FL-77LL|--L.L|FJL7||L7F-7F7F7|||LJFJ|F7F-7LJL7F7FJLJF7F----J|L-JLJL7L7L7JLJ 72 + J7L--L----7L-7LJF-JFJ||||F7F--7L----JFJJ||L7F----J||F7L7||L7F7J-F7L|.--F|.FJFFFJF7LJL7LJ7LJLJLJ|L7FL7|||L7|F--J|||F--J|L-----JF----7L-JFJJ7J 73 + FL-..F----JF-JF7L-7L-JLJLJ|L-7|LF-7F-JF7||FJL---7L|LJ|-|||FJ|||F77-|L..-JFL7FFL-J|F-7|F7F7F7F--JFJF7||||L||L---JLJL-7|L-7F--7FJF--7L-7FJJ||7 74 + FJ.LFL----7|F-J|F-JF7F-7F7L--JL7L7|L--JLJLJF----JFJF7|FJ|||L|L7|L7-||F-J.J.-FJ.|FJ|FJLJLJLJ|L---JFJLJLJL-J|F---7F7F7L--7|L-7|L-JF7L-7|L-7F7J 75 + ..77||F|J7|||F7LJF7||L7LJL----7L-J|F-------JF77F7L7|LJL7LJL-JFJ|FJ-|-JJ|.L7.|FF-JFJL-7F7F-7L----7L---7F7F7LJF7F||LJL---JL--J|F-7|L7FJ|F7LJ|| 76 + 7.LF|LFJ-FLJLJL--JLJ|FJF7LF7F7L--7LJ7F------JL-JL7|L7F7|F----JFJL77J.|.L--|-JFL7FJF-7LJLJFJF7F-7L----J|LJL-7|L7LJF7F7F7JF--7|L7||.||.|||F-JJ 77 + ....|-L7FLF---7F----J|FJL-JLJL---JF7FJF7F7F-7F7F7LJFJ||||7F7F-JF-JF77J|.JF|L7J.LJFL7L---7L-JLJ-L---7F7|F---JL7|LFJ||||L-JF7||FJLJFJL7|||L7JJ 78 + 7.FF|7J.F.L-7FJL-7F--JL-7F7F---7F-JLJFJLJ|L7|||||F7|FJLJL7|||F-JF-J|-F77J|LF7.-L|F7L---7L--7F------J|||L-----JL7L7||LJF--JLJLJF7LL7FJ||L7||L 79 + F--7JF7FF---JL--7LJF---7LJ||F--J|F---J7F7|FJ|||||||LJF7F7LJ||L--JF-J7||J7J.|L7..FJL77F7L-7FJ|F-7F-7FJLJF---7F-7L-JLJF7|F7F7F--JL-7||7LJJLJ77 80 + JJF|||F-L7F7F-7FJF7L--7|F7LJL-7FJL-7F--J||L7LJ|||||F7||||F7LJF--7L-7FJ||F-7-F7FFJF7L7||F-JL7LJFJ|FLJF7LL--7|L7|F7F7FJ|LJLJLJF-7F7|LJF|L-7|-7 81 + J7-7.FF|-LJLJFJ|FJ|F7FJLJL7F7FJ|F-7LJF7FJL-JF7LJ||||||LJLJ|F7L-7L7FJ|FJFJFJJ|L7L7|L7LJ|L-7FJF7|FJF--JL----JL-JLJ||||FJF-----JFLJLJ7LF-7J-7.| 82 + LJF|-FJL.|LF7L7|L7|||L--7FJ|LJFJL7L--JLJF---JL-7LJLJ|L--7FJ|L--J7LJ7|L-JFJF-JFJJLJ7L-7L77|L-J|LJ.L-------------7LJ||L7L----7F-7JF-77|FJJLF.F 83 + .LJ|..7--F-JL-JL-J|||F--JL7L--JF7L------JF----7L7F7FL--7|L-JF7-F-7F7L--7|7L-7|F-7F--7L7L-JF--JF7F7F------------JF7LJ.L7F7F7LJFJFJFJFJL77FL-J 84 + LF-|7FF7-L-------7LJ|L---7|.F7FJL--------JF7F7L-J|L-7F7LJF7F|L7L7||L7F-JL7LFJ|L7|L-7L-JF-7||F-JLJLJF-7F-------7FJL7FF7LJ|||F-JFJFJFJF-J-L-J. 85 + L7J||.|.FF7F7FF--JF7L7F--JL-JLJF------77F7|LJL7F-JF-J|L7FJ|FJFJFJ||FJL--7L7L7L7|L77L-7FJFJL7L------JFLJF7F----J|F-JFJL-7LJ||LFJFJFJFJ|J|JL7. 86 + LJF|J.77FJLJL-JF7FJL7LJF7F-----JF7|F-7L-JLJF-7LJF7|F7L7||FJ|FJFJFJ|L7|F7L7L7|FJL7L7F7LJFL7FJF--7F77F7|FJLJ|F7F7|L7FJF--JF7LJFJFJLL7|F777..|. 87 + |7F|J|.-L----7FJ|L-7L--J||F-----JL-JLL-----JFJF-JLJ|L7|LJL7|L7L7L-JFJFJL-JFJ|L-7L7||L--7FJ|-L-7LJL-JL-JF---JLJ||FJL7L---JL7FJFJF7FJLJL-7--77 88 + L7FJF7F-FF---JL7L7FJF---J|L7F7F-7F-7F--7F7F7L-J-F7L|FJL-7FJL7L7|F7FJ-L7F-7L-JF-JFJLJF--JL7L7F7L-----7F7|F--7F7LJL--JF7F---JL7|.|LJF7F--J|-|J 89 + L||-L7-JL|F7F7FJFJ|FJF7F7|FJ|LJ.LJJLJF7LJLJL7-F7|L-JL--7|L-7L7|||LJLF7||FL7F-JF7|F-7L---7L7LJL------J|LJL-7|||F-----JLJF7F7FJL-JF7||L-7J-7F7 90 + ||LFLJ.F-LJLJ||FJFJL7|LJLJL-JF7F7F7F7||F-7F7L-JLJF7F---J|F-JFJLJL--7||LJF-JL-7||LJ|L7F--JFJF---7F7F7FJF-7FJLJ|L--7.F--7|LJ||F---J||L--JJJFFL 91 + L|J...FF----7LJL-JF7LJ|F7LF7FJLJLJLJLJ||FJ||F7F7FJLJF7F7||-FJF-----J|L7FJF7F-J|L7JF7||F7F|FJFF-J|||LJJL7LJF-7L--7L-JF-JL-7||L--7LLJF7|F77FJ| 92 + LL7F-7FL-7F7|F7F7FJL--7||FJ|L--------7|||FJLJLJLJF7FJ||||L7|FJ7F--77|FJL-J|L7|L7|FJ||LJL7LJF7L--J||F---JF-JFJ-F7L---JF7F7|LJF--JF7FJL-JL-7JJ 93 + ..|7.||FLLJ|LJLJ|L---7LJ|L7|F--7F----JLJLJF---7F-J||FJ||L7|||F7|F-JFJL77F7L7|F7||L7|L--7L--J|F7F7LJL----JF-J-FJL-----JLJLJF7L-7FJ||F-----JJ. 94 + F-7-FJ|F--FL7F-7L---7L-7L-J|L-7|L------7F-JF--JL-7LJL7|L-J||LJ||L-7L7FJFJL-JLJ||L7|L--7L-7F7LJLJL7F7F7JF-J-F7|F-7F-7F7F-7FJL-7LJFJ||FF---7-| 95 + J7|7||L7JFF7|||L7F-7L-7L7F7L--JL-------J|F7L---7FJF--JL-7FJL7FJ|F-JFJ|.L----7FJL7||F-7|F7LJ|F-7F7LJLJL7L---JLJL7LJFJ|||FJL--7L-7L-JL7|F--JL7 96 + .7LFF-L|J-||LJF-JL7|F7L7LJL7F7F7F7F77F7|LJ|F---JL7|F-7F-JL7FJ|FJ|F7L7L7|F7F-JL--JLJL7LJ|L-7|L7LJL---7FJF7F-7F-7L-7L-JLJL7F-7|JFJF7F7LJL--77| 97 + -J-||FFF-7||F7L---JLJL7L7F7||LJLJLJ|FJL7F7|L7F-7FJ||FJL-7FJL7|L7|||FJFJFJ||F----7F--JF7L7FJL-JF77F--JL-JLJFLJJ|F7L-7JF--JL7||FJFJLJL7F--7|FJ 98 + LJF|F--JFJ||||F7F7LF7|L7LJ|LJF7F7F7LJF7LJ|L7LJFJ|FJ||F7J||F7|L-J||LJFJFJFJLJF---JL-7FJ|FJL7F7FJL7L-7F7F7F----7LJ|F7L7L7F-7|LJL7L--7FJL-7||JJ 99 + FF-FL--7L-J||||||L-J|F-JF7L--JLJLJL--JL--J.L-7L-JL7|||L7|LJ|L--7||F-JFJFJ.F7L7F7F7FJ|FJ|F-J|LJF7|F-J|LJLJF7F-JF7|||FJFJL7|L7F7|F-7|L-7FJLJJ7 100 + --7|-F-JF-7|||||L--7|L--JL-----7F---7F7F7F7F-JF-7FJ|||FJL-7|F7FJ|||F7L7|F7||-LJLJ||FJL7|L-7|F-JLJL-7|F---JLJF7||LJLJLL7FJ|FJ|LJ||LJF-J|F77F7 101 + .L77.L--JFJLJLJ|-F7||F7F------7||F--J|||LJ|L-7||LJF||||F77|||||FJ||||FJ|||||F-7F-JLJF-JL-7LJL--7F7.LJL------JLJL-7F7F7LJ-|L7|F7L7.L|F7LJL-J| 102 + 7.L-|JJF-JF---7L-JLJLJ|L7F-7F7LJ|L---JLJF7|F-JL7F7FJ|||||FJ|||||FJ|||L7||||||FJL---7|F7.FJF---7||L-7-F------7F---J|LJL7JFJFJLJL7L-7LJL7F7F7| 103 + |-|JJLFJF7|F--JF-7F7F7L-J|LLJL7FJF7F7F--JLJL-7FJ||L7|||||L7LJ||LJFJ||FJ||||||L-7F7J|LJ|FJFJF7JLJL-7L7|F7F--7LJF---JF-7L7|FJF---JF7L--7|||||| 104 + FJJ|JF|FJLJL7F7L7LJLJ|F--JF7F7LJFJLJ||F7F7F7FJL7||FJ||||||L-7||F-JFJ||FJ|||LJF7|||FJF-J|FJ.|L-7F7FJFJLJLJF-JF7|F--7L7|FJ||JL--7FJ|F7FJ||LJ|| 105 + 77FJ-JLJF|F-J|L7|F7F-J|F-7|LJL--JF-7LJ||||||L7FJ|||FJ||||F7|||||F7L7|||7||L7FJLJ||L7|F7||F7L7FJ|||FJF7FF7L--JLJL-7L-JLJFJL-7LFJ||||LJFJ||||| 106 + J-7JJFF---JF7|.LJ||L--JL7|L---7F7|7L7FJ||||L7|L7|||L7|LJ||L7|||||L7|LJL-JL7||F7FJ|FJLJ||||L7||FJ|||FJ|FJL7F-7F7F7L----7L--7|FJFJFJL-7L-J7FLJ 107 + L-77F-|F--7|||F--JL---7FJ|F7F7LJ|L-7|L7||||FJ|FJ||L7|L-7||FJ|LJ|L7|L7F--7-||LJ|L7LJF7FJ||L7||LJFJ||L7||F-JL7||LJL--7F7L7F7LJL7L7L--7|7JL7-JJ 108 + |FL||FLJ|LLJLJ|F-----7|L7LJLJL--JF7||FJ|||||FJL7|L7||F-J||L7L7J|FJL7||F7L-JL-7L7L--J|L7|L7||L-7|FJL7|LJL-7FJ|L--7F7LJL-J|L7JLL-J7J|LJ-7-F77| 109 + FF-JF|F|-.F7F7|L7F---J|||F7F7F-7FJ||||FJ||||L-7|L7|||L-7LJFJFJFJL-7LJLJ|F7F7FJF|F---JFJL7|||F7|||LFJL7F7FJ|F|F-7LJL7F7F7|FJJLFJ-J-|J|FJ.|L-J 110 + -F-F-L-F--|LJLJFJL---7L-J|||||FJL7LJLJ|FJ||L7FJL7|||L7FJF7L7L7L7F7|F---J||||L7FJL--7JL7FJ||||LJLJFJF7LJ|L7|FJL7|F7FJ|LJLJL--77J7.-.|L7LFL-|J 111 + ||--77FL-LL-7F-JF----JF7FJ||||L7FJF--7LJ|LJFJ|F-J||L7||FJL-JFJ-||||L-7F7|LJ|FJL7F--JF-J|-LJ|L---7|FJ|F7L7||L7FJLJ||||F----7FJ|FJFLF-7|.LFJJ. 112 + -FJ-F7|.LFLFJ|F7L--7F7||||LJ||FJL-JF7L---7LL7||F7|L7|||L-7F7|F-J|||F-J||L-7|L7||L-7LL--JF--JF---JLJ||||FJLJF|L-7FJL7||F--7||LL7-7L7LF-7LJJ.. 113 + FF7.||JF-7JL-J||F7FJ||||L--7LJL--7FJL--7FJF7LJLJ|L7||||F-J|||L7FJ||L-7|L-7||FJFJF7L7JF-7L7F7L-7JF---J|||LLF-JF-JL-7LJLJF-JLJ7|FJ|7LJL-J7JL-7 114 + LLJ7-L-|J.FF--JLJLJFJ|||F--JF7F--JL---7|L7|L----JFJ||LJ|F7|||7|||||F-J|F7|||L7|FJL7|FJFJ7LJ|F7|FJF7F7||L7FJF7L---7|F-7FJF7JJLJJ7L-7FLJ7|7.77 115 + LLLFJ-FJ-FJL---7F-7L7LJ|L7F-JLJF7F7F--JL7||F7F7F7L7|L-7||LJ|L7|L7||L--J|LJ|L7||L-7|LJFJ|F7FJ||||FJ||||L-JL-J|F-7FJLJFJL-JL77FLJJ7.F--7-||FF7 116 + |FJF7.J-FF7FF--JL7L7|F-JFJL--7FJ|||L---7||LJLJ|||FJ|F-JLJF-JFJ|FJ||F---JF7L7|||F7||F7L-7|LJFJ|||L7|||L----7FJL7|L--7L7F7F7L7JJ7LLL-JFLJFF|-J 117 + F|F|J-|--7|-L7F7FJFJ|L7FJ|F--J|7LJ|F-7FJ||F---J|||FJL-7F7L-7L7||FJ|L7F-7|L7|||||LJLJ|F-JL-7L7||L7|LJ|F----J|F-J|F-7L7||LJL-J.L7..L|.LL7-FLJ7 118 + -7-|F7L7J|F7|LJLJ7L7L7LJF7L7F7L7F-J|JLJFJ|L-7F7|||L-7FJ|L--JFJ|||FJ|LJFJL7LJ|||L-7F-JL-7F7L-JLJFJ|F-J|F----JL-7||FJFJ|L-7F7.F.|-7-|-LJJF-7|| 119 + ||JL||FJFLF--------JFJF-JL-J||FJ|F7L--7L-JF-J|||LJF-JL7L---7|.LJ|L-7F-JF7L-7LJ|F-JL-7F7LJL---7|L7||F-JL7F-7F7FJ||L-JFJF7LJL7JLL-77F-7JF-J--- 120 + 7.L-J-L-L7L7F7F7F7F-JFJF-7F7||L7LJ|F--JF7LL7FJLJ-FJF-7L-7F-JL-7FJF-JL--JL7FJFFJL-7F-J|L---7F7L7FJ||L-7FJL7||||FJL--7L7||F--J-JF|JJ|LJ7|JLLJJ 121 + L7.FJJJ|L-7LJLJ||||F-JFJFLJ|||FJLFJL---JL7L|L--7FJFJLL7FJ|F7F-JL-JF------JL-7L7F7|L-7L--7JLJL-JL7||F-J|F7|||||L-7F-JFJ||L---7-JL|77FL|JF7-|. 122 + |L7JL|-L---J-|-LJ||L7FJF7F-J|||F-JF------JFJF-7|L7L--7||FJ||L---7FJF-7F7F7F-JFJ|||F-JF-7L---7F-7LJ||F7LJ||LJ||7FJL-7L-J|F---J-JFL|-F-|LJJ--7 123 + J7L7-7..|.L.---J-LJ-||FJLJF7|LJ|F7L---7F7FJFJFJ|FJF-7|||L7|L7F7FJL7|FJ|LJ|L-7|FJLJL7FJFJF---JL7L7FJLJL7FJ|F-JL7L7F7L--7|L-77L7FF7|.J7LFJL7FJ 124 + FF7|7L7-|.|FJL7FFJ|.LJL--7|LJF-J|L7F-7LJ|L-J7L-JL7|FJ|||F|L7|||L7F||L7|F-JF7||L7F--JL7L7L-7.F-JFJL7F7FJL-JL7F7|JLJ|F--JL--JJJ--F7|FL7|LF-FJJ 125 + F|FFJ7LL--F7F--.|F7F-----JL7FJF7|FJL7L-7L---7F---J|L-J||FJFJ||L-JFJ|7LJL7FJLJL-JL7F--J||F-JFJF7L-7LJ|L-7F--J||L--7|L77LL-|J-|F-7LJ7.L7|L-7FJ 126 + LLJL777FJLLJJ7|LFJ|L------7||FJ||L7FJFFJF7F7||F--7|FF-J|L7L7||F7-L7|F---JL--77F--J|F---JL--JFJ|F7L7FJF7||F-7||F7FJ|FJJLJ.L|.L7.|J|L|JFJ7F.77 127 + J.7J777L-J.|FJ-LL7L-------J||L7LJFJL-7L7|LJ||||F-JL7L-7L7|FJ|LJ|F-J|L-7F7F-7|FJF7FJL-7F-7F7FJ.||L7|L7|||LJFJ||||L7LJJJ.|.JJ|7L-F.|.J-7-|JFJ7 128 + FFJ|FJ-|..FJ7|.|L|F-7F---7FJ|FJLFJF7FJFJL7.LJLJ|F-7|F7|FJ|L7|F-JL-7|F-J||L7||L-J||JF-JL7||||F7LJ7LJ-LJ|L-7L-J|||FJJJ|LF77|7F77J|L77L7JFJ-FJ| 129 + L|.F|-LJ.FJF7LJJ|LJFJ|.F-J|||L-7|FJLJFJF7L--7F-JL7|||LJL7L7||L-7JJLJL7FJL7|LJFF-JL7L7F7||||LJL--7-LF--JF-JJ-FJ||L7-LL7|L-|-JJ7F|J.7.-77|F|JJ 130 + FJ-7.-7--|FL--7F|.|L-JFJF7|FJF7||L7-FJFJ|F--JL-7FJLJ|F-7L7||L--JFFFJF||-FJ|FF-JF7FJ|LJ||LJL7F---JJ|L---J7|77L-JL-J77|J|7LL77LJ|.|-|F|.F-JJ|. 131 + |JJFJJ.FLL.|.LL-JFF7|LL7|LJ|FJ||L7|FJFJFJL--7F-J|7.L||F|FJ|L--7JJ-L-LLJJL7|FJF-J||F7JFJL7F-JL7JL|.7LF|-LJ-7-FJJLL|.7JLLJ7.F7-FF77-LF|FFJ-777 132 + ||JL7|F-JLF77J|.L-.F-F-J||FJ|7LJ7||L7|FJF-7FJ|F7L-7.LJ-||FJF-7|.|JJ.L|7LL|||FJF-JLJL7|F7|L-7FJJ7F-|--JFL|LL7L|F-FF7L77L7--LF7LLF|JFL|7|--7JJ 133 + JJ--J7-L-7JL|J|-..7|FL--J-L7|7J|FJ|FLJ|FJFJ|7LJ|F-J-7F-J|L7|-LJ-|J|7F|--LLJLJFJF-7F-JLJ||F-JL7-L--L-JL|.7FLJF||.-JJ7.|JL|.LJJ.F|.F7LF-J.FJ.. 134 + .|L-J|7|L7.|L-J.LJLJLJL|L||LJ7-LL-J-LLLJ7L7L7L|LJ.|7F|F7|JLJFL|.F.F-LLJ-LLLLJL7|FJL---7LJL-7FJJ.L77.F7|FL-JL|-J7|JF7F|7.F7LJ.--.F||LL.--F-|7 135 + .-7J7LF7-|--JLF-.|7.FFFJF-FJL|F||L77L7|FJ-L-JF|J|-|-FJ|LJ|LL7-FLL.--7F-7.|7|.LLJL7F--7|||LFJ|J.|7FF-J-J7JL.||||-LL|JLJL|.J.LF.F7JL7|L|J.|.|L 136 + |FJ.|.|--.LJJF-LFJJ7FLJ.7LJJF|-|J||7FJJF7F||.||.-7LFL-JJL-F.F.-JL.J-77|77.LL-7|-|||JLLJ-7-|FJJ7.L.|FJ-||LL-F-7F-77FJL.FL7J77F7FJJ.F--JJ-J7FJ 137 + F--J..L-|FF.LFLL.|J-7J7F--|JL7|LL7.F|F-LJF|77||FL--7J|JL.L|7F-.L|7-F.--JL77FLL7|F||J7|LL|.LJ|L.77.-|.|L7F-.|LLF7|-77|.JJ|.F-JL|JFLF|F7|7F7J| 138 + 7|FJ.|.F|--J.F7L7JL-J.-FF-77.LF7|JF-J77FL|L-7J.F.L-JL-.|.7-|..7|.|||.|F--FFJJ.F7LLJF-|-.LFJJ||F|FF7|-|-|7F-|JJ.F77FF--7.LL|-JFLJL-L7|J-FF-F7 139 + L7J.F|-7|J|-F|7L-77-L-7LL7FJF.J-|-----LJ-J||J7LF77|.FF-7|J-|F7.J-|7||77--7|||.L|.LL|-J.7-||.L-L7L|-7JL-||J-J.FFFL7LJ-L|-FJ.LF|7FJ--J|77L7.|| 140 + FJ-L--7J--J-LL--LL77-LL.L7J.JJJJL-|J..J----7L-JL|-J-|J-LJF-|.L-LJ..|JL-JLLLJJJ--7LJL-J.|L--FFJ.|JL-J.J-L|---F--|L|..7.L|.F|L-J--JJ.-.FJLL7JJ
+121
2023/day10/part1.ts
··· 1 + export function answer(input: string): number { 2 + const m = input.split("\n").map((l) => l.split("")); 3 + console.log(`map: ${m[0].length}x${m.length}`); 4 + 5 + const mainLoop = findMainLoop(m); 6 + 7 + return Math.floor(mainLoop.length / 2); 8 + } 9 + 10 + type Dir = "N" | "S" | "E" | "W"; 11 + const dirs: Dir[] = ["N", "S", "E", "W"]; 12 + 13 + type Map = string[][]; 14 + type Coord = { x: number; y: number }; 15 + type Path = [Coord, Coord, ...Coord[]]; 16 + 17 + const findStart = (m: Map): Coord => { 18 + for (const [y, row] of m.entries()) { 19 + for (const [x, c] of row.entries()) { 20 + if (c === "S") return { x, y }; 21 + } 22 + } 23 + throw "no start?!"; 24 + }; 25 + 26 + const findMainLoop = (m: Map): Path => { 27 + const start = findStart(m); 28 + 29 + const paths: Path[] = new Array(4) 30 + .fill(null) 31 + .map((_, i) => [start, move(start, dirs[i])]); 32 + 33 + for (const [i, pathStart] of paths.entries()) { 34 + const path = followPath(m, pathStart); 35 + console.log(i, path); 36 + if (isLoop(m, path)) return path; 37 + } 38 + throw "did not find main loop"; 39 + }; 40 + 41 + const possibleDirs = (m: Map, c: Coord): Dir[] => { 42 + switch (m[c.y][c.x]) { 43 + case "|": 44 + return ["N", "S"]; 45 + case "-": 46 + return ["W", "E"]; 47 + case "L": 48 + return ["N", "E"]; 49 + case "J": 50 + return ["N", "W"]; 51 + case "7": 52 + return ["S", "W"]; 53 + case "F": 54 + return ["S", "E"]; 55 + case ".": 56 + case "S": 57 + default: 58 + return []; 59 + } 60 + }; 61 + 62 + const dirFromCoord = (curr: Coord, target: Coord): Dir | null => { 63 + if (sameCoords(move(curr, "N"), target)) return "N"; 64 + if (sameCoords(move(curr, "S"), target)) return "S"; 65 + if (sameCoords(move(curr, "E"), target)) return "E"; 66 + if (sameCoords(move(curr, "W"), target)) return "W"; 67 + return null; 68 + }; 69 + 70 + const isInBounds = (m: Map, c: Coord): boolean => 71 + c.x < m[0].length && c.y < m.length; 72 + 73 + const sameCoords = (c1: Coord, c2: Coord) => c1.x === c2.x && c1.y === c2.y; 74 + const isLoop = (m: Map, p: Path) => { 75 + const next = nextStep(m, p); 76 + if (next === "end") return false; 77 + return sameCoords(next, p[0]); 78 + }; 79 + 80 + const move = ({ x, y }: Coord, d: Dir): Coord => { 81 + switch (d) { 82 + case "N": 83 + return { x, y: y - 1 }; 84 + case "S": 85 + return { x, y: y + 1 }; 86 + case "E": 87 + return { x: x + 1, y }; 88 + case "W": 89 + return { x: x - 1, y }; 90 + } 91 + }; 92 + 93 + const nextStep = (m: Map, p: Path): Coord | "end" => { 94 + const last = p[p.length - 1]; 95 + const secondToLast = p[p.length - 2]; 96 + const dir = possibleDirs(m, last).filter( 97 + (d) => d !== dirFromCoord(last, secondToLast), 98 + ); 99 + if (dir.length !== 1) return "end"; 100 + return move(last, dir[0]); 101 + }; 102 + 103 + function followPath(m: Map, path: Path): Path { 104 + let curr: Coord | "end" = path[1]; 105 + do { 106 + curr = nextStep(m, path); 107 + if (curr === "end" || isLoop(m, path)) break; 108 + path.push(curr); 109 + } while (!isLoop(m, path) || !isInBounds(m, curr)); 110 + 111 + return path; 112 + } 113 + 114 + if (import.meta.main) { 115 + const input = ( 116 + await Deno.readFile("input").then((bytes) => 117 + new TextDecoder().decode(bytes), 118 + ) 119 + ).trim(); 120 + console.log(answer(input)); 121 + }
+13
2023/day10/part2.ts
··· 1 + export function answer(input: string): number { 2 + console.log(input); 3 + return 42; 4 + } 5 + 6 + if (import.meta.main) { 7 + const input = ( 8 + await Deno.readFile("input").then((bytes) => 9 + new TextDecoder().decode(bytes), 10 + ) 11 + ).trim(); 12 + console.log(answer(input)); 13 + }
+138
2023/day10/puzzle.md
··· 1 + \--- Day 10: Pipe Maze --- 2 + ---------- 3 + 4 + You use the hang glider to ride the hot air from Desert Island all the way up to the floating metal island. This island is surprisingly cold and there definitely aren't any thermals to glide on, so you leave your hang glider behind. 5 + 6 + You wander around for a while, but you don't find any people or animals. However, you do occasionally find signposts labeled "[Hot Springs](https://en.wikipedia.org/wiki/Hot_spring)" pointing in a seemingly consistent direction; maybe you can find someone at the hot springs and ask them where the desert-machine parts are made. 7 + 8 + The landscape here is alien; even the flowers and trees are made of metal. As you stop to admire some metal grass, you notice something metallic scurry away in your peripheral vision and jump into a big pipe! It didn't look like any animal you've ever seen; if you want a better look, you'll need to get ahead of it. 9 + 10 + Scanning the area, you discover that the entire field you're standing on is densely packed with pipes; it was hard to tell at first because they're the same metallic silver color as the "ground". You make a quick sketch of all of the surface pipes you can see (your puzzle input). 11 + 12 + The pipes are arranged in a two-dimensional grid of *tiles*: 13 + 14 + * `|` is a *vertical pipe* connecting north and south. 15 + * `-` is a *horizontal pipe* connecting east and west. 16 + * `L` is a *90-degree bend* connecting north and east. 17 + * `J` is a *90-degree bend* connecting north and west. 18 + * `7` is a *90-degree bend* connecting south and west. 19 + * `F` is a *90-degree bend* connecting south and east. 20 + * `.` is *ground*; there is no pipe in this tile. 21 + * `S` is the *starting position* of the animal; there is a pipe on this tile, but your sketch doesn't show what shape the pipe has. 22 + 23 + Based on the acoustics of the animal's scurrying, you're confident the pipe that contains the animal is *one large, continuous loop*. 24 + 25 + For example, here is a square loop of pipe: 26 + 27 + ``` 28 + ..... 29 + .F-7. 30 + .|.|. 31 + .L-J. 32 + ..... 33 + 34 + ``` 35 + 36 + If the animal had entered this loop in the northwest corner, the sketch would instead look like this: 37 + 38 + ``` 39 + ..... 40 + .S-7. 41 + .|.|. 42 + .L-J. 43 + ..... 44 + 45 + ``` 46 + 47 + In the above diagram, the `S` tile is still a 90-degree `F` bend: you can tell because of how the adjacent pipes connect to it. 48 + 49 + Unfortunately, there are also many pipes that *aren't connected to the loop*! This sketch shows the same loop as above: 50 + 51 + ``` 52 + -L|F7 53 + 7S-7| 54 + L|7|| 55 + -L-J| 56 + L|-JF 57 + 58 + ``` 59 + 60 + In the above diagram, you can still figure out which pipes form the main loop: they're the ones connected to `S`, pipes those pipes connect to, pipes *those* pipes connect to, and so on. Every pipe in the main loop connects to its two neighbors (including `S`, which will have exactly two pipes connecting to it, and which is assumed to connect back to those two pipes). 61 + 62 + Here is a sketch that contains a slightly more complex main loop: 63 + 64 + ``` 65 + ..F7. 66 + .FJ|. 67 + SJ.L7 68 + |F--J 69 + LJ... 70 + 71 + ``` 72 + 73 + Here's the same example sketch with the extra, non-main-loop pipe tiles also shown: 74 + 75 + ``` 76 + 7-F7- 77 + .FJ|7 78 + SJLL7 79 + |F--J 80 + LJ.LJ 81 + 82 + ``` 83 + 84 + If you want to *get out ahead of the animal*, you should find the tile in the loop that is *farthest* from the starting position. Because the animal is in the pipe, it doesn't make sense to measure this by direct distance. Instead, you need to find the tile that would take the longest number of steps *along the loop* to reach from the starting point - regardless of which way around the loop the animal went. 85 + 86 + In the first example with the square loop: 87 + 88 + ``` 89 + ..... 90 + .S-7. 91 + .|.|. 92 + .L-J. 93 + ..... 94 + 95 + ``` 96 + 97 + You can count the distance each tile in the loop is from the starting point like this: 98 + 99 + ``` 100 + ..... 101 + .012. 102 + .1.3. 103 + .234. 104 + ..... 105 + 106 + ``` 107 + 108 + In this example, the farthest point from the start is `*4*` steps away. 109 + 110 + Here's the more complex loop again: 111 + 112 + ``` 113 + ..F7. 114 + .FJ|. 115 + SJ.L7 116 + |F--J 117 + LJ... 118 + 119 + ``` 120 + 121 + Here are the distances for each tile on that loop: 122 + 123 + ``` 124 + ..45. 125 + .236. 126 + 01.78 127 + 14567 128 + 23... 129 + 130 + ``` 131 + 132 + Find the single giant loop starting at `S`. *How many steps along the loop does it take to get from the starting position to the point farthest from the starting position?* 133 + 134 + To begin, [get your puzzle input](10/input). 135 + 136 + Answer: 137 + 138 + You can also [Shareon [Twitter](https://twitter.com/intent/tweet?text=%22Pipe+Maze%22+%2D+Day+10+%2D+Advent+of+Code+2023&url=https%3A%2F%2Fadventofcode%2Ecom%2F2023%2Fday%2F10&related=ericwastl&hashtags=AdventOfCode) [Mastodon](javascript:void(0);)] this puzzle.
+18
2023/day10/test.ts
··· 1 + import { assertEquals } from "https://deno.land/std@0.208.0/assert/mod.ts"; 2 + import * as p1 from "./part1.ts"; 3 + import * as p2 from "./part2.ts"; 4 + 5 + Deno.test("part1", () => { 6 + // ..F7. 7 + // .FJ|. 8 + // SJ.L7 9 + // |F--J 10 + // LJ... 11 + const examples = ["..F7.", ".FJ|.", "SJ.L7", "|F--J", "LJ..."].join("\n"); 12 + assertEquals(p1.answer(examples), 8); 13 + }); 14 + 15 + // Deno.test("part2", () => { 16 + // const examples = ["abc", "def"].join("\n"); 17 + // assertEquals(p2.answer(examples), 42); 18 + // });